7.1
general documentation
cs_paramedmem_coupling.h File Reference
#include "cs_defs.h"
+ Include dependency graph for cs_paramedmem_coupling.h:

Go to the source code of this file.

Enumerations

enum  cs_medcpl_space_discr_t { CS_MEDCPL_ON_CELLS, CS_MEDCPL_ON_NODES }
 
enum  cs_medcpl_time_discr_t { CS_MEDCPL_NO_TIME, CS_MEDCPL_ONE_TIME, CS_MEDCPL_LINEAR_TIME }
 
enum  cs_medcpl_field_nature_t {
  CS_MEDCPL_FIELD_INT_CONSERVATION, CS_MEDCPL_FIELD_INT_MAXIMUM, CS_MEDCPL_FIELD_EXT_CONSERVATION, CS_MEDCPL_FIELD_EXT_MAXIMUM,
  CS_MEDCPL_FIELD_N_NATURE
}
 

Functions

cs_paramedmem_coupling_t * cs_paramedmem_coupling_by_id (int cpl_id)
 Retrieve coupling struct pointer by id. More...
 
cs_paramedmem_coupling_t * cs_paramedmem_coupling_by_name (const char *name)
 Retrieve coupling struct pointer by name. More...
 
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. More...
 
void cs_paramedmem_coupling_destroy (cs_paramedmem_coupling_t *c)
 Destroy a given ParaMEDMEM coupling structure. More...
 
void cs_paramedmem_coupling_all_finalize (void)
 Destroy all coupling structures. More...
 
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. More...
 
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. More...
 
int cs_paramedmem_get_number_of_couplings (void)
 Get number of defined couplings. More...
 
cs_lnum_t cs_paramedmem_mesh_get_n_elts (const cs_paramedmem_coupling_t *coupling)
 Get number of elements of coupled mesh. More...
 
const cs_lnum_tcs_paramedmem_mesh_get_elt_list (const cs_paramedmem_coupling_t *coupling)
 Get indirection list for elements in coupled mesh. More...
 
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. More...
 
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. More...
 
void cs_paramedmem_field_export (cs_paramedmem_coupling_t *c, const char *name, const double values[])
 Write values before sending operation. More...
 
void cs_paramedmem_field_import (cs_paramedmem_coupling_t *c, const char *name, double values[])
 Read values before sending operation. More...
 
void cs_paramedmem_sync_dec (cs_paramedmem_coupling_t *c)
 Sync the coupling's InterpKernelDEC. More...
 
void cs_paramedmem_send_data (cs_paramedmem_coupling_t *c)
 Send values of field attached to DEC. More...
 
void cs_paramedmem_recv_data (cs_paramedmem_coupling_t *c)
 Recieve values of field attached to DEC. More...
 
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. More...
 
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. More...
 
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. More...
 
void cs_paramedmem_recv_field_vals (cs_paramedmem_coupling_t *c, const char *name, double *vals)
 Recieve values of a field. More...
 
void cs_paramedmem_coupling_all_init (void)
 initialize couplings based on user functions More...
 
void cs_paramedmem_coupling_define_mesh_fields (void)
 initialize coupled mesh and fields based on user functions More...
 
void cs_paramedmem_coupling_log_setup (void)
 Log ParaMEDMEM coupling setup information. More...
 

Enumeration Type Documentation

◆ cs_medcpl_field_nature_t

Enumerator
CS_MEDCPL_FIELD_INT_CONSERVATION 
CS_MEDCPL_FIELD_INT_MAXIMUM 
CS_MEDCPL_FIELD_EXT_CONSERVATION 
CS_MEDCPL_FIELD_EXT_MAXIMUM 
CS_MEDCPL_FIELD_N_NATURE 

◆ cs_medcpl_space_discr_t

Enumerator
CS_MEDCPL_ON_CELLS 
CS_MEDCPL_ON_NODES 

◆ cs_medcpl_time_discr_t

Enumerator
CS_MEDCPL_NO_TIME 
CS_MEDCPL_ONE_TIME 
CS_MEDCPL_LINEAR_TIME 

Function Documentation

◆ cs_paramedmem_add_mesh_from_criteria()

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.

Parameters
[in]cpointer to cs_paramedmem_coupling_t struct
[in]sel_critgeometrical selection criteria (string)
[in]elt_dimdimension of coupled elements

◆ cs_paramedmem_add_mesh_from_zone()

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.

Parameters
[in]cpointer to cs_paramedmem_coupling_t struct
[in]zonepointer to cs_zone_t struct

◆ cs_paramedmem_attach_field_by_id()

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.

Parameters
[in]cpointer to cs_paramedmem_coupling_t structure
[in]field_idindex of field in storing vector

◆ cs_paramedmem_attach_field_by_name()

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.

Parameters
[in]cpointer to cs_paramedmem_coupling_t structure
[in]namename of field (string)

◆ cs_paramedmem_coupling_all_finalize()

void cs_paramedmem_coupling_all_finalize ( void  )

Destroy all coupling structures.

◆ cs_paramedmem_coupling_all_init()

void cs_paramedmem_coupling_all_init ( void  )

initialize couplings based on user functions

