Simulation is stuck during setup (calculix adapter)

Hi,

This issue is related to this discussion. The following is the continuation of that discussion.

I built calculix adapter on macos with some modifications to the Makefile. I opened a pull request here.

In “Breaking dam with flexible pillar 2D” example, I get the following error for the solid case:

$ ./run.sh
Started on: Sun, 30 Mar 2025 06:22:49 +0330

************************************************************

CalculiX Version 2.20, Copyright(C) 1998-2022 Guido Dhondt
CalculiX comes with ABSOLUTELY NO WARRANTY. This is free
software, and you are welcome to redistribute it under
certain conditions, see gpl.htm

************************************************************

You are using an executable made on Sun Jul 31 18:08:37 CEST 2022

  The numbers below are estimated upper bounds

  number of:

   nodes:         1470
   elements:          244
   one-dimensional elements:            0
   two-dimensional elements:            0
   integration points per element:           27
   degrees of freedom per node:            3
   layers per element:            1

   distributed facial loads:            0
   distributed volumetric loads:            0
   concentrated loads:         1482
   single point constraints:          756
   multiple point constraints:            1
   terms in all multiple point constraints:            1
   tie constraints:            0
   dependent nodes tied by cyclic constraints:            0
   dependent nodes in pre-tension constraints:            0

   sets:            4
   terms in all sets:         2220

   materials:            1
   constants per material and temperature:            2
   temperature points per material:            1
   plastic data points per material:            0

   orientations:            0
   amplitudes:            3
   data points in all amplitudes:            3
   print requests:            0
   transformations:            0
   property cards:            0

 *INFO reading *STEP: nonlinear geometric
       effects are turned on


 STEP            1

 Dynamic analysis was selected

 Newton-Raphson iterative procedure is active

 Nonlinear geometric effects are taken into account

 Decascading the MPC's

 Determining the structure of the matrix:
 Using up to 1 cpu(s) for setting up the structure of the matrix.
 number of equations
 3660
 number of nonzero lower triangular matrix elements
 63428

Starting FSI analysis via preCICE using the geometrically non-linear CalculiX solver...
 Using up to 1 cpu(s) for the stress calculation.

 Using up to 1 cpu(s) for the energy calculation.

 Using up to 1 cpu(s) for the symmetric stiffness/mass contributions.

 Factoring the system of equations using the symmetric spooles solver
 Using up to 1 cpu(s) for spooles.

 Using up to 1 cpu(s) for the stress calculation.

 Using up to 1 cpu(s) for the energy calculation.

Setting up preCICE participant Solid, using config file: config.yml
[temple.local:59980] shmem: mmap: an error occurred while determining whether or not /var/folders/1t/mjqc57nd6jq91gb0_jb143w80000gn/T//ompi.temple.501/jf.0/2796027904/sm_segment.temple.501.a6a80000.0 could be created.
---[precice]  This is preCICE version 3.1.2
---[precice]  Revision info: v3.1.2-299-gfc0cff1b
---[precice]  Build type: Release (without debug log)
---[precice]  Working directory "/Volumes/code/opt/precice/tutorials/breaking-dam-2d/solid-calculix"
---[precice]  Configuring preCICE with configuration "../precice-config.xml"
---[precice]  I am participant "Solid"
Using quasi 2D-3D coupling
Set ID Found
2D-3D mapping results in a 2D mesh of size 247 from the 494 points in 3D space.
Read data 'Force' found.
Write data 'Displacement' found.
---[precice]  Setting up primary communication to coupling partner/s

Specifically this one:

[temple.local:59980] shmem: mmap: an error occurred while determining whether or not /var/folders/1t/mjqc57nd6jq91gb0_jb143w80000gn/T//ompi.temple.501/jf.0/2796027904/sm_segment.temple.501.a6a80000.0 could be created.

and then simulation is stuck here

---[precice]  Setting up primary communication to coupling partner/s

With printf-debugging I found out that it happens here:

  printf("Setting up preCICE participant %s, using config file: %s\n", participantName, configFilename);
  fflush(stdout);   <<<

from adapter/PreciceInterface.c.

LLM suggested passing --mca shmem mmap to mpirun; I edited the run.sh per below and that fixed the shmem error.

mpirun -np 1 --mca shmem mmap ccx_preCICE -i flap -precice-participant Solid

However, still the simulation is stuck at the last line I mentioned. I’m not sure whether that’s the intended behaviour.

This looks like the communication cannot be established. This can have many reasons, some of which are summarized here:

You could build preCICE with Debug log -DPRECICE_RELEASE_WITH_DEBUG_LOG=ON to narrow the search further down.

Also, please use <m2n:sockets> to ensure there is nothing strange going on with MPI.

Best
Frédéric

Thank you @fsimonis. I will check the possible solutions in the upcoming days and update the discussion.