Hi, I am going through the tutorial series by FEAnalyst on YouTube and I have run into an issue with the chain link tutorial.
First issue, I am not able to get the mesh refinement to work. I have applied the local mesh refinements, however, it does not seem to be solving with the refinements. I do not see any errors when I am solving for the mesh.
Additionally, I attempted to solve the simulation with this coarser mesh and it solves with failures. When I check the results, it seems as if the force is applied in the incorrect direction because the two components move away from each other.
Please share the .pmx file. You can try reducing the contact stiffness and even replacing force with prescribed displacement if it still doesn’t work. Otherwise, the solver may struggle with force-controlled contact problem having initial rigid body motion before contact is properly established. Sometimes it works in CalculiX and sometimes doesn’t. It may also depend on the CalculiX version.
I had a quick go at this and have attached my attempts for your entertainment. One suggestion is to use position control -rather than force control (at least in the first instance).Often this appears a more stable approach to deal with contact analysis.
One question I like to ask my learned friends in this community is one about the use of the “NLgeom” switch in contact analysis like this. I thought all contact analysis would be non linear?? I am surprised these analysis even runs with non linear affects switched off, I imagined the contact definition may have force the analysis to be non linear. What is the validity of a contact analysis with NLgeom tuned off?
Those are different kinds of nonlinearities. Contact or plasticity already make the analysis nonlinear, regardless of Nlgeom. With Nlgeom you have an additional source of nonlinearity and it often leads to non-convergence in CalculiX. Of course, geometric nonlinearity might be needed in some problems with large deformations/rotations, instabilities, load stiffening and so on.
The simulation solves with the prescribed displacement, thank you for the recommendation.
I have shared the model with the force load and the prescribed displacement if you would like to review still and give me any ideas on why the model isn’t solving with the force applied. Thanks!
How are PrePoMax files storing the geometry and mesh when they are shared? I was able to open the model you shared but I am not able to edit the mesh or view the original geometry in the Geometry tab, but I am able to solve and review the results in the Results tab.
Am I able to edit this mesh or add more to the geometry of this file to compare to the original results if I wanted to?
That’s actually because I used mesh created in an old version of PrePoMax and imported to the new one. In such a case, there’s no geometry (just the imported mesh) so the Geometry tab is empty. You can’t edit this mesh too, because it has no associated geometry.
You would have to generate a similar mesh in the new version of PrePoMax where local refinement with Netgen doesn’t work so well. Tetrahedral Gmsh algorithm should work better.
I was able to get the mesh to refine in the area of contact using the Tetrahedral Gmsh, but now it is propagating through the entire top portion of the components.
But this case is tricky because depending on the mesh it may fail to establish contact leading to initial RBM and non-convergence when force control is used instead of displacement control.
Negative jacobians are usually due to enabled adjustment in tie constraints or contact pairs.
I tried splitting the faces and the bodies and re-meshing. The only way that I could get the mesh to refine in this area was to use the tetrahedral Gmsh parameter, but it created a mesh that has a single node at the point of contact. This has greatly impacted the results. Is there a better way to mesh this to get more accurate results in the latest version of PrePoMax?
Thanks for the tip! This fixed the meshing issue, but now I am running into a new issue with the solve. It appears I am running into some RBM concerns. Do you have any tips to fix this issue?
The best (the most reliable) way would be to use prescribed displacement adjusted to cause the desired reaction force level (a few iterations might be needed). But you could also try adding soft springs in that underconstrained direction.
With some levels of mesh refinement (such as in my tutorial) this won’t be necessary (so you can try forcing a similar mesh pattern at the interface), but otherwise the solver may struggle with this RBM.
It’s also common to use adjustment in contact, but it’s unlikely to help here. Instead, you could also use two steps - the first one with prescribed displacement (to establish contact) and the second one with the actual force load. See the CalculiX forum:
I added soft spring in x axis and used automatic step incrementation and it converged ok. I slightly seperated the parts (0.01mm) so i could monitor the contact progress.
It takes a while to converge. As mentioned above, I would recomend position control with this type of analysis and monitor the load vs displacement output. Convergence is noramally
Abaqus has very useful contact and step (automatic) stabilization for such cases. I even asked Guido if this could be implemented, but they avoid it in their aerospace applications. One just needs to carefully check the results and make sure they aren’t invalidated by such approaches. That also applies to soft springs.
What is the purpose of the soft spring in this scenario? Is it to help prevent motion away from the contact, but it is a very minimal stiffness so the overall results will not be affected?
Yes, soft springs (sometimes called air hooks) are commonly used to prevent RBMs by introducing a small stiffness to make the stiffness matrix non-singular, enabling the solution of a static problem. This is essentially a very compliant support. Its stiffness has to be as small as possible so that the analysis converges, but the forces in the springs are negligible compared to the expected average forces in the model.
Some software such as SolidWorks Simulation can even add them automatically.