Fortran initializing data through precice fails

Hello,

I am trying to initialize pressure data between my fluid solver and abaqus using the fortran bindings but precice throws an unhandled error if I call initialize after writing pressure data here is a brief over view of what I am doing:

call precicef_create("uns3d", configFileName, &
    &                        myid, ncpu, &
    &                        5, 64)
    ! Tell precice which nodes the processor is holding
call precicef_set_vertices("uns3dMesh", n_bound_nodes, x0, ids, 9)
call precicef_set_mesh_triangles("uns3dMesh", n_bface, boundary_tri, 9)
call precicef_write_data("uns3dMesh", "Pressure", n_bound_nodes, ids, &
    &                            pressure, 9, 8)
call precicef_initialize() ! <-- fails here
call precicef_read_data("uns3dMesh", "Displacements", n_bound_nodes, ids, &
        &                           0d0, disp, 9, &
        &                           13)
<?xml version="1.0" encoding="UTF-8"?>
<precice-configuration>
    <log enabled="true">
        <sink type="stream" output="stdout" format="(%Rank%)  [%Module%]:%Line% in %Function%: %ColorizedSeverity%%Message%" filter="(%Severity% = debug) and not ((%Severity% = info) and (%Rank% != 0))" enabled="true"/>
    </log>
    <!-- <profiling synchronize="true" /> -->
    <data:vector name="Displacements"/>
    <data:scalar name="Pressure"/>

    <mesh name="uns3dMesh" dimensions="3">
        <use-data name="Displacements"/>
        <use-data name="Pressure"/>
    </mesh>
    <mesh name="Abaqus-FSI-Surface" dimensions="3">
        <use-data name="Displacements"/>
        <use-data name="Pressure"/>
    </mesh>

    <participant name="uns3d">
        <provide-mesh name="uns3dMesh" />
        <write-data name="Pressure" mesh="uns3dMesh"/>
        <read-data  name="Displacements" mesh="uns3dMesh"/>
    </participant>

    <participant name="Abaqus">
      <provide-mesh name="Abaqus-FSI-Surface" />
      <receive-mesh name="uns3dMesh" from="uns3d"/>
      <read-data  name="Pressure" mesh="Abaqus-FSI-Surface"/>      
      <write-data name="Displacements" mesh="Abaqus-FSI-Surface"/>
      <mapping:nearest-neighbor direction="write" from="Abaqus-FSI-Surface" to="uns3dMesh" constraint="conservative">
      </mapping:nearest-neighbor >
      <mapping:nearest-projection direction="read" from="uns3dMesh" to="Abaqus-FSI-Surface" constraint="consistent">
      </mapping:nearest-projection >
    </participant>

    <m2n:sockets acceptor="uns3d" connector="Abaqus" network="ib0" exchange-directory="/scratch/user/justin.schoppe/uns3d/7.0.0/test/"/>

    <coupling-scheme:serial-explicit>
        <participants first="uns3d" second="Abaqus"/>
        <time-window-size value="-1" method="first-participant"/>
        <max-time-windows value="100000"/>
        <exchange data="Displacements" mesh="uns3dMesh" from="Abaqus" to="uns3d"/>
        <exchange data="Pressure" mesh="uns3dMesh" from="uns3d" to="Abaqus" initialize="yes"/> <!-- tried True and yes neither worked -->
    </coupling-scheme:serial-explicit>
</precice-configuration>

The only error I get is “Abort trap signal”

Any help is appreciated,

Thank you!

I found the issue I need to add the check for initialize before writing.

call precicef_requires_initial_data(require_init)

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