I am currently trying to simulate the Turek-Hron FSI case with OpenFOAM and CalculiX since the tutorial is only available via deal.II.
I’ve created my own mesh for the flap with Gmsh and used this post as a guide.
For OpenFOAM I’ve tried both, the settings from the tutorial and the settings from the above mentioned reference. In addition, I’ve tried to stabilize both of them, but neither worked like I wanted to.
The reference didn’t make it through the first Iterations beacuse OpenFOAM crashed with a
Printstack Error, that’s why I sticked with the tutorial.
Here are my files for the case:
precice-forum-turek.zip (124.0 KB)
For this case my simulation runs until 2.941s, then it surprisingly crashes. The courant number and the residual looks fine, that’s why I’m surprised.
I’ve tried to run the simulation till 2.9s and restart it with a smaller
writeInterval and the
ascii to analyze the results.
Unfortunately this didn’t work because the restarted simulation crashed in the first iteration although I have not changed anything crucial.
Any help is greatly appreciated, thanks!
Note that the case of @Ulrich and the tutorial simulate different scenarios (FSI2 vs FSI3).
Could you please also upload your solver log? That would be more helpful to understand what is going on.
Hi @Makis ,
thanks for your reply!
I’ve checked my solver log again and saw that the residual of the pressure is diverging.
Here are both log files for the last few iterations:
log_CX.log (3.7 KB)
log_OF.log (7.7 KB)
Did you find anything remarkable?
I’ve tried to get the restart to work but unsuccessfully. I don’t know why my simulation runs longer than 2.9s, but when I try to restart it at 2.9s, it won’t run.
I don’t see anything useful in the log files. However, here are a few things to consider:
- One issue could be that the fluid mesh is getting too distorted. Have you checked the quality of the mesh just before it crashes? It can be that cells get too skewed or even too small (essentially collapsing). Different mesh motion solvers could help, but options are limited (and I think in the reference you used, they are using a special mesh motion solver).
- What kind of elements are you using in CalculiX? We recently discovered that it is very easy to get much better results using different types of finite elements: Change C3D8 elements to C3D8I elements in perpendicular-flap solid-calculix by AndresPedemonteFIUBA · Pull Request #250 · precice/tutorials · GitHub
- How do the results compare to Turek-Hron for the times you already have? Plotting the watchpoint (displacement of the tip of the flap) could help. I assume that you get higher displacement than expected, which makes everything worse.
By the way, @DavidSCN’s expertise may be helpful here.
I’m sorry for the delayed response. I was doing a lot of testing on this case and ran from one problem into another.
That was my first guess too, so I tried to get a picture of it but the problem was that the simulation takes up too much storage with a
writeinterval of 0.001 in ascii as well as in binary.
So my next try was to restart the simulation at a previous time to save some storage like I stated before. But this still doesn’t work and I don’t know why because in other cases it works out fine.
I tried using the
C3D8I elements for CalculiX but as you have already predicted, it has only gotten worse. The Simulation crashed after the first few 100 Iterations.
After some research I’ve found this post and tried to copy this FSI2 case but can’t get it to run. Is there any way that I can download the whole case from Github like the tutorials? (I’m not that into Github) At the moment I can only take a look at the code.
For now I would try this FSI2 case to ensure that the error is not with my adapters.
To keep you updated:
In the near future I will run the simulation on a large cluster with a lot of storage.
Therefore I will get the exact timestep where the simulation crashes and can analyze the distortion.
I will post the results so we hopefully can get a better picture of the problem.
Sorry for the late reply. Yes, you can do:
git clone -b nithinadidela-patch-1-Turek-Hron1 https://github.com/nithinadidela/tutorials.git