Data (*) on mesh (**) didn't contain any data samples while attempting to map to mesh (***)

Trying to couple an in-house potential solver with OpenFOAM. The potential code has been modified using preCICE Fortran interface. The simulation runs fine at beginning till half-way then throws an error message and exits. I have attached the log files for both solvers and the precice configure file. Any comments on possible cause of this error are mostly appreciated!
log.HOS.zip (626.7 KB)
hosCoupleFoam.zip (2.0 MB)
precice-config.xml (3.7 KB)
preciceDict.txt (4.9 KB)

*---[precice] ERROR: Data etaVOF on mesh OpenFOAM-Coupling-Mesh didn't contain any data samples while attempting to map to mesh HOS-Coupling-Mesh. Check your exchange tags to ensure your coupling scheme exchanges the data or the pariticipant produces it using an action. The expected exchange tag should look like this: <exchange data="etaVOF" mesh="OpenFOAM-Coupling-Mesh" from=... to=... />.*
*[fdgs00-ws:94894] *** Process received signal ****
*[fdgs00-ws:94894] Signal: Aborted (6)*
*[fdgs00-ws:94894] Signal code:  (-6)*
*[fdgs00-ws:94894] [ 0] /lib64/libpthread.so.0(+0xf630)[0x7f6be2ee5630]*
*[fdgs00-ws:94894] [ 1] /lib64/libc.so.6(gsignal+0x37)[0x7f6bc7f81387]*
*[fdgs00-ws:94894] [ 2] /lib64/libc.so.6(abort+0x148)[0x7f6bc7f82a78]*
*[fdgs00-ws:94894] [ 3] /scratcha-fdgs/lux/OpenFOAM/spack/opt/spack/linux-centos7-cascadelake/gcc-10.2.1/precice-develop-gkhj76ntcv2mbgqrj3555kw4nrzz6fhp/lib64/libprecice.so.3(precicef_advance_+0xe6)[0x7f6bded8e297]*
*[fdgs00-ws:94894] [ 4] HOS-ocean[0x49b876]*
*[fdgs00-ws:94894] [ 5] HOS-ocean[0x4acfa8]*
*[fdgs00-ws:94894] [ 6] HOS-ocean[0x409f93]*
*[fdgs00-ws:94894] *** End of error message ****

One thing I noticed is that the simulation always quits at the same time-window (6836th), no matter what timestep size I use. So far I have tried 0.01, 0.02 and 0.05. All got the same error.

Furthermore, I’ve tried parallel-explicit and serial-explicit, which gave me same error at the same time-window.

I also checked the results and everything seems normal at time-window 6835.


Here’s the visualization of the coupling configuration.

Both participants have two meshes (relaxation-mesh and coupling-mesh), and they are mapping with the corresponding meshes from the other participant as follows:
HOS-Relaxation-Mesh <=> OpenFOAM-Relaxation-Mesh
HOS-Coupling-Mesh <=> OpenFOAM-Coupling-Mesh

The Relaxation-Mesh is a volume mesh in 3D and a surface mesh in 2D, and the Coupling-Mesh is a surface mesh in 3D and a single line in 2D.

@Makis @fsimonis @ajaust @uekerman, I apologize for taking the liberty to tag you here, but I have been struggling with a particular issue for quite some time, and the development is urgent for project delivery.

Your expertise and guidance would be greatly appreciated in resolving this matter. Please let me know if you need any additional information or details regarding the development.

Thank you so much for your time and support. I truly appreciate your help!

@Ya_Squall other have reported a similar issue (with different error message), which should affect the version you are using (3.0.0 to 3.1.2): Crashing without error message after thousands of time steps · Issue #2160 · precice/precice · GitHub

This issue has been fixed in the develop branch. Could you try to build preCICE from develop and see if this fixes your issue?

We will release 3.2.0 in April, but this might be too late for you.

1 Like

Thank you for your reply. Although switching the mapping between participants does not seem helpful in the current situation, I am still curious about the general rule of thumb for determining the following:

  1. The order of participants (first and second).
  2. The impact of shifting the mapping operation from one participant to another and consequently changing a “read” operation to a “write” operation.

I would appreciate your insights on this.

@Makis I’m using Spack to install preCICE. Will the following command compile the develop branch, which includes the latest fix for this issue?

spack install precice@develop build_type=Debug

If so, I am afraid I am using this build already.

The version information in log.HOS shows:

