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);
139 const char *meshName,
140 const double *coordinates);
162 const char *meshName,
164 const double *coordinates,
177 const char *meshName,
191 const char *meshName,
199 const char *meshName,
214 const char *meshName,
228 const char *meshName,
244 const char *meshName,
258 const char *meshName,
274 const char *meshName,
301 const char *meshName,
302 const char *dataName,
304 const int *valueIndices,
305 const double *values);
324 const char *meshName,
325 const char *dataName,
327 const int *valueIndices,
328 double relativeReadTime,
349 const char *meshName,
350 const char *dataName,
352 const double *coordinates,
353 const double *values);
369 const char *meshName,
370 const char *dataName,
372 const double *coordinates,
373 double relativeReadTime,
384 const char *meshName,
385 const double *boundingBox);
391 const char *meshName,
394 double *coordinates);
405 const char *dataName);
409 const char *meshName,
410 const char *dataName,
412 const int *valueIndices,
413 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 void precicec_startProfilingSection(const char *sectionName)
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_stopLastProfilingSection()
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_writeAndMapData(const char *meshName, const char *dataName, int size, const double *coordinates, const double *values)
Writes data using just-in-time data mapping See.
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)
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 void precicec_mapAndReadData(const char *meshName, const char *dataName, int size, const double *coordinates, double relativeReadTime, double *values)
Reads data using just-in-time data mapping. See.
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 void precicec_resetMesh(const char *meshName)
Removes all vertices and connectivity information from the mesh.
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.