Probably a bug - shell to solid rigid body constraints + contact fails

By trying to connect a shell and solid plate with rigid body constraints and contact between these parts, my simulation failed.
After further failing simplifications, i added two independent cylinders to figure out, if there is a general problem when using rigid body constrains between shell + solid and using contact anywhere else in the model. That seems to be the case, because the simulation fails in prepomax when activating the tied contact between the cylinders.
By testing the .inp file with the Calculix-Launcher, the simulation runs successful with contact.
I tested with v2.0.2 and 2.0.3
A.pmx (136.9 KB)

I can confirm that the cylinders themselves converge (with tied contact) and the plates themselves also converge. The analysis fails to converge if all of them are present. This is strange but I don’t think it’s a fault of PrePoMax. It may depend on the CalculiX version and solver. It didn’t converge with ccx 2.21 using PaStiX. What was your version (and solver) where it worked ?

That’s what i mean, the combination off all together doesn’t work.

I tried and failed in prepomax with ccx v.2.21, 2.17 and 2.19 together with pastix, pardiso and spools.

The Launcher uses 2.13 with spools, but somehow i can not use this version direct from prepomax (never tried it before), it alwais fails with the notification:

######## Starting run step number: 1 Increment number: 1 ########

Running command: D:\CL32-win64\bin\ccx\ccx213.exe A
*ERROR in openfile: could not open file A.dat

Job failed - no results exist.

Process elapsed time: 0.255 s

It seems to be a weird CalculiX bug or actually a regression. Try running the exported .inp file in different standalone versions of CalculiX (and with different solvers) to see when it stopped working. You can download old releases of ccx by just changing the number in this link: http://www.dhondt.de/calculix_2.21_4win.zip

Instructions how to run jobs with standalone ccx: Using standalone CalculiX

Then it would be best to create an issue in ccx GitHub repository: Issues · Dhondtguido/CalculiX · GitHub

1 Like

Okay i tested from v2.13-2.17 with the spools solver only. Failing starts from version 2.17. I would be surprised if this haven’t been reported before in the calculix forum .

Edit:
The same error also occurs if both parts are shells.

Edit:
Found this thread

Even though the example runs up to version 2.16, it is not recommended to use this combination in calculix. So now i see it more as a “feature” than a bug that it is no longer working starting from v 2.17 in order to avoid possible incorrect results (If I understand the post correctly).

So it’s okay to use shell + rigid body as long as NLGEOM = OFF (no contact etc.),
and it’s okay to use shells with NLGEOM = ON but without any rigid body constraints.

1 Like

@Gunnar Probably this is another sample of what you mentioned above:
Solving a simple beam implementing a Boundary Condition using Rigid Body Constraint applied in the support: NLGEOM = OFF
Works pretty awesome!

However activating NLGEOM=ON; Did not works well! when combined with Rigid Body Constraint at the support.


Giving a very low Von mises stress.

Considering implementing NLGEOM=ON works well without implementation of Rigid Body Constraint (implement a normal support only TxTyTz=0mm), on the above beam gives nice Von mises stress at the mid span of the beam = 649.3MPa, however the problem I have is, there is a stress concentration at the support = 2369MPa.

Giving the problem is just a simple beam where the maximum stress should occur at the middle of the span, unfortunately the maximum stress occur at the support due to stress concentration of the support at the node. Hopefully if the NLGEOM=ON works well with a combination of Rigid Body Constraint, this high stress at the support maybe gone.

Appreciate could anyone give me some advice how I can avoid stress concentration at the support. Thank you very much.

I think in your example the error means something different. It’s not a convergence issue, it seems you have applied BCs to nodes which are also connected to a rigid body - but then you wouldn’t have received any results. So i think you have corrected this issue afterwards, however it also shows you used nonlinear material. This could be the reason for the lower stress in the middle of the beam.

Edit:
Okay after second reading I understand, it’s just about the high stresses at the beam ends.

Edit

Oh this post confuses me… after you removed the rigid body constraint, did you apply the BC only to one node at each end of the beam? Then you should change it and apply the BC to all nodes of the edges.
A rigid body constraint is not necessary for this.

Edit

zz

Oh this is d? I thought the picture shows the top view of the beam… :man_facepalming:

imagen

What is your deflection? Looks like 7.5m on a 10m beam. Maybe NLGEOM = OFF
is not so awesome and activating NLGEOM has reveal the nonsense of the result.

