Kinematic Coupling / Rigid Body with Moment load having higher magnitude

Hello All,
I am new to PrePoMax and CalculiX. I am trying to simulate disc as shown in picture below.


Disc is fixed at nodes at peripheral surface. A Rigid Body is created with reference point at center and referred to nodes at bolt holes.
A moment load is applied at reference point.

NLGeom is switched on.

My query is as follows:
When I use a moment value of smaller magnitude (~10Nmm) the solution converges without any problem. But when I change magnitude of moment to (~10000 Nmm), the solution is not converging at all.

Could anyone guide me in that case?

Thanks in advance.

If there’s no plasticity then geometric nonlinearity causes non-convergence. It can be the case when loads are too high (physically unrealistic or just entering levels too unstable for Newton-Raphson method to converge - e.g. bifurcation). Check the deformation of the disc at lower loads (displacements, strains and deformed shape with true scale) to see what happens with it. If the disc is made of rubber or something like that and supposed to deform significantly at not so high loads then you should use a different material model - hyperelasticity.

I have used linear elastic material ( E=210000MPa and nu=0.3)

I have simulated exactly same problem using abaqus and you can see the deformation magnitude in picture below.

As you can see defomation is really small.

Can you share the .pmx file ? The best way to compare with Abaqus is to export the .inp file from PrePoMax, modify it to fit Abaqus syntax and submit there. Did you do that or just recreated the model in Abaqus ?

As a new user I am not able to upload files here. Is there any other way to send you those files.

I have used same mesh in abaqus and recreated the load and boundary conditions.

You can use some hosting website like WeTransfer, Dropbox or Google Drive and paste the link here.

Here is a sharing link

https://drive.google.com/drive/folders/1XrOT9MrNZkUrDQZ3NM4Eh0MexeggepbX?usp=sharing

It’s blocked. You have to set access to “Anyone with the link” before copying the link.

Ok. I have given you access.

I submitted the input file exported from your PrePoMax model in Abaqus and it converged very well there:

abq conv

CalculiX struggles a lot more:

ccx conv

To help him, you can try using prescribed rotation instead of torque.

Those membrane elements are there to capture the surface stress more accurately ? Maybe try removing them for now.

Yes, membrane elements were created to capture surface stress. I quickly tried now by deleting membrane elements and to surprise it converged like a charm. I used same moment load.

If membrane elements are causing problem, is it because of formulation in CalculiX? Is it due to some kind of locking of elements at higher load?

Thanks for your quick help and guidance!!

Membrane elements, like all 1D and 2D elements in CalculiX, are expanded into solid elements. This may cause some issues but usually only with accuracy or overconstraint. Membrane elements in CalculiX work like shells but they also have hinges at their nodes. Maybe try with shell elements instead but this approach might be tricky in CalculiX due to the aforementioned expansion.

1 Like

Using membrane elements in my experience, is really hard in CalculiX. But in your case, I would think this could be done. What if you remove the membrane elements at the connections to the rigid body? Or try to define a rigid body without the nodes of membrane elements?

3 Likes

The nodes are shared but you are right - removing membrane elements (green) from the area of rigid body constraint helps:

4 Likes

membrane element can not sustain bending, however the screenshot shown it has layered trough thickness, and it may the source of problem but i did not check further.

I was curious about this approach, and I have given it a try.
It works for me including the nodes on the rigid body but thickness of the membrane layer had to be small. It also accepts some offset. If not, there are some negative Jacobians.

NLGEOM=ON is never ending but I’m not sure why. Very slow convergence going back and forth continuously. Displacement correction is very small (10-6). That’s something local.
Maybe the fact that my membranes are quadratic do not help. Midside nodes mmmmh …maybe membrane midside nodes are flapping here.

With NLGEOM=OFF it has converge fine with thickness <1% and an offset of 0.5.
Questions: Is it possible to see the thickness of the expanded shell elements on the result?

Makes sense. The expanded elements shouldn’t interfere with underlying solids.

Maybe some adjustment (or even removal) of this criterion via *CONTROLS would help.

It would be surprising if it didn’t converge without NLGEOM as there’s pretty much nothing left to prevent the convergence here.

You can set Output to 3D in Field output —> Element output.

Does using membrane elements really help?

Thanks.
I don’t think Output=2D should be the default option.

“If OUTPUT=2D the fields in the expanded elements are averaged to obtain the values in the nodes of the original 1d and 2d elements. In particular, averaging removes the bending stresses in beams and shells. Therefore, default for beams and shells is OUTPUT=3D”

-ccx Manual.

Yes, it can be beneficial in some cases. Especially for fatigue analyses. This way we reduce errors due to extrapolation from integration points to nodes of solid elements and sometimes can even use just the covering elements themselves (in fatigue simulation software). Abaqus has a nice feature for that - skin reinforcements. You just select the faces of a solid part and assign a shell or membrane section to them while Abaqus takes care of the rest, creating a layer of such elements.

Default for shells is 3D. For other 2D elements, it’s 2D.

1 Like