8 August 2021 at 17:08 #20143JanBlocked
I want to simulate a tilting actuator that uses an expanding bellows (see picture below). The hyperelastic bellows is connected to the rigid top frame with
BilateralInteractionConstraintand is fixed on the bottom. The node of the bellows uses the BackwardEulerODESolver and LDLTSolver of the caribou plugin and UncoupledConstraintCorrection.
For the node of the rigid top frame the EulerImplicitSolver, ShewchukPCGLinearSolver and UncoupledConstraintCorrection are used. The rigid top frame is constrained so it can only rotate around the z-axis. The flexible bottom frame uses EulerImplicitSolver, SparseLDLSolver and LinearSolverConstraintCorrection. The bottom frame is fixed on the bottom.
The problem is that the
BilateralInteractionConstraintdoes not work properly when the caribou solvers are used for the bellows. Some connection points are drifting apart (see picture) and I don’t know what causes that only some points drift apart.
Picture of the scene:
Jan12 August 2021 at 02:50 #20156jnbrunetModerator
Could you try replacing the
BackwardEulerODESolverof Caribou by a
EulerImplicitSolverof SOFA, but keep the
LDLTSolversolver of Caribou. Does it work? If not, can you replace the
LDLTSolverof Caribou with the
SparseLDLSolverof SOFA. Does it work now?
I’m just trying to determine which component of Caribou makes it fail. This will help me debug the issue.
J-N26 August 2021 at 18:19 #20254JanBlocked
thanks for your response. When using Caribou solvers in the scene independent of the combination the constraints do not work properly. When using the
NeoHookeanMaterialof Caribou with
ShewchukPCGLinearSolver(Preconditioner: SparseLDLSolver) of SOFA it will work for low pressures.
But for now, I’m using the
TetrahedronFEMForceFieldwith the SOFA solvers because it seems that it would be the most stable solution with the constraints described above.
Jan1 October 2021 at 10:32 #204771 October 2021 at 18:32 #20483jnbrunetModerator
Hey @Hugo and @Jan,
Yes, sorry for the late reply rate. I have some time issues these days, but who doesn’t right? ^^
I’ve created an issue here to follow the development. It is on my top priority for caribou, I hope I’ll find some time in the next 2 weeks to look at it. But if someone wants to tackle it (could be a good opportunity to learn about the constraint solving and matrix assembly process in SOFA), that would be awesome. I will of course offer my full support.
- You must be logged in to reply to this topic.