Structure and functions handling the way to enforce interior degrees of freedom. More...
#include "cs_defs.h"
#include <assert.h>
#include <string.h>
#include <float.h>
#include <bft_mem.h>
#include "cs_cdo_bc.h"
#include "cs_parall.h"
#include "cs_enforcement.h"
Macros | |
#define | CS_ENFORCEMENT_DBG 0 |
Structure and functions handling the way to enforce interior degrees of freedom.
#define CS_ENFORCEMENT_DBG 0 |
cs_real_t* cs_enforcement_define_at_edges | ( | const cs_cdo_connect_t * | connect, |
int | n_params, | ||
cs_enforcement_param_t ** | efp_array | ||
) |
Build a cs_enforcement_t structure for edge-based scheme.
[in] | connect | pointer to a cs_cdo_connect_t |
[in] | n_params | number of enforcement parameters |
[in] | efp_array | array of parameter structures defining the enforcement |
cs_real_t* cs_enforcement_define_at_faces | ( | const cs_cdo_connect_t * | connect, |
int | n_params, | ||
cs_enforcement_param_t ** | efp_array | ||
) |
Build a cs_enforcement_t structure for face-based scheme.
[in] | connect | pointer to a cs_cdo_connect_t |
[in] | n_params | number of enforcement parameters |
[in] | efp_array | array of parameter structures defining the enforcement |
cs_real_t* cs_enforcement_define_at_vertices | ( | const cs_cdo_connect_t * | connect, |
int | n_params, | ||
cs_enforcement_param_t ** | efp_array | ||
) |
Build a cs_enforcement_t structure for vertex-based scheme.
[in] | connect | pointer to a cs_cdo_connect_t |
[in] | n_params | number of enforcement parameters |
[in] | efp_array | array of parameter structures defining the enforcement |
bool cs_enforcement_dofs_cw | ( | const cs_real_t * | forced_values, |
cs_cell_sys_t * | csys, | ||
cs_real_t * | cw_forced_values | ||
) |
Build the cell-wise value to enforce.
[in] | forced_values | values to enforce or FLT_MAX |
[in,out] | csys | pointer to a cs_cell_sys_t structure |
[in,out] | cw_forced_values | local values to enforce |
cs_enforcement_param_t* cs_enforcement_param_copy | ( | const cs_enforcement_param_t * | ref | ) |
Copy a cs_enforcement_param_t structure.
[in] | ref | reference structure to copy |
cs_enforcement_param_t* cs_enforcement_param_create | ( | cs_enforcement_selection_t | sel_type, |
cs_enforcement_type_t | type, | ||
int | stride, | ||
cs_lnum_t | n_elts, | ||
const cs_lnum_t * | elt_ids, | ||
const cs_real_t * | values | ||
) |
Create and define a cs_enforcement_param_t structure.
[in] | sel_type | type of elements which have been selected |
[in] | type | way to set values for the selected elements |
[in] | stride | number of values to enforce by element |
[in] | n_elts | number of selected elements locally |
[in] | elt_ids | list of element ids |
[in] | values | array of values to enforce |
void cs_enforcement_param_free | ( | cs_enforcement_param_t ** | p_efp | ) |
Free a cs_enforcement_param_t structure.
[in,out] | p_efp | double pointer to the structure to free |
void cs_enforcement_param_log | ( | const char * | eqname, |
const cs_enforcement_param_t * | efp | ||
) |
Log a cs_enforcement_param_t structure.
[in] | eqname | name of the related equation |
[in] | efp | pointer to a cs_enforcement_param_t structure |
void cs_enforcement_param_reset | ( | cs_enforcement_param_t * | efp, |
cs_enforcement_selection_t | sel_type, | ||
cs_enforcement_type_t | type, | ||
int | stride, | ||
cs_lnum_t | n_elts, | ||
const cs_lnum_t * | elt_ids, | ||
const cs_real_t * | values | ||
) |
Reset an existing cs_enforcement_param_t structure.
[in,out] | efp | pointer to a cs_enforcement_param_t structure |
[in] | sel_type | type of elements which have been selected |
[in] | type | way to set values for the selected elements |
[in] | stride | number of values to enforce by element |
[in] | n_elts | number of selected elements locally |
[in] | elt_ids | list of element ids |
[in] | values | array of values to enforce |