1 #ifndef __CS_PARAMEDMEM_HXX__
2 #define __CS_PARAMEDMEM_HXX__
41 typedef struct _cs_paramedmem_coupling_t cs_paramedmem_coupling_t;
85 cs_paramedmem_coupling_t *
98 cs_paramedmem_coupling_t *
114 cs_paramedmem_coupling_t *
116 const char *app2_name,
117 const char *cpl_name);
137 cs_paramedmem_coupling_t *
172 const char *sel_crit,
325 const double values[]);
345 const double values[]);
#define BEGIN_C_DECLS
Definition: cs_defs.h:514
#define END_C_DECLS
Definition: cs_defs.h:515
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:313
void cs_paramedmem_coupling_destroy(cs_paramedmem_coupling_t *c)
Destroy a given ParaMEDMEM coupling structure.
Definition: cs_paramedmem_coupling.cxx:537
void cs_paramedmem_add_mesh_from_criteria(cs_paramedmem_coupling_t *c, const char *sel_crit, int elt_dim)
Define coupled mesh based on a selection criteria.
Definition: cs_paramedmem_coupling.cxx:596
void cs_paramedmem_coupling_define_mesh_fields(void)
initialize coupled mesh and fields based on user functions
Definition: cs_paramedmem_coupling.cxx:1613
void cs_paramedmem_field_export_l(cs_paramedmem_coupling_t *c, const char *name, const double values[])
Assign values based on mesh location corresponding to coupled elements (and associated ParaMESH) to a...
Definition: cs_paramedmem_coupling.cxx:1127
cs_paramedmem_coupling_t * cs_paramedmem_coupling_create(const char *app1_name, const char *app2_name, const char *cpl_name)
Create a new ParaMEDMEM coupling.
Definition: cs_paramedmem_coupling.cxx:400
cs_paramedmem_coupling_t * cs_paramedmem_coupling_create_uncoupled(const char *cpl_name)
Create a new ParaMEDMEM handler structure with no actual coupling.
Definition: cs_paramedmem_coupling.cxx:502
cs_medcpl_field_nature_t
Definition: cs_paramedmem_coupling.h:62
@ CS_MEDCPL_FIELD_EXT_CONSERVATION
Definition: cs_paramedmem_coupling.h:65
@ CS_MEDCPL_FIELD_EXT_MAXIMUM
Definition: cs_paramedmem_coupling.h:66
@ CS_MEDCPL_FIELD_INT_CONSERVATION
Definition: cs_paramedmem_coupling.h:63
@ CS_MEDCPL_FIELD_INT_MAXIMUM
Definition: cs_paramedmem_coupling.h:64
@ CS_MEDCPL_FIELD_N_NATURE
Definition: cs_paramedmem_coupling.h:67
void cs_paramedmem_send_data(cs_paramedmem_coupling_t *c)
Send values of field attached to DEC.
Definition: cs_paramedmem_coupling.cxx:1338
void cs_paramedmem_attach_field_by_name(cs_paramedmem_coupling_t *c, const char *name)
Attach a field to InterpKernelDEC for send operation using its name.
Definition: cs_paramedmem_coupling.cxx:1420
int cs_paramedmem_def_coupled_field(cs_paramedmem_coupling_t *c, const char *name, int dim, cs_medcpl_field_nature_t field_nature, cs_medcpl_space_discr_t space_discr, cs_medcpl_time_discr_t time_discr)
Define a coupled field.
Definition: cs_paramedmem_coupling.cxx:867
cs_lnum_t cs_paramedmem_mesh_get_n_vertices(const cs_paramedmem_coupling_t *coupling)
Get number of vertices of coupled mesh.
Definition: cs_paramedmem_coupling.cxx:799
void cs_paramedmem_add_mesh_from_zone(cs_paramedmem_coupling_t *c, const cs_zone_t *zone)
Define coupled mesh based on a cs_zone_t pointer.
Definition: cs_paramedmem_coupling.cxx:627
int cs_paramedmem_get_number_of_couplings(void)
Get number of defined couplings.
Definition: cs_paramedmem_coupling.cxx:707
void cs_paramedmem_attach_field_by_id(cs_paramedmem_coupling_t *c, int field_id)
Attach a field to InterpKernelDEC for send operation using its index.
Definition: cs_paramedmem_coupling.cxx:1391
cs_paramedmem_coupling_t * cs_paramedmem_coupling_by_name(const char *name)
Retrieve coupling struct pointer by name.
Definition: cs_paramedmem_coupling.cxx:360
cs_lnum_t cs_paramedmem_mesh_get_n_elts(const cs_paramedmem_coupling_t *coupling)
Get number of elements of coupled mesh.
Definition: cs_paramedmem_coupling.cxx:737
void cs_paramedmem_field_import(cs_paramedmem_coupling_t *c, const char *name, double values[])
Copy values from associated ParaFIELD object to array defined parent mesh location.
Definition: cs_paramedmem_coupling.cxx:1185
void cs_paramedmem_coupling_all_finalize(void)
Destroy all coupling structures.
Definition: cs_paramedmem_coupling.cxx:575
cs_paramedmem_coupling_t * cs_paramedmem_coupling_by_id(int cpl_id)
Retrieve coupling struct pointer by id.
Definition: cs_paramedmem_coupling.cxx:325
void cs_paramedmem_coupling_all_init(void)
initialize couplings based on user functions
Definition: cs_paramedmem_coupling.cxx:1601
cs_medcpl_time_discr_t
Definition: cs_paramedmem_coupling.h:56
@ CS_MEDCPL_NO_TIME
Definition: cs_paramedmem_coupling.h:57
@ CS_MEDCPL_ONE_TIME
Definition: cs_paramedmem_coupling.h:58
@ CS_MEDCPL_LINEAR_TIME
Definition: cs_paramedmem_coupling.h:59
cs_medcpl_space_discr_t
Definition: cs_paramedmem_coupling.h:51
@ CS_MEDCPL_ON_NODES
Definition: cs_paramedmem_coupling.h:53
@ CS_MEDCPL_ON_CELLS
Definition: cs_paramedmem_coupling.h:52
void cs_paramedmem_sync_dec(cs_paramedmem_coupling_t *c)
Sync the coupling's InterpKernelDEC.
Definition: cs_paramedmem_coupling.cxx:1309
void cs_paramedmem_send_field_vals(cs_paramedmem_coupling_t *c, const char *name, const double *vals)
Send values of a field. If vals pointer is non-null, values are updated before send.
Definition: cs_paramedmem_coupling.cxx:1486
const cs_lnum_t * cs_paramedmem_mesh_get_vertex_list(const cs_paramedmem_coupling_t *coupling)
Get indirection list for vertices in coupled mesh.
Definition: cs_paramedmem_coupling.cxx:831
void cs_paramedmem_recv_data(cs_paramedmem_coupling_t *c)
Recieve values of field attached to DEC.
Definition: cs_paramedmem_coupling.cxx:1364
void cs_paramedmem_add_mesh_from_ids(cs_paramedmem_coupling_t *c, cs_lnum_t n_elts, const cs_lnum_t elt_ids[], int elt_dim)
Define coupled mesh based on a cs_zone_t pointer.
Definition: cs_paramedmem_coupling.cxx:675
int cs_paramedmem_def_coupled_field_from_cs_field(cs_paramedmem_coupling_t *c, cs_field_t *f, cs_medcpl_field_nature_t fn, cs_medcpl_time_discr_t td)
Define a coupled field based on a cs_field_t pointer.
Definition: cs_paramedmem_coupling.cxx:997
void cs_paramedmem_field_import_l(cs_paramedmem_coupling_t *c, const char *name, double values[])
Copy values from associated ParaFIELD structure to array defined on mesh location corresponding to co...
Definition: cs_paramedmem_coupling.cxx:1257
void cs_paramedmem_field_export(cs_paramedmem_coupling_t *c, const char *name, const double values[])
Assign values based on parent mesh location to associated ParaFIELD objects.
Definition: cs_paramedmem_coupling.cxx:1053
void cs_paramedmem_recv_field_vals(cs_paramedmem_coupling_t *c, const char *name, double *vals)
Recieve values of a field.
Definition: cs_paramedmem_coupling.cxx:1523
void cs_paramedmem_coupling_log_setup(void)
Log ParaMEDMEM coupling setup information.
Definition: cs_paramedmem_coupling.cxx:1555
const cs_lnum_t * cs_paramedmem_mesh_get_elt_list(const cs_paramedmem_coupling_t *coupling)
Get indirection list for elements in coupled mesh.
Definition: cs_paramedmem_coupling.cxx:768
double precision, dimension(ncharm), save fn
Definition: cs_coal_incl.f90:42
Field descriptor.
Definition: cs_field.h:131