3#include <precice/Version.h>
4#include <precice/export.h>
33 const char *participantName,
34 const char *configFileName,
35 int solverProcessIndex,
36 int solverProcessSize,
55 const char *participantName,
56 const char *configFileName,
57 int solverProcessIndex,
58 int solverProcessSize);
136 const char * meshName,
137 const double *coordinates);
159 const char * meshName,
161 const double *coordinates,
174 const char *meshName,
188 const char *meshName,
196 const char *meshName,
211 const char *meshName,
225 const char *meshName,
241 const char *meshName,
255 const char *meshName,
271 const char *meshName,
298 const char * meshName,
299 const char * dataName,
301 const int * valueIndices,
302 const double *values);
321 const char *meshName,
322 const char *dataName,
324 const int * valueIndices,
325 double relativeReadTime,
337 const char * meshName,
338 const double *boundingBox);
344 const char *meshName,
347 double * coordinates);
358 const char *dataName);
362 const char * meshName,
363 const char * dataName,
365 const int * valueIndices,
366 const double *gradients);
PRECICE_API int precicec_getMeshVertexSize(const char *meshName)
Returns the number of vertices of a mesh.
PRECICE_API void precicec_writeData(const char *meshName, const char *dataName, int size, const int *valueIndices, const double *values)
Writes vector data values given as block.
PRECICE_API int precicec_isTimeWindowComplete()
Returns true (->1), if the coupling time window is completed.
PRECICE_API double precicec_getMaxTimeStepSize()
Returns maximum allowed time step size.
PRECICE_API int precicec_getDataDimensions(const char *meshName, const char *dataName)
Returns the spatial dimensionality of the given data on the given mesh.
PRECICE_API void precicec_setMeshTetrahedron(const char *meshName, int firstVertexID, int secondVertexID, int thirdVertexID, int fourthVertexID)
Sets mesh tetrahedron from vertex IDs.
PRECICE_API void precicec_initialize()
Initiates the coupling to the coupling supervisor and initializes coupling data.
PRECICE_API void precicec_setMeshAccessRegion(const char *meshName, const double *boundingBox)
See precice::Participant::setMeshAccessRegion().
PRECICE_API int precicec_requiresGradientDataFor(const char *meshName, const char *dataName)
Checks if the given data set requires gradient data. We check if the data object has been initialized...
PRECICE_API const char * precicec_getVersionInformation()
Returns information on the version of preCICE.
PRECICE_API int precicec_getMeshDimensions(const char *meshName)
Returns the spatial dimensionality of the given mesh.
PRECICE_API void precicec_getMeshVertexIDsAndCoordinates(const char *meshName, const int size, int *ids, double *coordinates)
See precice::Participant::getMeshVertexIDsAndCoordinates().
PRECICE_API void precicec_createParticipant(const char *participantName, const char *configFileName, int solverProcessIndex, int solverProcessSize)
Creates the coupling interface and configures it.
PRECICE_API void precicec_advance(double computedTimeStepSize)
Exchanges data between solver and coupling supervisor.
PRECICE_API void precicec_setMeshVertices(const char *meshName, int size, const double *coordinates, int *ids)
Creates multiple mesh vertices.
PRECICE_API void precicec_setMeshEdge(const char *meshName, int firstVertexID, int secondVertexID)
Sets mesh edge from vertex IDs.
PRECICE_API void precicec_readData(const char *meshName, const char *dataName, int size, const int *valueIndices, double relativeReadTime, double *values)
Reads vector data values given as block.
PRECICE_API int precicec_requiresMeshConnectivityFor(const char *meshName)
Checks if the given mesh requires connectivity.
PRECICE_API void precicec_finalize()
Finalizes the coupling to the coupling supervisor.
PRECICE_API void precicec_createParticipant_withCommunicator(const char *participantName, const char *configFileName, int solverProcessIndex, int solverProcessSize, void *communicator)
PRECICE_API void precicec_setMeshQuad(const char *meshName, int firstVertexID, int secondVertexID, int thirdVertexID, int fourthVertexID)
Sets surface mesh quadrangle from vertex IDs.
PRECICE_API int precicec_requiresInitialData()
PRECICE_API void precicec_setMeshTriangle(const char *meshName, int firstVertexID, int secondVertexID, int thirdVertexID)
Sets a triangle from vertex IDs. Creates missing edges.
PRECICE_API void precicec_setMeshTetrahedra(const char *meshName, int size, const int *ids)
Sets multiple mesh tetrahedra from vertex IDs.
PRECICE_API int precicec_isCouplingOngoing()
Returns true (->1), if the coupled simulation is ongoing.
PRECICE_API int precicec_requiresReadingCheckpoint()
PRECICE_API void precicec_setMeshQuads(const char *meshName, int size, const int *ids)
Sets multiple mesh quads from vertex IDs.
PRECICE_API void precicec_setMeshTriangles(const char *meshName, int size, const int *ids)
Sets multiple mesh triangles from vertex IDs.
PRECICE_API int precicec_setMeshVertex(const char *meshName, const double *coordinates)
Creates a mesh vertex.
PRECICE_API int precicec_requiresWritingCheckpoint()
PRECICE_API void precicec_setMeshEdges(const char *meshName, int size, const int *ids)
Sets multiple mesh edge from vertex IDs.
PRECICE_API void precicec_writeGradientData(const char *meshName, const char *dataName, int size, const int *valueIndices, const double *gradients)
Writes vector gradient data to a mesh.