tutorials icon indicating copy to clipboard operation
tutorials copied to clipboard

perpendicular-flap: Results for CalculiX differ from FEniCS and Deal.II

Open BenjaminRodenberg opened this issue 3 years ago • 4 comments

Problem & some Background

We observed a mismatch between results of the perpendicual flap case when preparing this publication. In the end we used the Deal.II - SU2 and FEniCS - SU2 cases in the publication. They show good agreement. CalculiX - SU2 disagrees with these cases. Our current explanation for this behavior is that the CalculiX case uses C3D8 elements, which should not be used according to the CalculiX documentation (see "...the locking phenomena observed in the C3D8 element...").

Solution

From my current point we should therefore use the "right" elements for CalculiX (no idea which elements are the right ones). Note that this will also require modifications of the calculix-adapter, since up to my knowledge currently only C3D8 and C3D8R elements work (please correct me, if I'm wrong).

Additional Material

For debugging this case we developed a fluid-fake solver that I would like to share in this issue (see fluid-fake.zip). This allows to replace the fluid solver with a simple constant force for quicker debugging. I'm plotting the tip displacement over time. Already this simple setup can be used to show the mismatch of CalculiX and the other two solvers:

plot

Code Versions

  • tutorials: a166efadfe7dbd3231e14897dcbeecebb90ea97e
  • fenicsprecice: v1.0.1
  • precice: v2.2.0
  • pyprecice: v2.2.0.1
  • calculix-adapter: 4635aa87439d154269d7f6141e8684a733f3e68f
  • dealii-adapter: f9c2c65eead05ecea1c2f7a1c7ff48fe5942f930
  • dealii: v9.2.0
  • calculix: did not check this, but I think it should be 2.16

BenjaminRodenberg avatar Mar 27 '21 11:03 BenjaminRodenberg

Some important points to note for this results mismatch:

  • The CalculiX version used in this testing is 2.16
  • The claim that the CalculiX-Adapter needs to be modified to use higher order elements is valid and is also documented in the issue: https://github.com/precice/calculix-adapter/issues/55. A new mesh needs to be generated while changing the elements and only changing the name in the .msh file is not sufficient.

IshaanDesai avatar Mar 29 '21 06:03 IshaanDesai

Since the issue is still open, I'll chime in. It might be worth trying with incompatible mode eight-node brick elements (C3D8I), which are implemented in CalculiX (https://petegustafson.com/CalculiX/ccx_2.15/doc/ccx/node29.html). Quoting: the incompatible mode eight-node brick element is an improved version of the C3D8-element. In particular, shear locking is removed and volumetric locking is much reduced. (...) The C3D8I element should be used in all instances in which linear elements are subject to bending.

EDIT: I decided to try it out, using the fluid-flake solver and its plotter. Check this out:

-CalculiX 2.16 with C3D8 elements (this is the figure provided in Benjamin's fluid-flake.zip file; I ran the case again to check and got the same): flap_ccx

  • CalculiX 2.16 with C3D8I elements (my run): ccx_C3D8I

  • FEniCS (this is the figure provided in Benjamin's fluid-flake.zip file): flap_fenics

As can be seen, results obtained using C3D8I elements are almost the same as those obtained with FEniCS. I have not tried with deal.II.

Minor note: apart from changing TYPE=C3D8 to TYPE=C3D8I, I had to add the DIRECT parameter to the *DYNAMIC keyword in the CalculiX input file to prevent it from changing the timestep size. Otherwise, it would result in an error.

Hope this helps.

Andrés

AndresPedemonteFIUBA avatar Jan 22 '22 22:01 AndresPedemonteFIUBA

Hi @AndresPedemonteFIUBA, thanks for the great input! The experiments really look promising. Could you directly apply the necessary modifications in the tutorial case and open a pull request?

Did you have to modify the CalculiX adapter or did it work out-of-the-box?

Also related: We published a preprint for the preCICE reference paper in the meantime. In Fig.21, you can see a gap between CalculiX and other structure solvers. Ideally we could close this gap by applying your suggestions.

BenjaminRodenberg avatar Jan 24 '22 10:01 BenjaminRodenberg

@BenjaminRodenberg: I just opened the pull request, #250, with a minor explanation of the changes. It works out-of-the-box, no modification of the CCX adapter is required.

Apart from the test with fluid-flake, I also tested the full case (OpenFOAM-CalculiX) and it ran succesfully.

I don't have any of the other structural solvers built, so perhaps someone who has could go ahead and compare the new CCX results with them.

Andrés

AndresPedemonteFIUBA avatar Jan 24 '22 13:01 AndresPedemonteFIUBA

We can close this now, right? Looking also at the figure at the bottom of https://precice.org/tutorials-perpendicular-flap.html, I am not sure what more we can do, it looks reasonably close to me.

I am closing, if anyone disagrees, please reopen.

MakisH avatar Nov 21 '22 19:11 MakisH