preCICE v3.1.2
Loading...
Searching...
No Matches
preciceFortran.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <precice/export.h>
4
14#ifdef __cplusplus
15extern "C" {
16#endif
17
20
35PRECICE_API void precicef_create_(
36 const char *participantName,
37 const char *configFileName,
38 const int * solverProcessIndex,
39 const int * solverProcessSize,
40 int participantNameLength,
41 int configFileNameLength);
42
44
47
58PRECICE_API void precicef_initialize_();
59
70PRECICE_API void precicef_advance_(const double *timeStepSize);
71
79PRECICE_API void precicef_finalize_();
80
82
85
97 int *isRequired);
98
110 int *isRequired);
111
113
116
129PRECICE_API void precicef_get_mesh_dimensions_(
130 const char *meshName,
131 int * dimensions,
132 int meshNameLength);
133
147PRECICE_API void precicef_get_data_dimensions_(
148 const char *meshName,
149 const char *dataName,
150 int * dimensions,
151 int meshNameLength,
152 int dataNameLength);
153
164PRECICE_API void precicef_is_coupling_ongoing_(int *isOngoing);
165
176PRECICE_API void precicef_is_time_window_complete_(int *isComplete);
177
188PRECICE_API void precicef_get_max_time_step_size_(double *maxTimeStepSize);
189
191
195
208 const char *meshName,
209 int * required,
210 int meshNameLength);
211
225PRECICE_API void precicef_set_vertex_(
226 const char * meshName,
227 const double *coordinates,
228 int * id,
229 int meshNameLength);
230
243PRECICE_API void precicef_get_mesh_vertex_size_(
244 const char *meshName,
245 int * meshSize,
246 int meshNameLength);
247
262PRECICE_API void precicef_set_vertices_(
263 const char *meshName,
264 const int * size,
265 double * coordinates,
266 int * ids,
267 int meshNameLength);
268
282PRECICE_API void precicef_set_edge_(
283 const char *meshName,
284 const int * firstVertexID,
285 const int * secondVertexID,
286 int meshNameLength);
287
301PRECICE_API void precicef_set_mesh_edges_(
302 const char *meshName,
303 const int * size,
304 const int * ids,
305 int meshNameLength);
306
321PRECICE_API void precicef_set_triangle_(
322 const char *meshName,
323 const int * firstVertexID,
324 const int * secondVertexID,
325 const int * thirdVertexID,
326 int meshNameLength);
327
341PRECICE_API void precicef_set_mesh_edges_(
342 const char *meshName,
343 const int * size,
344 const int * ids,
345 int meshNameLength);
346
362PRECICE_API void precicef_set_quad_(
363 const char *meshName,
364 const int * firstVertexID,
365 const int * secondVertexID,
366 const int * thirdVertexID,
367 const int * fourthVertexID,
368 int meshNameLength);
369
383PRECICE_API void precicef_set_mesh_quads_(
384 const char *meshName,
385 const int * size,
386 const int * ids,
387 int meshNameLength);
388
404PRECICE_API void precicef_set_tetrahedron(
405 const char *meshName,
406 const int * firstVertexID,
407 const int * secondVertexID,
408 const int * thirdVertexID,
409 const int * fourthVertexID,
410 int meshNameLength);
411
425PRECICE_API void precicef_set_mesh_tetrahedra_(
426 const char *meshName,
427 const int * size,
428 const int * ids,
429 int meshNameLength);
430
432
435
446PRECICE_API void precicef_requires_initial_data_(
447 int *isRequired);
448
464PRECICE_API void precicef_write_data_(
465 const char *meshName,
466 const char *dataName,
467 const int * size,
468 int * ids,
469 double * values,
470 int meshNameLength,
471 int dataNameLength);
472
489PRECICE_API void precicef_read_data_(
490 const char * meshName,
491 const char * dataName,
492 const int * size,
493 int * ids,
494 const double *relativeReadTime,
495 double * values,
496 int meshNameLength,
497 int dataNameLength);
498
500
503
515PRECICE_API void precicef_set_mesh_access_region_(
516 const char * meshName,
517 const double *boundingBox,
518 int meshNameLength);
519
534 const char *meshName,
535 const int size,
536 int * ids,
537 double * coordinates,
538 int meshNameLength);
539
541
546
560 const char *meshName,
561 const char *dataName, int *required,
562 int meshNameLength,
563 int dataNameLength);
564
579PRECICE_API void precicef_write_gradient_data_(
580 const char * meshName,
581 const char * dataName,
582 const int * size,
583 const int * ids,
584 const double *gradients,
585 int meshNameLength,
586 int dataNameLength);
587
589
590PRECICE_API void precicef_get_version_information_(
591 char *versionInfo,
592 int lengthVersionInfo);
593
594#ifdef __cplusplus
595}
596#endif
PRECICE_API void precicef_get_version_information_(char *versionInfo, int lengthVersionInfo)
PRECICE_API void precicef_requires_writing_checkpoint_(int *isRequired)
PRECICE_API void precicef_set_mesh_access_region_(const char *meshName, const double *boundingBox, int meshNameLength)
PRECICE_API void precicef_set_vertices_(const char *meshName, const int *size, double *coordinates, int *ids, int meshNameLength)
PRECICE_API void precicef_set_quad_(const char *meshName, const int *firstVertexID, const int *secondVertexID, const int *thirdVertexID, const int *fourthVertexID, int meshNameLength)
PRECICE_API void precicef_requires_initial_data_(int *isRequired)
PRECICE_API void precicef_set_edge_(const char *meshName, const int *firstVertexID, const int *secondVertexID, int meshNameLength)
PRECICE_API void precicef_create_(const char *participantName, const char *configFileName, const int *solverProcessIndex, const int *solverProcessSize, int participantNameLength, int configFileNameLength)
PRECICE_API void precicef_set_vertex_(const char *meshName, const double *coordinates, int *id, int meshNameLength)
PRECICE_API void precicef_write_gradient_data_(const char *meshName, const char *dataName, const int *size, const int *ids, const double *gradients, int meshNameLength, int dataNameLength)
PRECICE_API void precicef_set_mesh_edges_(const char *meshName, const int *size, const int *ids, int meshNameLength)
PRECICE_API void precicef_requires_reading_checkpoint_(int *isRequired)
PRECICE_API void precicef_set_mesh_quads_(const char *meshName, const int *size, const int *ids, int meshNameLength)
PRECICE_API void precicef_set_tetrahedron(const char *meshName, const int *firstVertexID, const int *secondVertexID, const int *thirdVertexID, const int *fourthVertexID, int meshNameLength)
PRECICE_API void precicef_initialize_()
PRECICE_API void precicef_advance_(const double *timeStepSize)
PRECICE_API void precicef_is_coupling_ongoing_(int *isOngoing)
PRECICE_API void precicef_get_max_time_step_size_(double *maxTimeStepSize)
PRECICE_API void precicef_get_mesh_vertex_ids_and_coordinates_(const char *meshName, const int size, int *ids, double *coordinates, int meshNameLength)
PRECICE_API void precicef_requires_mesh_connectivity_for_(const char *meshName, int *required, int meshNameLength)
PRECICE_API void precicef_is_time_window_complete_(int *isComplete)
PRECICE_API void precicef_get_mesh_dimensions_(const char *meshName, int *dimensions, int meshNameLength)
PRECICE_API void precicef_get_data_dimensions_(const char *meshName, const char *dataName, int *dimensions, int meshNameLength, int dataNameLength)
PRECICE_API void precicef_write_data_(const char *meshName, const char *dataName, const int *size, int *ids, double *values, int meshNameLength, int dataNameLength)
PRECICE_API void precicef_requires_gradient_data_for_(const char *meshName, const char *dataName, int *required, int meshNameLength, int dataNameLength)
PRECICE_API void precicef_get_mesh_vertex_size_(const char *meshName, int *meshSize, int meshNameLength)
PRECICE_API void precicef_finalize_()
PRECICE_API void precicef_set_mesh_tetrahedra_(const char *meshName, const int *size, const int *ids, int meshNameLength)
PRECICE_API void precicef_set_triangle_(const char *meshName, const int *firstVertexID, const int *secondVertexID, const int *thirdVertexID, int meshNameLength)
PRECICE_API void precicef_read_data_(const char *meshName, const char *dataName, const int *size, int *ids, const double *relativeReadTime, double *values, int meshNameLength, int dataNameLength)