Dear users and developers,
I observed simulation crashes in my FSI simulations using precice/2.3.0. The case considers the vibration of a long tube axially mounted in a channel flow.
I am using a solver based on the official dealii linear elasticity solver (dealii 9.2.0) together with the OpenFOAM adapter (OpenFOAM 7).
To perform a sensitivity analysis on the fluid mesh resolution, I fixed the solid mesh (DOF_solid=192000) and performed simulations using three different fluid meshes with 14M, 31M, and 49M cells. The first case runs without any problem. The second and third cases (the larger cases) however, crash after some time with first a segmentation fault error on the Solid adapter and a consequent crash on the fluid side. The fluid solver runs in parallel on 63 cores, and the solid solver in series.
The simulations are performed on a single node of a cluster.
Here is the error message in the Solid log:
Advancing in time... Advancing the adapter: Entering the subsection ---[precice] e[0m relative convergence measure: relative two-norm diff of data "Stress" = 7.85e-06, limit = 1.00e-04, normalization = 1.71e+05, conv = true ---[precice] e[0m relative convergence measure: relative two-norm diff of data "Displacement" = 2.30e-08, limit = 1.00e-04, normalization = 4.39e-02, conv = true ---[precice] e[0m All converged [112:310409] *** Process received signal *** [112:310409] Signal: Segmentation fault (11) [112:310409] Signal code: Address not mapped (1) [112:310409] Failing at address: 0xb9 [112:310409] [ 0] /lib64/libc.so.6(+0x37400)[0x14711a489400] [112:310409] [ 1] /software/precice/2.3.0/lib64/libprecice.so.2(_ZN7precice3com15SocketSendQueue7processEv+0x6d)[0x14711e44abcd] [112:310409] [ 2] /software/precice/2.3.0/lib64/libprecice.so.2(+0x1a3c19)[0x14711e44bc19] [112:310409] [ 3] /software/precice/2.3.0/lib64/libprecice.so.2(_ZN5boost4asio6detail9scheduler3runERNS_6system10error_codeE+0x493)[0x14711e445bd3] [112:310409] [ 4] /software/precice/2.3.0/lib64/libprecice.so.2(+0x188ede)[0x14711e430ede] [112:310409] [ 5] /software/gcc/7.5.0/lib64/libstdc++.so.6(+0xc252f)[0x14711ac5b52f] [112:310409] [ 6] /lib64/libpthread.so.0(+0x817a)[0x14711a23a17a] [112:310409] [ 7] /lib64/libc.so.6(clone+0x43)[0x14711a54edc3] [112:310409] *** End of error message *** ./runSolid: line 27: 310409 Segmentation fault (core dumped) ./Solid/linearGuideTube Solid/linearGuideTube.prm
and the Fluid error message:
---[preciceAdapter] [DEBUG] Writing coupling data... ---[preciceAdapter] [DEBUG] Advancing preCICE... ---[precice] e[31mERROR: e[0m Receive using sockets failed with system error: read: End of file mpirun: Forwarding signal 18 to job
I have also attached the Fluid and Solid logs together with the precice config file.
It seems like the process is trying to access a memory address beyond what has been allocated.
Does anyone know what can be the reason for this?
Please let me know if you need any further information.