Configration file: Why can't you use the rbf method in an xml file?

Below is my stream solid coupling configuration file, using the rbf mapping method results in an error message, switching to nearest-neighbor works, as:

<?xml version="1.0" encoding="UTF-8" ?>
<precice-configuration>
  <log>
    <sink
      filter="%Severity% > trace and %Rank% = 0"
      format="---[precice] %ColorizedSeverity% %Message%"
      enabled="true" />
  </log>

  <solver-interface dimensions="3">
    <data:vector name="Force"/>
    <data:vector name="Displacement"/>

    <mesh name="Fluid-Mesh">
      <use-data name="Force"/>
      <use-data name="Displacement"/>
    </mesh>

    <mesh name="Solid-Mesh">
      <use-data name="Displacement" />
      <use-data name="Force" />
    </mesh>

    <participant name="Fluid">
      <use-mesh name="Fluid-Mesh" provide="yes"/>
      <use-mesh name="Solid-Mesh" from="abaqus"/>
      <write-data name="Force" mesh="Fluid-Mesh"/>
      <read-data name="Displacement" mesh="Fluid-Mesh"/>
      <mapping:rbf-thin-plate-splines
        direction="write"
        from="Fluid-Mesh"
        to="Solid-Mesh"
        constraint="conservative"/>
      <mapping:rbf-thin-plate-splines
        direction="read"
        from="Solid-Mesh"
        to="Fluid-Mesh"
        constraint="consistent"/>
    </participant>

    <participant name="abaqus">
      <use-mesh name="Solid-Mesh" provide="yes"/>
      <use-mesh name="Fluid-Mesh" from="Fluid"/>
      <write-data name="Displacement" mesh="Solid-Mesh"/>
      <read-data name="Force" mesh="Solid-Mesh"/>
    </participant>

    <m2n:sockets from="Fluid" to="abaqus" exchange-directory=".." />

    <coupling-scheme:parallel-implicit>
      <time-window-size value="0.01" />
      <max-time value="5" />
      <participants first="Fluid" second="abaqus" />
      <exchange data="Force" mesh="Solid-Mesh" from="Fluid" to="abaqus" />
      <exchange data="Displacement" mesh="Solid-Mesh" from="abaqus" to="Fluid" />
      <max-iterations value="50" />
      <relative-convergence-measure limit="5e-3" data="Displacement" mesh="Solid-Mesh" />
      <relative-convergence-measure limit="5e-3" data="Force" mesh="Solid-Mesh" />
      <acceleration:IQN-ILS>
        <data name="Displacement" mesh="Solid-Mesh" />
        <data name="Force" mesh="Solid-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>
  </solver-interface>
</precice-configuration>

My question is:
The above configuration is running with an error message,but replace “mapping:rbf-thin-plate-splines” with “mapping:nearest-neighbor” can get it to work, I don’t know why?

it’s very strange, can someone answer me?

What error message are you getting?

it’s like this:

aaaahhh… This is not related to the mapping, but to the MPI version that Fluent is compiled with.

Potential workarounds:

  1. Try setting use-qr-decomposition="1" in your <mapping:rbf-thin-plate-splines ... />. This should use an Eigen-based implementation, which does not rely on MPI.
  2. If (1) does not work, try recompiling preCICE without PETSc: cmake -DPRECICE_PETScMapping=OFF ..
  3. If also (2) does not work, try recompiling preCICE also without MPI: cmake -DPRECICE_PETScMapping=OFF -DPRECICE_MPICommunication=OFF ..

https://precice.org/installation-source-configuration.html