A case of FSI with OpenFOAM and CalculiX is stuck without any error in logs

Hi all,

I’m interested in studying the 2D FSI problem of a flap vibrating in the water. That is a very simple structure. OpenFOAM-V2106, preCICE_2.3.0 and CalculiX_2.15 are solvers I use.


Fig.1

Fig.2

Fig.3

However, when I increase the density of solid mesh like Fig.3, my calculations get stuck with out any errors in Fluid.log (7.7 KB) and Solid.log (4.6 KB).

Now what puzzles me most is this in Fluid.log:

—[precice] e[0m Mapping “Forces0” conservative from “Fluid-Mesh-Faces” (ID 0) to “Calculix_Mesh” (ID 2) for dimension 0 with polynomial set to separate
—[precice] e[0m Mapping “Forces0” conservative from “Fluid-Mesh-Faces” (ID 0) to “Calculix_Mesh” (ID 2) for dimension 1 with polynomial set to separate
—[precice] e[0m Mapping “Forces0” conservative from “Fluid-Mesh-Faces” (ID 0) to “Calculix_Mesh” (ID 2) for dimension 2 with polynomial set to separate

Nothing happened after this and the log stopped.

In the previous cases which have same parameters, lower solid mesh density and run successfully, the Fluid.log is like this:

—[precice] e[0m Mapping “Forces0” conservative from “Fluid-Mesh-Faces” (ID 0) to “Calculix_Mesh” (ID 2) for dimension 0 with polynomial set to separate
—[precice] e[0m Mapping “Forces0” conservative from “Fluid-Mesh-Faces” (ID 0) to “Calculix_Mesh” (ID 2) for dimension 1 with polynomial set to separate
—[precice] e[0m Mapping “Forces0” conservative from “Fluid-Mesh-Faces” (ID 0) to “Calculix_Mesh” (ID 2) for dimension 2 with polynomial set to separate
—[precice] e[0m Compute “read” mapping from mesh “Calculix_Mesh” to mesh “Fluid-Mesh-Nodes”.
—[precice] e[0m Using tree-based preallocation for matrix C
—[precice] e[0m Using tree-based preallocation for matrix A
—[precice] e[0m Using rescaling. Solver converged after 2094 of 10000 iterations due to sufficient relative convergence. Last residual norm: 1.38918e-08, limits: relative 1.58114e-08 (rtol 1e-09), absolute 1e-50, divergence 1.58114e+31(dtol 1e+30)
—[precice] e[0m Mapping “Displacements0” consistent from “Calculix_Mesh” (ID 2) to “Fluid-Mesh-Nodes” (ID 1) for dimension 0 with polynomial set to separate
—[precice] e[0m Mapping “Displacements0” consistent from “Calculix_Mesh” (ID 2) to “Fluid-Mesh-Nodes” (ID 1) for dimension 1 with polynomial set to separate
—[precice] e[0m Mapping “Displacements0” consistent from “Calculix_Mesh” (ID 2) to “Fluid-Mesh-Nodes” (ID 1) for dimension 2 with polynomial set to separate
—[precice] e[0m iteration: 2 of 50, time-window: 1, time: 0 of 2, time-window-size: 0.001, max-timestep-length: 0.001, ongoing: yes, time-window-complete: no, read-iteration-checkpoint
Courant Number mean: 0 max: 0
Time = 0.001

It can be seen that there seems to be a problem in this step:

—[precice] e[0m Mapping “Forces0” conservative from “Fluid-Mesh-Faces” (ID 0) to “Calculix_Mesh” (ID 2) for dimension 0 with polynomial set to separate
—[precice] e[0m Mapping “Forces0” conservative from “Fluid-Mesh-Faces” (ID 0) to “Calculix_Mesh” (ID 2) for dimension 1 with polynomial set to separate
—[precice] e[0m Mapping “Forces0” conservative from “Fluid-Mesh-Faces” (ID 0) to “Calculix_Mesh” (ID 2) for dimension 2 with polynomial set to separate
—[precice] e[0m Compute “read” mapping from mesh “Calculix_Mesh” to mesh “Fluid-Mesh-Nodes”.

For the mapping I’ve tried RBF thin plate splines, rbf-compact-tps-c2 and nearest neighbor with same results.

This is my case:
shakeFlap.tar (990 KB)

Is there any methods to solve my problems?

1 Like

Has anyone encountered this situation like this? I checked my case and tested other cases,and I didn’t find anything wrong.

Hi guys,

I have figured out why is case stuck. In Solid.log, CalculiX is not converged at the 2nd iteration:

 average force= 0.029996
 time avg. forc= 0.029996
 largest residual force= 2425.282929 in node 507 and dof 2
 largest increment of disp= 1.618430e-03
 largest correction to disp= 1.141403e-03 in node 334 and dof 2

 no convergence

All because I put the DIRECT in the *DYNAMIC card of flap.inp. I am a beginner and a light user of CalculiX, that is why I made such a simple and ridiculous mistake!

4 Likes

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.