I am trying to perform some 3D FSI simulations. I have read through the preCICE website and found the following statements:
for FEniCS: “Currently 3D functionality is experimental in the FEniCS adapter”
for deal.II: “By default, the adapter is built as a 2D example in release mode. If you want to run a 3D example (quasi 2D, meaning that the out-of-plane direction is clamped but we use real cells for the calculation), you can define this when configuring: cmake -DDIM=3 .”
My understanding is that both FEniCS and deal.II have some limitations for 3D FSI (please correct me if I am wrong). Is CalculiX currently the best option for FSI if 3D functionality is required?
There is a principle difference between FEniCS or deal.II on the one side and CalculiX on the other side:
FEniCS and deal.II are finite-element frameworks, where users can build their own CSM solvers.
CalculiX is a complete ready-to-use software.
The FEniCS and deal.II CSM codes that the preCICE team provides are mainly meant as examples. They are not full-feature CSM solvers. There are surely other (and better) FEniCS and deal.II CSM solvers out there.
Thank you! I have another two questions regarding CalculiX:
When coupling OpenFOAM with CalculiX, can I use tetrahedron mesh instead of hexahedron mesh? Does preCICE has any constraint on the type of mesh being used?
Does the preCICE-version of CalculiX support nonlinear geometric deformation?
I come back to this thread because I find “The CalculiX adapter only supports linear finite elements” under the post-processing part of Perpendicular flap case. After testing “NLGEOM=YES“ in ccx and searching in forum, the adapted version of cxx should be able to support nonlinear finite elements. If possible, could you please confirm and rephrase this in the documentation? If I am wrong about this, I hope there is a way to make the adapted ccs support it.
The sentence: The CalculiX adapter only supports linear finite elements is indeed misleading. The NLGEOM keyword is not the problem, because it switches from a linear to a nonlinear solver. Higher order elements like C3D20 are also supported. It is only in that particular setup that first-order elements and a linear solver is used.