1#ifndef __CS_PARAMEDMEM_HXX__
2#define __CS_PARAMEDMEM_HXX__
41typedef struct _cs_paramedmem_coupling_t cs_paramedmem_coupling_t;
85cs_paramedmem_coupling_t *
98cs_paramedmem_coupling_t *
114cs_paramedmem_coupling_t *
116 const char *app2_name,
117 const char *cpl_name);
137cs_paramedmem_coupling_t *
172 const char *sel_crit,
325 const double values[]);
345 const double values[]);
#define BEGIN_C_DECLS
Definition: cs_defs.h:542
#define END_C_DECLS
Definition: cs_defs.h:543
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:335
void cs_paramedmem_coupling_destroy(cs_paramedmem_coupling_t *c)
Destroy a given ParaMEDMEM coupling structure.
Definition: cs_paramedmem_coupling.cxx:578
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:637
void cs_paramedmem_send_field_vals_l(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:1532
void cs_paramedmem_coupling_define_mesh_fields(void)
initialize coupled mesh and fields based on user functions
Definition: cs_paramedmem_coupling.cxx:1698
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:1180
cs_paramedmem_coupling_t * cs_paramedmem_coupling_by_name(const char *name)
Retrieve coupling struct pointer by name.
Definition: cs_paramedmem_coupling.cxx:401
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
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:441
void cs_paramedmem_send_data(cs_paramedmem_coupling_t *c)
Send values of field attached to DEC.
Definition: cs_paramedmem_coupling.cxx:1345
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:1427
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:908
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:840
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:668
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:872
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:809
int cs_paramedmem_get_number_of_couplings(void)
Get number of defined couplings.
Definition: cs_paramedmem_coupling.cxx:748
cs_paramedmem_coupling_t * cs_paramedmem_coupling_by_id(int cpl_id)
Retrieve coupling struct pointer by id.
Definition: cs_paramedmem_coupling.cxx:366
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:543
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:1398
void cs_paramedmem_recv_field_vals_l(cs_paramedmem_coupling_t *c, const char *name, double *vals)
Recieve values of a field.
Definition: cs_paramedmem_coupling.cxx:1607
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:778
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:1219
void cs_paramedmem_coupling_all_finalize(void)
Destroy all coupling structures.
Definition: cs_paramedmem_coupling.cxx:616
void cs_paramedmem_coupling_all_init(void)
initialize couplings based on user functions
Definition: cs_paramedmem_coupling.cxx:1686
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:1316
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:1493
void cs_paramedmem_recv_data(cs_paramedmem_coupling_t *c)
Recieve values of field attached to DEC.
Definition: cs_paramedmem_coupling.cxx:1371
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:716
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:1059
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:1279
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:1115
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:1570
void cs_paramedmem_coupling_log_setup(void)
Log ParaMEDMEM coupling setup information.
Definition: cs_paramedmem_coupling.cxx:1640
real(c_double), dimension(:), pointer, save fn
Definition: cs_coal_incl.f90:42
Field descriptor.
Definition: cs_field.h:131