Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
BenjaminRodenberg opened this issue Mar 27, 2021 · 5 comments · Fixed by #250
Closed

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

BenjaminRodenberg opened this issue Mar 27, 2021 · 5 comments · Fixed by #250

Comments

@BenjaminRodenberg
Copy link
Member

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
@IshaanDesai
Copy link
Member

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: Using a higher order finite element mesh is problematic calculix-adapter#55. A new mesh needs to be generated while changing the elements and only changing the name in the .msh file is not sufficient.

@AndresPedemonteFIUBA
Copy link
Contributor

AndresPedemonteFIUBA commented Jan 22, 2022

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

@BenjaminRodenberg
Copy link
Member Author

BenjaminRodenberg commented Jan 24, 2022

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.

@AndresPedemonteFIUBA
Copy link
Contributor

@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

@MakisH
Copy link
Member

MakisH commented Nov 21, 2022

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
4 participants