Hi @Paolo,
sorry for the delay getting any answer. I typically look into OpenFOAM-related questions, but lately I had no time to look into the forum, especially not into tricky questions.
Some interesting information I gather from the files you uploaded:
-
The solver is plasticFoam
, which implements a SIMPLE loop (steady-state).
-
preCICE uses an implicit scheme, coupling every two steps:
<coupling-scheme:parallel-implicit>
<time-window-size value="2" />
<max-time value="200" />
<max-iterations value="10" />
The Fluid log looks as follows:
Time = 1
...
(0) 11:38:58 [impl::SolverInterfaceImpl]:476 in advance: iteration: 1 of 10, time-window: 1, time: 1 of 200, time-window-size: 2, max-timestep-length: 1, ongoing: yes, time-window-complete: no,
Time = 2
...
(0) 11:38:59 [impl::SolverInterfaceImpl]:476 in advance: iteration: 2 of 10, time-window: 1, time: 0 of 200, time-window-size: 2, max-timestep-length: 2, ongoing: yes, time-window-complete: no, read-iteration-checkpoint
(reading checkpoint)
Time = 1
...
(0) 11:38:59 [impl::SolverInterfaceImpl]:476 in advance: iteration: 2 of 10, time-window: 1, time: 1 of 200, time-window-size: 2, max-timestep-length: 1, ongoing: yes, time-window-complete: no,
TIme = 2
...
(0) 11:38:59 [impl::SolverInterfaceImpl]:476 in advance: iteration: 3 of 10, time-window: 1, time: 0 of 200, time-window-size: 2, max-timestep-length: 2, ongoing: yes, time-window-complete: no, read-iteration-checkpoint
(reading checkpoint)
Time = 1
...
(0) 11:38:59 [impl::SolverInterfaceImpl]:476 in advance: iteration: 3 of 10, time-window: 1, time: 1 of 200, time-window-size: 2, max-timestep-length: 1, ongoing: yes, time-window-complete: no,
Time = 2
...
(0) 11:39:00 [impl::SolverInterfaceImpl]:476 in advance: iteration: 4 of 10, time-window: 1, time: 0 of 200, time-window-size: 2, max-timestep-length: 2, ongoing: yes, time-window-complete: no, read-iteration-checkpoint
(reading checkpoint)
Time = 1
...
(hangs?)
The Solid log (laplacianFoam, also SIMPLE) looks as follows:
Time = 1
...
(0) 11:38:58 [impl::SolverInterfaceImpl]:476 in advance: iteration: 1 of 10, time-window: 1, time: 1 of 200, time-window-size: 2, max-timestep-length: 1, ongoing: yes, time-window-complete: no,
Time = 2
...
(0) 11:38:59 [impl::SolverInterfaceImpl]:476 in advance: iteration: 2 of 10, time-window: 1, time: 0 of 200, time-window-size: 2, max-timestep-length: 2, ongoing: yes, time-window-complete: no, read-iteration-checkpoint
(reading checkpoint)
Time = 1
...
(0) 11:38:59 [impl::SolverInterfaceImpl]:476 in advance: iteration: 2 of 10, time-window: 1, time: 1 of 200, time-window-size: 2, max-timestep-length: 1, ongoing: yes, time-window-complete: no,
Time = 2
...
(0) 11:38:59 [impl::SolverInterfaceImpl]:476 in advance: iteration: 3 of 10, time-window: 1, time: 0 of 200, time-window-size: 2, max-timestep-length: 2, ongoing: yes, time-window-complete: no, read-iteration-checkpoint
(reading checkpoint)
Time = 1
...
(0) 11:38:59 [impl::SolverInterfaceImpl]:476 in advance: iteration: 3 of 10, time-window: 1, time: 1 of 200, time-window-size: 2, max-timestep-length: 1, ongoing: yes, time-window-complete: no,
Time = 2
...
(0) 11:39:00 [impl::SolverInterfaceImpl]:476 in advance: iteration: 4 of 10, time-window: 1, time: 0 of 200, time-window-size: 2, max-timestep-length: 2, ongoing: yes, time-window-complete: no, read-iteration-checkpoint
(reading checkpoint)
Time = 1
...
(0) 11:39:00 [impl::SolverInterfaceImpl]:476 in advance: iteration: 4 of 10, time-window: 1, time: 1 of 200, time-window-size: 2, max-timestep-length: 1, ongoing: yes, time-window-complete: no,
Time = 2
...
(0) 11:39:00 [impl::SolverInterfaceImpl]:476 in advance: iteration: 5 of 10, time-window: 1, time: 0 of 200, time-window-size: 2, max-timestep-length: 2, ongoing: yes, time-window-complete: no, read-iteration-checkpoint
(reading checkpoint)
Time = 1
...
(0) 11:39:00 [impl::SolverInterfaceImpl]:476 in advance: iteration: 5 of 10, time-window: 1, time: 1 of 200, time-window-size: 2, max-timestep-length: 1, ongoing: yes, time-window-complete: no,
Time = 2
...
(hangs?)
I am particularly confused on why the solvers hang. Last time I experienced something like this, it was due to mixed MPI versions (one MPI version used in OpenFOAM, another one in preCICE), and it was occurring arbitrarily. Could that be an issue?
Other than that, the only difference is that the OpenFOAM adapter calculates the heat flux differently, which could lead to more or fewer iterations.
Could it be that OpenFOAM crashes at the end, but you don’t see the error message for some reason? (e.g., redirecting the stdinfo to a log file, but not the stderr).
Do you still have this issue?