Page 1 of 1

NodeTriangleConstraintList

PostPosted: Mon Apr 23, 2018 2:16 pm
by MZecchini
Hi,

I'm having some issues with the ConstraintModel and the NodeTriangleConstraintList: I created a simple model where a steel slab should shift on another one, using the NodeTriangleConstraintList to describe the interaction between the surfaces. The lowest surface of the bottom body cannot translate nor rotate.

If the bodies are both rigid, the simulation works.
If only the top body is rigid, the simulation runs but it gives good results only when the MaximumTimeStep is very low and the density of the steel is high (more than 60 g/cm3).
If the top body in not rigid, the simulation runs but the results are all zeros.

Furthermore, I don't understand why the simulation runs only when the surface of the top body is the Slave and the one of the bottom body is the Master: since I apply a displacement on the top body, shouldn't it be the Master? If I try to switch them I get a Fatal Error 11 "Exception type: Segment violation".

Is there something wrong in my model or am I missing something?

Thanks, Michele

Re: NodeTriangleConstraintList

PostPosted: Mon Apr 23, 2018 6:17 pm
by zhouxinwei
For the case where only the top is rigid, it looks like a stability issue. The penalty stiffness 1e13 dyn/cm could be too high, try to reduce it and run again.

For the case where the top body in not rigid, the results are zero because the load is not applied correctly. First, the node list Top2Node is not defined; second, "All" is needed to apply the loading to all the nodes in the node list.

The segmentation fault occurs after the simulation finishes, so the simulation should give the results. We will fix the error.

Re: NodeTriangleConstraintList

PostPosted: Tue Apr 24, 2018 1:25 pm
by MZecchini
Thanks for your reply,

Lowering the penalty stiffness worked on the case where the top body is rigid.

About the other case, when both the bodies are not rigid, the node list Top2Nodes is defined inside the TriangFaceList T2 (around line 90); I applied the load to all the nodes of the top body but the result didn't change too much: now instead of all zeros I have flat values that don't change in time, while they should since i'm applying a velocity. Lowering the penalty stiffness didn't work in this case.

I attached the new Run file and the History files of the two bodies.

Best,
Michele

Re: NodeTriangleConstraintList

PostPosted: Thu Apr 26, 2018 12:23 am
by zhouxinwei
In the input, the bottom nodes from the top prism are both in the applied velocity history, and constrained in the NodeTriangleConstriantLIst as slave. This means these nodes are prescribed both by the velocity loading and master surface, which is not correct.