---[precice] This is preCICE version 3.1.2
---[precice] Revision info: no-info [git failed to run]
---[precice] Build type: Debug

Are you sure this is built from the repository? In that case, the Revision info should have included the commit hash.

Is there any other way to check the commit hash?
Here’s how I installed precice of develop branch in Spack:

*[lux@fdgs00-ws ~]$ spack install precice@develop build_type=Debug*
*[+] /scratcha-fdgs/lux/OpenFOAM/spack/opt/spack/linux-centos7-cascadelake/gcc-10.2.1/boost-1.82.0-bdpiybqfdp7hh6zrqdiv5ucn2w7vzyut*
*[+] /scratcha-fdgs/lux/OpenFOAM/spack/opt/spack/linux-centos7-cascadelake/gcc-10.2.1/eigen-3.4.0-wiyl3o5jumbrfmcvd2y67hd6ggwwsfce*
*[+] /scratcha-fdgs/lux/OpenFOAM/spack/opt/spack/linux-centos7-cascadelake/gcc-10.2.1/libiconv-1.17-jymqywrsgrkvmcdqk5hejgthvyg6bb5l*
*[+] /scratcha-fdgs/lux/OpenFOAM/spack/opt/spack/linux-centos7-cascadelake/gcc-10.2.1/xz-5.4.1-ycnfm556syacroc5w3xvjzvo2h6xxjyx*
*[+] /scratcha-fdgs/lux/OpenFOAM/spack/opt/spack/linux-centos7-cascadelake/gcc-10.2.1/zlib-1.2.13-ry7yxc46pbtgqkfiuvaapsluaikd6q4z*
*[+] /scratcha-fdgs/lux/OpenFOAM/spack/opt/spack/linux-centos7-cascadelake/gcc-10.2.1/libpciaccess-0.17-i5u2d6d3wda375pocdclo5ccaqtumr3z*
*[+] /scratcha-fdgs/lux/OpenFOAM/spack/opt/spack/linux-centos7-cascadelake/gcc-10.2.1/ncurses-6.4-k6nsasvuqrtfdstlgoz6stb6l5pqabvf*
*[+] /scratcha-fdgs/lux/OpenFOAM/spack/opt/spack/linux-centos7-cascadelake/gcc-10.2.1/numactl-2.0.14-qgk6dayf6mwhnasecw4um5ccvhgdfwr6*
*[+] /scratcha-fdgs/lux/OpenFOAM/spack/opt/spack/linux-centos7-cascadelake/gcc-10.2.1/bzip2-1.0.8-yg3xldei6cfszdzocmux7aqarmdxk3rx*
*[+] /scratcha-fdgs/lux/OpenFOAM/spack/opt/spack/linux-centos7-cascadelake/gcc-10.2.1/zstd-1.5.5-da2mbas5efar63bufuotklm3u6dzhhdr*
*[+] /scratcha-fdgs/lux/OpenFOAM/spack/opt/spack/linux-centos7-cascadelake/gcc-10.2.1/libxcrypt-4.4.33-cltecga6qjus6lpifgqem2zrphd3gshw*
*[+] /scratcha-fdgs/lux/OpenFOAM/spack/opt/spack/linux-centos7-cascadelake/gcc-10.2.1/pkgconf-1.9.5-44tqudv6pnfigy7vnjsnu5k22n3fiwzc*
*[+] /scratcha-fdgs/lux/OpenFOAM/spack/opt/spack/linux-centos7-cascadelake/gcc-10.2.1/openblas-0.3.23-fomlemye5ruwemmduml3goz3g32i2r4b*
*[+] /scratcha-fdgs/lux/OpenFOAM/spack/opt/spack/linux-centos7-cascadelake/gcc-10.2.1/metis-5.1.0-j7fp7wqgc52p4hxpjdfm4ffnymhyohtz*
*[+] /scratcha-fdgs/lux/OpenFOAM/spack/opt/spack/linux-centos7-cascadelake/gcc-10.2.1/openssl-1.1.1u-e3cyz4ws2avrauy3jmrvmdfp4q53jhql*
*[+] /scratcha-fdgs/lux/OpenFOAM/spack/opt/spack/linux-centos7-cascadelake/gcc-10.2.1/pigz-2.7-4aoztmxtdwpchlclof7jgk7iw7sbyhbz*
*[+] /scratcha-fdgs/lux/OpenFOAM/spack/opt/spack/linux-centos7-cascadelake/gcc-10.2.1/libedit-3.1-20210216-bwldxdlbg6axagqenslybjloafanoax4*
*[+] /scratcha-fdgs/lux/OpenFOAM/spack/opt/spack/linux-centos7-cascadelake/gcc-10.2.1/libxml2-2.10.3-t6famnizsggiwdm33a3mz5lds3gpa53d*
*[+] /scratcha-fdgs/lux/OpenFOAM/spack/opt/spack/linux-centos7-cascadelake/gcc-10.2.1/libevent-2.1.12-xpyedb75tlw6aw4d67soyr2fo6whpown*
*[+] /scratcha-fdgs/lux/OpenFOAM/spack/opt/spack/linux-centos7-cascadelake/gcc-10.2.1/tar-1.34-3gtxa67ciabcng6quc3fxsm5te3cnkfm*
*[+] /scratcha-fdgs/lux/OpenFOAM/spack/opt/spack/linux-centos7-cascadelake/gcc-10.2.1/hwloc-2.9.1-w4sohisyhs6akqbiiyfm2zoqbbh5hclu*
*[+] /scratcha-fdgs/lux/OpenFOAM/spack/opt/spack/linux-centos7-cascadelake/gcc-10.2.1/gettext-0.21.1-lvfmy44q6cwaz62eyub2cfocjsv5du7f*
*[+] /scratcha-fdgs/lux/OpenFOAM/spack/opt/spack/linux-centos7-cascadelake/gcc-10.2.1/pmix-4.2.3-lpbd63m7x2uzsec6kkyjazjyoizwsmaj*
*[+] /scratcha-fdgs/lux/OpenFOAM/spack/opt/spack/linux-centos7-cascadelake/gcc-10.2.1/krb5-1.20.1-dwwxab5jrnajmzchlqi6uz23ayhtldjh*
*[+] /scratcha-fdgs/lux/OpenFOAM/spack/opt/spack/linux-centos7-cascadelake/gcc-10.2.1/openssh-9.3p1-mlsmlimmyzgq6dn7ertoaumesbjzbvrz*
*[+] /scratcha-fdgs/lux/OpenFOAM/spack/opt/spack/linux-centos7-cascadelake/gcc-10.2.1/openmpi-4.1.5-5o5zqlbyuvucgddtu5yybuufh42fpkuc*
*[+] /scratcha-fdgs/lux/OpenFOAM/spack/opt/spack/linux-centos7-cascadelake/gcc-10.2.1/hdf5-1.14.1-2-2qw3abcjo36dzhpmueer7vatuko6h4zg*
*[+] /scratcha-fdgs/lux/OpenFOAM/spack/opt/spack/linux-centos7-cascadelake/gcc-10.2.1/hypre-2.28.0-aotpujdsktjjqueenezwwcmzzjnfjtsx*
*[+] /scratcha-fdgs/lux/OpenFOAM/spack/opt/spack/linux-centos7-cascadelake/gcc-10.2.1/parmetis-4.0.3-rmhdps7g3o4fag4hzubbtnsrardt3e3y*
*[+] /scratcha-fdgs/lux/OpenFOAM/spack/opt/spack/linux-centos7-cascadelake/gcc-10.2.1/superlu-dist-8.1.2-bmnn42xfi26223qtxjzwgeh3ndrrejon*
*[+] /scratcha-fdgs/lux/OpenFOAM/spack/opt/spack/linux-centos7-cascadelake/gcc-10.2.1/petsc-3.19.1-fmgf3ar42dwvmiud2sppxkfhqlpbitub*
***[+] /scratcha-fdgs/lux/OpenFOAM/spack/opt/spack/linux-centos7-cascadelake/gcc-10.2.1/precice-develop-gkhj76ntcv2mbgqrj3555kw4nrzz6fhp***

