1 #ifndef __CS_COUPLING_H__
2 #define __CS_COUPLING_H__
111 #if defined(HAVE_MPI)
137 const ple_coupling_mpi_set_t *
274 ple_lnum_t n_max_extents,
306 float tolerance_base,
307 float tolerance_fraction,
309 const ple_coord_t point_coords[],
310 const int point_tag[],
311 ple_lnum_t location[],
341 float tolerance_base,
342 float tolerance_fraction,
344 const ple_coord_t point_coords[],
345 const int point_tag[],
346 ple_lnum_t location[],
int cs_coupling_get_sync_flag(void)
Return the optional synchronization flag for external couplings.
Definition: cs_coupling.c:296
void cs_coupling_discover_mpi_apps(const char *app_name)
Discover other applications in the same MPI root communicator.
Definition: cs_coupling.c:178
real(c_double), pointer, save dtref
reference time step
Definition: optcal.f90:430
integer(c_int), pointer, save ntmabs
Maximum absolute time step number.
Definition: optcal.f90:391
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:631
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:278
#define BEGIN_C_DECLS
Definition: cs_defs.h:429
int cs_int_t
Fortran-compatible integer.
Definition: cs_defs.h:295
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:402
void cs_coupling_set_sync_flag(int flag)
Define an optional synchronization flag for external couplings.
Definition: cs_coupling.c:338
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:687
bool cs_coupling_is_sync_active(void)
Indicate is synchronization with applications in the same PLE group is active.
Definition: cs_coupling.c:568
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:735
void cs_coupling_set_ts_multiplier(double m)
Define a time step multiplier for external couplings.
Definition: cs_coupling.c:377
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:430
double cs_real_t
Definition: cs_defs.h:296
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:388
void cs_coupling_finalize(void)
Finalize MPI coupling helper structures.
Definition: cs_coupling.c:263
#define CS_PROCF(x, y)
Definition: cs_defs.h:453
double cs_coupling_get_ts_multiplier(void)
Return the time step multiplier for external couplings.
Definition: cs_coupling.c:356