With NLGEOM=ON Also consider the posibility that your plate could be experiencing lateral buckling.

1 Like

After removing rigid body constraint, I apply BC to all nodes both end of beam using the TxTyTz=0,

.
However the result I got is as I showed on the 3rd result on my previous message: Max VonMisesStress=649.3MPa at midspan and SC=2369MPa at the support. My concern is the SC at the support = 2369MPa.
I am thinking that SC at support will be less if I will use Rigid Body since the element supposed to behave as rigid body and will deform my support less under any applied loads. However the solver stop and did not continue to produce an output (failed!) if I combined NLGEOM=ON with rigid body constraint.

I apologized for making you confused. I am very sorry about that.
Thank you and really appreciate for what you shared and inputs.

Yes you are right.

But analytical solution gives fb=7500MPa clearly the same as the Prepomax output = 7500MPa too, therefore the results is awesome. All case are supported by lateral buckling especially nodes perpendicular to the plane is Tz=0. So there is no chance for lateral buckling.
Rigid body supposed to act like load spreader at the support, if that is so, then the maximum Von mises stress should occur only at the midspan of the beam not in the support. Also I use simple beam only, not fixed support, therefore the stress at the midspan should be the maximum. In NLGEOM=ON, VMS at the support = 2369MPa (bigger than at midspan) no rigid body applied while in NLGEOM=ON with rigid body applied, solver stop, failed!.
I wish that Rigid Body Constraint will also continue to produce an output even if combined with the NLGEOM=ON to rigid body constraint. Since this is very important features of an FEA. Many analysis will require to use Rigid body, RBE2, RBE3, or anything what they call it.

So it’s a shell model loaded and supported like this ?

Did you try solving it as a 2D (plane stress/strain) case ? Or adding one layer of solid elements in the thickness direction and solving it as a 3D solid case to avoid potential issues with rigid body and shells ?

1 Like

Thank you for your reply. Yes Sir Jakub, model is the same as yours. My element division on depth side is 11 element (9.09mmx9.09mm for having Ratio=1:1) as you can see below:

Yes Sir Jakub, I did try 2D (plane stress/strain) case and got Nonpositive_jacobian-1 error due to my plate orientation is -z. After that I try to make a new model to avoid the Nonpositive_jacobian-1 error warning and successfully run the 2D (plane stress/strain) case. Here is what I got from the 2D (plane stress/strain) case:
FOR 2D STRESS CASE:

FOR 2D STRAIN CASE:

I notice that for the 2D STRESS CASE vs 3D CASE; output are very close Although SC at the support did not gone away.

Try with rigid body constraint in 2D case, this way you can also allow for rotations at the supports if you want

But keep in mind that those are all highly simplified models so stress concentrations may occur due to rigid BCs and sharp edges. You would have to model it with part of the wall with fillets, maybe even bolts and so on to make it fully realistic. Unless you just want to have good agreement with the analytical calculation. Then you should follow its assumptions as closely as possible (which in this case could mean beam elements, for instance).

1 Like

Oh. You get it.
Is that the same beam?. Looks short compared to the 100m hight.

Mine looks much longer.

There also looks like there are some mixed properties.

1 Like

No, I used different inputs. Just to show a similar example.

Thank you Sir Jakub, it works now with NLGEOM=ON, with Rigid Body Constraint, 2D Stress.

I am fully agree with you Sir Jakub, in reality to connect this beam it could be needed a plate to connect similar as the base plate, in that case the SC may gone away due to stress distribution will be happened. Even in the case that if we embed this beam element in the concrete, there will be a plate connector like stopper.

Now Rigid body constraint implementing together with NLGEOM=ON is working now at 2D Stress environment. Although SC still at the support, but in this case the results of SC at the support =2504MPa is just a realistic stress due to sharp edges and corners. In which we can ignore it due to corners or sharp edges or due to singularity. In conclusion the governing stress here will be in the midspan=642MPa to 649MPa at Geometric NonLinear Solution.


Deflection at midspan NLGEOM=ON:
image
I think I am very satisfied with the result of analysis. Thank you for your help and advise Sir Jakub.
Thank you also to Sir ANYS and Sir Gunnar for your time and assistance.

I think this is not a PrePoMax bug, so I am closing this topic.

1 Like