Add FEniCS as a solid participant for elastic-tube-3d#222
Add FEniCS as a solid participant for elastic-tube-3d#222IshaanDesai merged 22 commits intodevelopfrom
Conversation
|
THIS ERROR IS NO LONGER SEEN tutorials/elastic-tube-3d/solid-fenics/solid.py Lines 13 to 18 in cddd741 and the clamped boundary is defined in FEniCS as: and the constraint of zero displacement is applied in the following way: Resolved in a later commit. |
Co-authored-by: Benjamin Rodenberg <[email protected]>
|
This pull request has been mentioned on preCICE Forum on Discourse. There might be relevant details there: |
BenjaminRodenberg
left a comment
There was a problem hiding this comment.
I think the case is overall working. I'm a bit concerned about the results compared to the CalculiX solver, but not sure if this is in scope of this PR.
| <use-mesh name="Fluid-Mesh-Faces" from="Fluid" /> | ||
| <write-data name="DisplacementDelta" mesh="Solid-Mesh" /> | ||
| <read-data name="Force" mesh="Solid-Mesh" /> | ||
| <watch-point mesh="Solid-Mesh" name="Tube-Midpoint" coordinate="0.0;0.005;0.025" /> |
There was a problem hiding this comment.
Do you want to generally keep this watchpoint or did you just introduce it for verification of the results? Please add an image of the results to the README.md of this case similar to https://github.com/precice/tutorials/tree/master/perpendicular-flap#post-processing. This helps a lot when releasing and checking the cases. Please also provide a script (you can probably just use a modified version of https://github.com/precice/tutorials/blob/master/perpendicular-flap/plot-all-displacements.sh).
There was a problem hiding this comment.
I already added a script to this PR. Here is the plot that I created:
The circumferential displacement is (for both solid solvers) negligible as expected. The radial and axial displacement also looks good (as far as I can judge here...). What worries me a bit is the large difference between the CalculiX and the FEniCS case. Do you also observe this? It might also be a problem with my system, because I did not update CalculiX or the adapter for quite a while.
There was a problem hiding this comment.
What worries me a bit is the large difference between the CalculiX and the FEniCS case. Do you also observe this? It might also be a problem with my system, because I did not update CalculiX or the adapter for quite a while.
I am aware that there is a large difference in the results of CalculiX and FEniCS. I think this is the case because of the choice of the elements and also the solvers in CalculiX and FEniCS. The CalculiX participant has C3D10 elements. For the FEniCS participant we use the Cylinder function to construct the geometry. The FEniCS version we use offers very little control over the type of elements we can have, especially when we use in-built geometry constructing functions. In FEniCS-X there is greater control over the choice of elements.
I think we should not worry too much about having the same results with CalculiX and FEniCS for this case as it is a complex case which also takes a long time to run. We can present this tutorial merely as a case to showcase the 3D functionality.
There was a problem hiding this comment.
I agree. It's already good to have an example for 3D the disagreement between FEniCS and CalculiX is a different story. Can you document it in an issue and also add the possible reasons you mentioned above?
…ials into add-fenics-elastic-tube-3d
BenjaminRodenberg
left a comment
There was a problem hiding this comment.
The disagreement between CalculiX and FEniCS should be documented in an issue. Rest is good to go 👍


This PR adds FEniCS as a solid participant to the
elastic-tube-3dcase.