preCICE stuck at mapping

I have a CSM-CFD coupling (CAMRAD - DLR TAU ) in preCICE v1.6. Now I am trying to migrate v2.3. I changed XML and my adapter bindings for preCICE v2.3. Coupling starts CSM part (CAMRAD) send data to CFD (TAU) part when CFD part completes it try to pass data to CSM part and preCICE stuck.

(0) 15:50:11 [impl::SolverInterfaceImpl]:1480 in mapWrittenData: Compute write mapping from mesh "TAU_Mesh0" to mesh "CAMRAD_Mesh0".
(0) 15:50:11 [mapping::NearestNeighborMapping]:94 in computeMapping: Mapping distance not available due to empty partition.
(0) 15:50:11 [impl::SolverInterfaceImpl]:1480 in mapWrittenData: Compute write mapping from mesh "TAU_Mesh1" to mesh "CAMRAD_Mesh1".
(0) 15:50:11 [mapping::NearestNeighborMapping]:94 in computeMapping: Mapping distance not available due to empty partition.
(0) 15:50:11 [impl::SolverInterfaceImpl]:1480 in mapWrittenData: Compute write mapping from mesh "TAU_Mesh2" to mesh "CAMRAD_Mesh2".
(0) 15:50:11 [mapping::NearestNeighborMapping]:94 in computeMapping: Mapping distance not available due to empty partition.
(0) 15:50:11 [impl::SolverInterfaceImpl]:1480 in mapWrittenData: Compute write mapping from mesh "TAU_Mesh3" to mesh "CAMRAD_Mesh3".
(0) 15:50:11 [mapping::NearestNeighborMapping]:94 in computeMapping: Mapping distance not available due to empty partition.

Some partitions are empty in terms of surface data, it is not causing any problem beforehand right now I am not sure about source of the error/stucking. How can I check problem?

Could you enable all available logging information from preCICE using something like:

<log>
    <sink type="stream" output="stdout"  filter= "(%Severity% > debug) or (%Severity% >= trace )" enabled="true" />
</log>

and post the output here?

Here the config file and precice logs since it compiled to release version it seems there is not much information but I can recompile it in debug mode and version v2.3.

precice_logCAMRAD.txt (3.3 KB)
precice_logTAU.txt (8.0 KB)
precice-config_piecewise.xml (21.3 KB)

Yes, please recompile in Debug mode.

After compiling in Debug mode I obtained the following logs

precice_logTAU.zip (251.6 KB)
precice_logCAMRAD.txt (555.5 KB)

Hm hard to say since the config file is large. Do you have any particular reason to enforce the gather scatter communication? Establishing the communication works, right? I’m also a bit confused that DLR tau doesn’t print the version information.

This is the log file for preCICE, not the whole stdout log. AFAIK there is no reason to enforce the gather scatter communication since the previous setup is handled in that way I kept it.

Edit: It is required to establish communication. Otherwise preCICE crashes

I found the problem: The adapter at some ranks fail to find the required files. Since some others already write data to the preCICE interface, preCICE tries to map only that data that is generally empty and causes this error. Right now it’s working fine.

1 Like

This sounds a bit suspicious. gather-scatter should never be needed. In case you want to debug this, let’s maybe go to a new issue though.

Right now it is not working without gather-scatter TAU solver crashes immediately. ASAP I have solved other migration issues about adapters I will open a new issue about it.

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