# Undefinable abort of FSI of a 3D case with Openfoam and Calculix

**URL:** <https://precice.discourse.group/t/undefinable-abort-of-fsi-of-a-3d-case-with-openfoam-and-calculix/930>\
**Category:** Using preCICE\
**Tags:** openfoam, calculix, fsi\
**Created:** [February 17, 2022, 10:07am UTC](https://precice.discourse.group/t/undefinable-abort-of-fsi-of-a-3d-case-with-openfoam-and-calculix/930 "2022-02-17T10:07:01Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![Alina](https://avatars.discourse-cdn.com/v4/letter/a/f14d63/32.png) [@Alina](https://precice.discourse.group/u/Alina)\
**Post date:** [February 17, 2022, 10:07am UTC](https://precice.discourse.group/t/undefinable-abort-of-fsi-of-a-3d-case-with-openfoam-and-calculix/930/1 "2022-02-17T10:07:01Z")

</div>

Hi everyone,

I am calculating a plate mounted over a propeller, as you can see in the picture. For simplification, the plate is fixed on the edges. I want to evaluate the pressure and resulting displacements caused by the propeller.

 ![image](https://global.discourse-cdn.com/free1/uploads/precice/original/2X/8/838aaf36049677e6ee1b9a1a8e82aebaadece25a.png)  
I am using Openfoam in parallel and CalculiX and testet both cases seperately, they work well.  
When coupling with precice, Openfoam calculates the first timestep and aborts after that. I couldn’t find out, which participant is causing the abort.  
I testet the mesh motion in Openfoam before and tested the coupling of Openfoam and CalculiX via precice with the FSI3 Benchmark, both work. Unfortunately, my case is more complex than FSI3, it is 3D, has a rotating AMI and a complex mesh. I included the log-files of both solvers and the precice-config file. Maybe someone has an idea of how I can improve my setup, I am not very experienced with precice.

[log-fluid.out](https://precice.discourse.group/uploads/short-url/mVbb5KWIW83eDuOlfhZViB2DX88.out) (237.9 KB)  
[log-solid.out](https://precice.discourse.group/uploads/short-url/qEu88xngBDCSlkGp7ToNnF1gRzW.out) (9.7 KB)  
[precice-config.xml](https://precice.discourse.group/uploads/short-url/6Lp851Za50dCeyIQfOkgZNDAoc3.xml) (2.6 KB)  
[turek.inp](https://precice.discourse.group/uploads/short-url/udBnwibossk1KIYkOO3kbMqDNxc.inp) (961 Bytes)

Regards,  
Alina

---

<div class="post-metadata">

**Author:** ![Makis](https://yyz2.discourse-cdn.com/free1/user_avatar/precice.discourse.group/makis/32/25_2.png) [@Makis](https://precice.discourse.group/u/Makis)\
**Post date:** [February 18, 2022, 2:08pm UTC](https://precice.discourse.group/t/undefinable-abort-of-fsi-of-a-3d-case-with-openfoam-and-calculix/930/2 "2022-02-18T14:08:04Z")

</div>

Hi @Alina,

I would assume your simulation needs some OpenFOAM feature that the adapter does not support. I don’t have any experience with the rotating Arbitrary Mesh Interface feature. Maybe @JulianSchl has some idea of alternatives here, based on his work.

Do you also face the same problems with fewer parallel ranks? Did you also try with the latest version of the OpenFOAM adapter? (v1.1.0)

---

<div class="post-metadata">

**Author:** ![JulianSchl](https://yyz2.discourse-cdn.com/free1/user_avatar/precice.discourse.group/julianschl/32/692_2.png) [@JulianSchl](https://precice.discourse.group/u/JulianSchl)\
**Post date:** [February 18, 2022, 8:12pm UTC](https://precice.discourse.group/t/undefinable-abort-of-fsi-of-a-3d-case-with-openfoam-and-calculix/930/3 "2022-02-18T20:12:54Z")

</div>

Hi @Alina,

Maybe you could explain how the motion is coupled to OpenFOAM in more detail.  
Do you send the full rotation motion from CalculiX to preCICE or just the relative displacement of a static propeller?  
Is the AMI rotation still performed directly by OpenFOAM or are you trying to couple the whole motion through preCICE?

---

<div class="post-metadata">

**Author:** ![Alina](https://avatars.discourse-cdn.com/v4/letter/a/f14d63/32.png) [@Alina](https://precice.discourse.group/u/Alina)\
**Post date:** [February 19, 2022, 9:30am UTC](https://precice.discourse.group/t/undefinable-abort-of-fsi-of-a-3d-case-with-openfoam-and-calculix/930/4 "2022-02-19T09:30:13Z")

</div>

Hi Julian,

I only couple the plate with preCice. The propeller rotation happens only in Openfoam and I just want to transfer the resulting forces of the pressure that reaches the plate to CalculiX. As I said, I tried the Openfoam setup before with the rotating AMI and a prescribed motion for the plate. Then I modified the boundary conditions in the dynamicMeshDict similar to the FSI3 Benchmark for preCice.

I use the new version of the adaper.

Thanks for your reply!

---

<div class="post-metadata">

**Author:** ![JulianSchl](https://yyz2.discourse-cdn.com/free1/user_avatar/precice.discourse.group/julianschl/32/692_2.png) [@JulianSchl](https://precice.discourse.group/u/JulianSchl)\
**Post date:** [February 20, 2022, 1:59pm UTC](https://precice.discourse.group/t/undefinable-abort-of-fsi-of-a-3d-case-with-openfoam-and-calculix/930/5 "2022-02-20T13:59:28Z")

</div>

Okay,  
as far as I have understood, the issue must not be related to a rotation motion.  
Maybe @Makis or somebody else could assist here (I’m not familiar to CalculiX in particular).

---

<div class="post-metadata">

**Author:** ![Makis](https://yyz2.discourse-cdn.com/free1/user_avatar/precice.discourse.group/makis/32/25_2.png) [@Makis](https://precice.discourse.group/u/Makis)\
**Post date:** [February 20, 2022, 9:39pm UTC](https://precice.discourse.group/t/undefinable-abort-of-fsi-of-a-3d-case-with-openfoam-and-calculix/930/6 "2022-02-20T21:39:21Z")

</div>

@Alina to better understand what is going on, could you maybe upload a short animation of the problem, showing the mesh in ParaView, before the simulation crashes?

---

<div class="post-metadata">

**Author:** ![Alina](https://avatars.discourse-cdn.com/v4/letter/a/f14d63/32.png) [@Alina](https://precice.discourse.group/u/Alina)\
**Post date:** [February 24, 2022, 4:04pm UTC](https://precice.discourse.group/t/undefinable-abort-of-fsi-of-a-3d-case-with-openfoam-and-calculix/930/7 "2022-02-24T16:04:48Z")

</div>

@DavidSCN  
[slurm-fluid.out](https://precice.discourse.group/uploads/short-url/kb6gzSdayIYAjW2m9UH9vykKDFK.out) (593.6 KB)  
[slurm-solid.out](https://precice.discourse.group/uploads/short-url/XA9O8CrC9q0pnWpW5qWIjgua8i.out) (7.8 KB)

---

<div class="post-metadata">

**Author:** ![DavidSCN](https://avatars.discourse-cdn.com/v4/letter/d/c37758/32.png) [@DavidSCN](https://precice.discourse.group/u/DavidSCN)\
**Post date:** [February 24, 2022, 5:39pm UTC](https://precice.discourse.group/t/undefinable-abort-of-fsi-of-a-3d-case-with-openfoam-and-calculix/930/8 "2022-02-24T17:39:56Z")

</div>

@JulianSchl why do you conclude that AMI and the preCICE adapter mesh movement do not interfere? The difference here is that the OpenFOAM adapter works on a different portion of the mesh and according to the log file our current workflow looks as follows:

→ store checkpoint → execute AMI motion → reload checkpoint, but on a different (rotated mesh) 💣

---

<div class="post-metadata">

**Author:** ![JulianSchl](https://yyz2.discourse-cdn.com/free1/user_avatar/precice.discourse.group/julianschl/32/692_2.png) [@JulianSchl](https://precice.discourse.group/u/JulianSchl)\
**Post date:** [February 24, 2022, 6:54pm UTC](https://precice.discourse.group/t/undefinable-abort-of-fsi-of-a-3d-case-with-openfoam-and-calculix/930/9 "2022-02-24T18:54:42Z")

</div>

I was expecting, that the AMI encloses the propeller and not the coupled plate.  
Therefore the mesh coupled via preCICE would not be rotated (only the propeller inside the AMI) or did I get something wrong?

---

<div class="post-metadata">

**Author:** ![Alina](https://avatars.discourse-cdn.com/v4/letter/a/f14d63/32.png) [@Alina](https://precice.discourse.group/u/Alina)\
**Post date:** [February 25, 2022, 7:59am UTC](https://precice.discourse.group/t/undefinable-abort-of-fsi-of-a-3d-case-with-openfoam-and-calculix/930/10 "2022-02-25T07:59:18Z")

</div>

We have two AMIs, one for the propeller to ensure the rotation. This one is not coupled with precice. To enable two different motions, theres is a cellZone around the plate, which is also treated as an AMI. Only the plate is coupled with preCICE.

---

<div class="post-metadata">

**Author:** ![Claudio](https://avatars.discourse-cdn.com/v4/letter/c/7cd45c/32.png) [@Claudio](https://precice.discourse.group/u/Claudio)\
**Post date:** [February 25, 2022, 8:49am UTC](https://precice.discourse.group/t/undefinable-abort-of-fsi-of-a-3d-case-with-openfoam-and-calculix/930/11 "2022-02-25T08:49:42Z")

</div>

Hi @Alina,  
sorry for jumping late into the conversation. Unfortunately, I was also late during your discussion yesterday at the preCICE workshop, you were ahead in the discussion and probably I missed some information. My understanding is that you want to perform the FSI computation on a plate, I’d like to ask you if you would consider using MBDyn as the solver. I’d be interested in simulating things in naval applications, I have some (little) experience in simulating hydrofoils with openFOAM+preCICE+MBDyn and I’d be curious to test also this setup.  
My understanding is that your simulation blows up at some point: my experience might be summarized as follows:

- I generally try to progressively apply the load to the structure. In general it is not enough to start with a developed flow
- always use implicit coupling, and maybe the the order of the solvers has an impact
- check the mesh from time to time to see if and where it deforms too much

If you are interested, I’d like to analyze this setup with you more in detail.  
Claudio

---

<div class="post-metadata">

**Author:** ![DavidSCN](https://avatars.discourse-cdn.com/v4/letter/d/c37758/32.png) [@DavidSCN](https://precice.discourse.group/u/DavidSCN)\
**Post date:** [February 26, 2022, 12:38pm UTC](https://precice.discourse.group/t/undefinable-abort-of-fsi-of-a-3d-case-with-openfoam-and-calculix/930/12 "2022-02-26T12:38:26Z")

</div>

@Alina I just set up a small case using `displacementLaplacian` and the `AMI` solid body rotation mesh motion and it works for me when I solve first for the displacementLaplacian mesh motion and afterwards for the AMI mesh motion (but not the other way around).

It might be worth trying to change this in your settings (put the `plate` and the corresponding displacementLaplacian solver before the `ami` in the `dynamicMeshDict`). I’m not sure if it will finally resolve the issue. If not, what happens if you completely remove one or both AMI mesh motions?

---

<div class="post-metadata">

**Author:** ![Alina](https://avatars.discourse-cdn.com/v4/letter/a/f14d63/32.png) [@Alina](https://precice.discourse.group/u/Alina)\
**Post date:** [March 9, 2022, 8:02am UTC](https://precice.discourse.group/t/undefinable-abort-of-fsi-of-a-3d-case-with-openfoam-and-calculix/930/13 "2022-03-09T08:02:14Z")

</div>

For me it still did not work with the plate before the ami in the dynamicMeshDict. But I managed to run a parallel explicit coupling by using a greater distance between the plate and the ship and a bigger gap for compensation, so the pressure does not blow up. Unfortunately, I won’t be able to put more effort into this project because it will be closed soon.  
Thanks for your inputs and help!