Have re-run the case with following changes:

  1. more detailed logging
*sink type="stream" output="stdout"  filter= "(%Severity% > debug) or (%Severity% >= trace and %Module% contains ParticipantImpl)"  enabled="true"*
  1. adding *waveform-degree="0"* to all the data.

The error remains the same, occuring at the same time-window. New log files are attached.

log.hosCoupleFoam.zip (3.8 MB)
log.HOS.zip (2.2 MB)

Just now tried to uninstall the precice and then re-install, here’s the output of Spack. Not sure whether Spack manages to get the latest version source code of precice.

==> Installing precice-develop-gkhj76ntcv2mbgqrj3555kw4nrzz6fhp
==> No binary for precice-develop-gkhj76ntcv2mbgqrj3555kw4nrzz6fhp found: installing from source
==> No patches needed for precice
==> precice: Executing phase: 'cmake'
==> precice: Executing phase: 'build'
==> precice: Executing phase: 'install'
==> precice: Successfully installed precice-develop-gkhj76ntcv2mbgqrj3555kw4nrzz6fhp
  Stage: 2.95s.  Cmake: 11.66s.  Build: 1m 16.60s.  Install: 0.79s.  Post-install: 0.40s.  Total: 1m 34.07s
[+] /scratcha-fdgs/lux/OpenFOAM/spack/opt/spack/linux-centos7-cascadelake/gcc-10.2.1/precice-develop-gkhj76ntcv2mbgqrj3555kw4nrzz6fhp
[lux@fdgs00-ws ~]$ precice-tools --version
3.1.2;no-info [git failed to run];PRECICE_FEATURE_MPI_COMMUNICATION=Y;PRECICE_FEATURE_PETSC_MAPPING=Y;PRECICE_FEATURE_GINKGO_MAPPING=N;PRECICE_FEATURE_PYTHON_ACTIONS=Y;PRECICE_BINDINGS_C=Y;PRECICE_BINDINGS_FORTRAN=Y;CXX=GNU;CXXFLAGS= -g;LDFLAGS=