◆ cs_paramedmem_coupling_by_id()

cs_paramedmem_coupling_t* cs_paramedmem_coupling_by_id ( int  cpl_id)

Retrieve coupling struct pointer by id.

Parameters
[in]cpl_idindex of the sought coupling
Returns
pointer to cs_paramedmem_coupling_t struct. Raise an error if the coupling does not exist.

◆ cs_paramedmem_coupling_by_name()

cs_paramedmem_coupling_t* cs_paramedmem_coupling_by_name ( const char *  name)

Retrieve coupling struct pointer by name.

Parameters
[in]namename of the coupling
Returns
pointer to cs_paramedmem_coupling_t struct or NULL if not found.

◆ cs_paramedmem_coupling_create()

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.

Parameters
[in]app1_nameName of app n°1 or NULL if calling app is app1
[in]app2_nameName of app n°2 or NULL if calling app is app2
[in]cpl_nameName of the coupling. If NULL an automatic name is generated.
Returns
pointer to newly created cs_paramedmem_coupling_t structure.

◆ cs_paramedmem_coupling_define_mesh_fields()

void cs_paramedmem_coupling_define_mesh_fields ( void  )

initialize coupled mesh and fields based on user functions

◆ cs_paramedmem_coupling_destroy()

void cs_paramedmem_coupling_destroy ( cs_paramedmem_coupling_t *  c)

Destroy a given ParaMEDMEM coupling structure.

Parameters
[in]cpointer to cs_paramedmem_coupling_t structure

◆ cs_paramedmem_coupling_log_setup()

void cs_paramedmem_coupling_log_setup ( void  )

Log ParaMEDMEM coupling setup information.

◆ cs_paramedmem_def_coupled_field()

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.

Parameters
[in]cpointer to cs_paramedmem_coupling_t struct
[in]namename of field
[in]dimfield dimension
[in]field_naturefield nature flag
[in]space_discrfield space discretisation (nodes or cells)
[in]time_discrfield coupling time discretisation
Returns
index of field within the storing vector

◆ cs_paramedmem_def_coupled_field_from_cs_field()

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.

Parameters
[in]cpointer to cs_paramedmem_coupling_t struct
[in]fpointer to cs_field_t struct
[in]fnfield nature flag
[in]time_discrfield coupling time discretisation
Returns
index of field within the storing vector

◆ cs_paramedmem_field_export()

void cs_paramedmem_field_export ( cs_paramedmem_coupling_t *  c,
const char *  name,
const double  values[] 
)

Write values before sending operation.

Parameters
[in]cpointer to cs_paramedmem_coupling_t structure
[in]namename of field
[in]valuesarray of values to write

◆ cs_paramedmem_field_import()

void cs_paramedmem_field_import ( cs_paramedmem_coupling_t *  c,
const char *  name,
double  values[] 
)

Read values before sending operation.

Parameters
[in]cpointer to cs_paramedmem_coupling_t structure
[in]namename of field
[in]valuesarray in which values will be stored

◆ cs_paramedmem_get_number_of_couplings()

int cs_paramedmem_get_number_of_couplings ( void  )

Get number of defined couplings.

Returns
number of defined couplings (int)

◆ cs_paramedmem_mesh_get_elt_list()

const cs_lnum_t* cs_paramedmem_mesh_get_elt_list ( const cs_paramedmem_coupling_t *  coupling)

Get indirection list for elements in coupled mesh.

Parameters
[in]couplingpointer to cs_paramedmem_coupling_t struct
Returns
cs_lnum_t pointer to indirection list

◆ cs_paramedmem_mesh_get_n_elts()

cs_lnum_t cs_paramedmem_mesh_get_n_elts ( const cs_paramedmem_coupling_t *  coupling)

Get number of elements of coupled mesh.

Parameters
[in]couplingpointer to cs_paramedmem_coupling_t struct
Returns
number of elements in mesh associated to coupling

◆ cs_paramedmem_recv_data()

void cs_paramedmem_recv_data ( cs_paramedmem_coupling_t *  c)

Recieve values of field attached to DEC.

Parameters
[in]cpointer to cs_paramedmem_coupling_t structure

◆ cs_paramedmem_recv_field_vals()

void cs_paramedmem_recv_field_vals ( cs_paramedmem_coupling_t *  c,
const char *  name,
double *  vals 
)

Recieve values of a field.

Parameters
[in]cpointer to cs_paramedmem_coupling_t structure
[in]namename of field
[in]valsarray of values to write

◆ cs_paramedmem_send_data()

void cs_paramedmem_send_data ( cs_paramedmem_coupling_t *  c)

Send values of field attached to DEC.

Parameters
[in]cpointer to cs_paramedmem_coupling_t structure

◆ cs_paramedmem_send_field_vals()

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.

Parameters
[in]cpointer to cs_paramedmem_coupling_t structure
[in]namename of field
[in]valsarray of values to write

◆ cs_paramedmem_sync_dec()

void cs_paramedmem_sync_dec ( cs_paramedmem_coupling_t *  c)

Sync the coupling's InterpKernelDEC.

Parameters
[in]cpointer to cs_paramedmem_coupling_t structure