1 #ifndef __CS_COUPLING_H__ 2 #define __CS_COUPLING_H__ 38 #include <ple_coupling.h> 111 #if defined(HAVE_MPI) 122 const char *forced_app_type);
138 const ple_coupling_mpi_set_t *
275 ple_lnum_t n_max_extents,
307 float tolerance_base,
308 float tolerance_fraction,
310 const ple_coord_t point_coords[],
311 const int point_tag[],
312 ple_lnum_t location[],
342 float tolerance_base,
343 float tolerance_fraction,
345 const ple_coord_t point_coords[],
346 const int point_tag[],
347 ple_lnum_t location[],
int cs_coupling_get_sync_flag(void)
Return the optional synchronization flag for external couplings.
Definition: cs_coupling.c:305
real(c_double), pointer, save dtref
Reference time step.
Definition: optcal.f90:443
integer(c_int), pointer, save ntmabs
Maximum absolute time step number.
Definition: optcal.f90:375
ple_lnum_t cs_coupling_mesh_extents(const void *mesh, ple_lnum_t n_max_extents, double tolerance, double extents[])
Compute extents of a mesh representation.
Definition: cs_coupling.c:640
#define BEGIN_C_DECLS
Definition: cs_defs.h:467
int cs_int_t
Fortran-compatible integer.
Definition: cs_defs.h:301
void cplact(cs_int_t *isync)
Definition: cs_coupling.c:153
void cs_coupling_sync_apps(int flags, int current_ts_id, int *max_ts_id, double *ts)
Synchronize with applications in the same PLE coupling group.
Definition: cs_coupling.c:411
double cs_real_t
Floating-point value.
Definition: cs_defs.h:302
void cs_coupling_set_sync_flag(int flag)
Define an optional synchronization flag for external couplings.
Definition: cs_coupling.c:347
const ple_coupling_mpi_set_t * cs_coupling_get_mpi_apps(void)
Return info on other applications in the same MPI root communicator.
Definition: cs_coupling.c:287
void cs_coupling_point_in_mesh(const void *mesh, float tolerance_base, float tolerance_fraction, ple_lnum_t n_points, const ple_coord_t point_coords[], const int point_tag[], ple_lnum_t location[], float distance[])
Find elements in a given mesh containing points: updates the location[] and distance[] arrays associa...
Definition: cs_coupling.c:696
bool cs_coupling_is_sync_active(void)
Indicate is synchronization with applications in the same PLE group is active.
Definition: cs_coupling.c:577
void cs_coupling_point_in_mesh_p(const void *mesh, float tolerance_base, float tolerance_fraction, ple_lnum_t n_points, const ple_coord_t point_coords[], const int point_tag[], ple_lnum_t location[], float distance[])
Find elements in a given mesh containing points: updates the location[] and distance[] arrays associa...
Definition: cs_coupling.c:744
void cs_coupling_set_ts_multiplier(double m)
Define a time step multiplier for external couplings.
Definition: cs_coupling.c:386
void cplsyn(cs_int_t *ntmabs, const cs_int_t *ntcabs, cs_real_t *dtref)
Definition: cs_coupling.c:121
#define END_C_DECLS
Definition: cs_defs.h:468
integer(c_int), pointer, save ntcabs
Current absolute time step number. In case of restart, this is equal to ntpabs + number of new iterat...
Definition: optcal.f90:366
#define CS_PROCF(x, y)
Definition: cs_defs.h:481
double cs_coupling_get_ts_multiplier(void)
Return the time step multiplier for external couplings.
Definition: cs_coupling.c:365
void cs_coupling_discover_mpi_apps(const char *app_name, const char *forced_app_type)
Discover other applications in the same MPI root communicator.
Definition: cs_coupling.c:178
void cs_coupling_finalize(void)
Finalize MPI coupling helper structures.
Definition: cs_coupling.c:272