[lux@fdgs00-ws ~]$

Would it be possible to install Git on this system (in case this is missing)? The no-info [git failed to run] should be a string with a hash.

Not sure whether Spack manages to get the latest version source code of precice.

I think it does not take the latest state of the branch, but uses a cached version. You can always try explicitly installing the latest commit (right now this is 31e7a9e) instead of the branch.

This uncertainty with the state of Git branches is often causing me some stress when trying to ensure everything is up-to-date.

How long did it take you to run the simulation that previously crashed?

In the following, please also use backticks to format the code blocks. I have edited your previous posts to be able to read the logs.

git has already been installed on this system:

[lux@fdgs00-ws openfoam-adapter-HOS]$ git --version
git version 1.8.3.1

No idea why got the [git failed to run] warning. I am not quite familiar with the git and Spack stuff. Could you please advise how to explicitly install the latest commit in Spack?

It took about 2hrs to reach this crashing point.

Try:

spack install precice@31e7a9e

Any clue please? Could not install the commit, got similar error on two different workstations.

[lux@fdgs00-ws ~]$ spack install precice@31e7a9e
==> Error: concretization failed for the following reasons:

   1. Cannot satisfy 'precice@31e7a9e'

[lux@fdgs00-ws ~]$ spack info precice
CMakePackage:   precice

Description:
    preCICE (Precise Code Interaction Coupling Environment) is a coupling
    library for partitioned multi-physics simulations. Partitioned means
    that preCICE couples existing programs (solvers) capable of simulating a
    subpart of the complete physics involved in a simulation.

Homepage: https://precice.org/

Preferred version:
    2.5.0      https://github.com/precice/precice/archive/v2.5.0.tar.gz

Safe versions:
    develop    [git] https://github.com/precice/precice.git on branch develop
    2.5.0      https://github.com/precice/precice/archive/v2.5.0.tar.gz
    2.4.0      https://github.com/precice/precice/archive/v2.4.0.tar.gz
    2.3.0      https://github.com/precice/precice/archive/v2.3.0.tar.gz
    2.2.1      https://github.com/precice/precice/archive/v2.2.1.tar.gz
    2.2.0      https://github.com/precice/precice/archive/v2.2.0.tar.gz
    2.1.1      https://github.com/precice/precice/archive/v2.1.1.tar.gz
    2.1.0      https://github.com/precice/precice/archive/v2.1.0.tar.gz
    2.0.2      https://github.com/precice/precice/archive/v2.0.2.tar.gz
    2.0.1      https://github.com/precice/precice/archive/v2.0.1.tar.gz
    2.0.0      https://github.com/precice/precice/archive/v2.0.0.tar.gz
    1.6.1      https://github.com/precice/precice/archive/v1.6.1.tar.gz
    1.6.0      https://github.com/precice/precice/archive/v1.6.0.tar.gz
    1.5.2      https://github.com/precice/precice/archive/v1.5.2.tar.gz
    1.5.1      https://github.com/precice/precice/archive/v1.5.1.tar.gz
    1.5.0      https://github.com/precice/precice/archive/v1.5.0.tar.gz
    1.4.1      https://github.com/precice/precice/archive/v1.4.1.tar.gz
    1.4.0      https://github.com/precice/precice/archive/v1.4.0.tar.gz
    1.3.0      https://github.com/precice/precice/archive/v1.3.0.tar.gz
    1.2.0      https://github.com/precice/precice/archive/v1.2.0.tar.gz

Deprecated versions:
    None

Variants:
    Name [Default]          When                              Allowed values          Description
    ====================    ==============================    ====================    ======================================

    build_system [cmake]    --                                cmake                   Build systems supported by the package
    build_type [Release]    [build_system=cmake]              Debug, Release,         CMake build type
                                                              RelWithDebInfo,
                                                              MinSizeRel
    generator [make]        [build_system=cmake]              ninja,make              the build system generator to use
    ipo [off]               [build_system=cmake               on, off                 CMake interprocedural optimization
                            ^cmake@3.9:]
    mpi [on]                --                                on, off                 Enable MPI support
    petsc [on]              --                                on, off                 Enable PETSc support
    python [off]            [@2:]                             on, off                 Enable Python support
    shared [on]             --                                on, off                 Build shared libraries

Build Dependencies:
    boost  cmake  eigen  gmake  libxml2  mpi  ninja  petsc  pkgconfig  py-numpy  python

Link Dependencies:
    boost  eigen  libxml2  mpi  petsc

Run Dependencies:
    py-numpy  python

Quick update, I tried parallel-implicit as well and got the same error at the same time-window.

I am a bit confused on how to configure the “mesh” entries in the coupling-scheme section. How should I determine which mesh to use? I found sometimes the “didn’t contain any data samples” error occurs at the very first step when I put wrong meshes.

  <coupling-scheme:parallel-implicit>
    <time-window-size value="0.01" />
    <max-time value="200.0" />
    <participants first="HOS-Coupling" second="OpenFOAM" />
    <exchange data="etaHOS" mesh="HOS-Relaxation-Mesh" from="HOS-Coupling" to="OpenFOAM" initialize="0" substeps="0" />
    <exchange data="UHOS" mesh="HOS-Relaxation-Mesh" from="HOS-Coupling" to="OpenFOAM" initialize="0" substeps="0"  />
    <exchange data="etaVOF" mesh="OpenFOAM-Coupling-Mesh" from="OpenFOAM" to="HOS-Coupling" initialize="0" substeps="0"  />
    <exchange data="etaVOFShifted" mesh="OpenFOAM-Coupling-Mesh" from="OpenFOAM" to="HOS-Coupling" initialize="0" substeps="0"  />
    <exchange data="wVOF" mesh="OpenFOAM-Coupling-Mesh" from="OpenFOAM" to="HOS-Coupling" initialize="0" substeps="0"  />
    <exchange data="weights" mesh="OpenFOAM-Coupling-Mesh" from="OpenFOAM" to="HOS-Coupling" initialize="0" substeps="0"  />
    <max-iterations value="50" />
    <relative-convergence-measure limit="5e-2" data="etaHOS" mesh="HOS-Relaxation-Mesh" />
    <relative-convergence-measure limit="5e-2" data="etaVOF" mesh="OpenFOAM-Coupling-Mesh" />
    <acceleration:IQN-ILS>
      <data name="etaHOS" mesh="HOS-Relaxation-Mesh" />
      <data name="etaVOF" mesh="OpenFOAM-Coupling-Mesh" />
      <preconditioner type="residual-sum" />
      <filter type="QR2" limit="1e-2" />
      <initial-relaxation value="0.5" />
      <max-used-iterations value="100" />
      <time-windows-reused value="15" />
    </acceleration:IQN-ILS>
  </coupling-scheme:parallel-implicit>
</precice-configuration>

Update. On the new workstation (precice was not installed previously), install selected commit in spack failed. But precice@develop seems to take the latest state of the branch (precice-develop-myznc4oooqcly7tonqgmxedhqf7lx4bh). On the old machine, is there a way to clean-up the cached source code in spack and let it download the fresh state from the git repository?

It looks to me like your Spack version is very outdated:

This is the latest state of the Spack recipe for preCICE:

Just managed to compile the latest develop branch from source on the system. Now running, will update soon whether it passes through the crashing point.

1 Like