My Project
programmer's documentation
|
#include "cs_defs.h"
Go to the source code of this file.
Macros | |
#define | CS_FLAG_COMP_PV (1 << 0) /* 1: local info. for vertices */ |
#define | CS_FLAG_COMP_PVQ (1 << 1) /* 2: local quant. on vertices */ |
#define | CS_FLAG_COMP_PE (1 << 2) /* 4: local info. for edges */ |
#define | CS_FLAG_COMP_PEQ (1 << 3) /* 8: local quant. on edges */ |
#define | CS_FLAG_COMP_DFQ (1 << 4) /* 16: local quant. on dual faces */ |
#define | CS_FLAG_COMP_PF (1 << 5) /* 32: local info. for faces */ |
#define | CS_FLAG_COMP_PFQ (1 << 6) /* 64: local quant. on faces */ |
#define | CS_FLAG_COMP_DEQ (1 << 7) /* 128: local quant. on dual edges */ |
#define | CS_FLAG_COMP_EV (1 << 8) /* 256: local e2v connectivity */ |
#define | CS_FLAG_COMP_FE (1 << 9) /* 512: local f2e connectivity */ |
#define | CS_FLAG_COMP_FEQ (1 << 10) /* 1024: local f2e quantities */ |
#define | CS_FLAG_COMP_FV (1 << 11) /* 2048: local f2v connectivity */ |
#define | CS_FLAG_COMP_EF (1 << 12) /* 4096: local e2f connectivity */ |
#define | CS_FLAG_COMP_EFQ (1 << 13) /* 8192: local e2f quantities */ |
#define | CS_FLAG_COMP_HFQ (1 << 14) /* 16384: local quant. on face pyramids */ |
#define | CS_FLAG_COMP_DIAM (1 << 15) /* 32768: local diameters on faces/cell */ |
Flags specifying the type of cell | |
#define | CS_FLAG_BOUNDARY_CELL_BY_FACE (1 << 0) |
#define | CS_FLAG_BOUNDARY_CELL_BY_VERTEX (1 << 1) |
Flag related to the way a CDO system is built | |
#define | CS_FLAG_SYS_MASS_MATRIX (1 << 0) |
#define | CS_FLAG_SYS_SYM (1 << 1) |
#define | CS_FLAG_SYS_TIME_DIAG (1 << 2) |
#define | CS_FLAG_SYS_REAC_DIAG (1 << 3) |
#define | CS_FLAG_SYS_SOURCES_HLOC (1 << 4) |
#define | CS_FLAG_SYS_VECTOR (1 << 5) |
Flags use to identify the nature/status of an object | |
Apply this flag on a variable, a property or an advection field | |
#define | CS_FLAG_STATE_UNIFORM (1 << 0) |
#define | CS_FLAG_STATE_CELLWISE (1 << 1) |
#define | CS_FLAG_STATE_FACEWISE (1 << 2) |
#define | CS_FLAG_STATE_STEADY (1 << 3) |
#define | CS_FLAG_STATE_POTENTIAL (1 << 4) |
#define | CS_FLAG_STATE_CIRCULATION (1 << 5) |
#define | CS_FLAG_STATE_FLUX (1 << 6) |
#define | CS_FLAG_STATE_DENSITY (1 << 7) |
#define | CS_FLAG_STATE_OWNER (1 << 8) |
Flags use to identify metadata for a quantity | |
where is located this quantity and how to access to its values | |
#define | CS_FLAG_FULL_LOC (1 << 0) |
#define | CS_FLAG_SCALAR (1 << 1) |
#define | CS_FLAG_VECTOR (1 << 2) |
#define | CS_FLAG_TENSOR (1 << 3) |
#define | CS_FLAG_VERTEX (1 << 4) |
#define | CS_FLAG_EDGE (1 << 5) |
#define | CS_FLAG_FACE (1 << 6) |
#define | CS_FLAG_CELL (1 << 7) |
#define | CS_FLAG_PRIMAL (1 << 8) |
#define | CS_FLAG_DUAL (1 << 9) |
#define | CS_FLAG_BORDER (1 << 10) |
#define | CS_FLAG_BY_CELL (1 << 11) |
#define | CS_FLAG_BY_FACE (1 << 12) |
Flags use to identify the type of equations requested. | |
There exists one flag for each type of space discretization. If this flag is activated, then at least one equation or system of this kind is discretized with this space discretization scheme. | |
#define | CS_FLAG_SCHEME_SCALAR (1 << 0) |
#define | CS_FLAG_SCHEME_VECTOR (1 << 1) |
#define | CS_FLAG_SCHEME_NAVSTO (1 << 2) |
#define | CS_FLAG_SCHEME_POLY0 (1 << 3) |
#define | CS_FLAG_SCHEME_POLY1 (1 << 4) |
#define | CS_FLAG_SCHEME_POLY2 (1 << 5) |
Typedefs | |
typedef unsigned char | cs_mask_t |
Functions | |
static bool | cs_flag_test (cs_flag_t flag_to_check, cs_flag_t reference) |
Check if a two flag share the same pattern Return true if the flag to check has at least the pattern of the reference flag. More... | |
const char * | cs_flag_str_location (cs_flag_t loc) |
Retrieve the label associated to a location flag. More... | |
Variables | |
const cs_flag_t | cs_flag_primal_vtx |
const cs_flag_t | cs_flag_primal_face |
const cs_flag_t | cs_flag_primal_cell |
const cs_flag_t | cs_flag_dual_vtx |
const cs_flag_t | cs_flag_dual_face |
const cs_flag_t | cs_flag_dual_cell |
const cs_flag_t | cs_flag_dual_face_byc |
const cs_flag_t | cs_flag_dual_closure_byf |
#define CS_FLAG_BORDER (1 << 10) |
1024: located on the boundary
#define CS_FLAG_BOUNDARY_CELL_BY_FACE (1 << 0) |
1: boundary cell with at least one border face
#define CS_FLAG_BOUNDARY_CELL_BY_VERTEX (1 << 1) |
2: boundary cell with at least one border vertex
#define CS_FLAG_BY_CELL (1 << 11) |
2048: by cell (c2e, c2f, c2v)
#define CS_FLAG_BY_FACE (1 << 12) |
4096: by face (bf2v)
#define CS_FLAG_CELL (1 << 7) |
128: on cells
#define CS_FLAG_COMP_DEQ (1 << 7) /* 128: local quant. on dual edges */ |
#define CS_FLAG_COMP_DFQ (1 << 4) /* 16: local quant. on dual faces */ |
#define CS_FLAG_COMP_DIAM (1 << 15) /* 32768: local diameters on faces/cell */ |
#define CS_FLAG_COMP_EF (1 << 12) /* 4096: local e2f connectivity */ |
#define CS_FLAG_COMP_EFQ (1 << 13) /* 8192: local e2f quantities */ |
#define CS_FLAG_COMP_EV (1 << 8) /* 256: local e2v connectivity */ |
#define CS_FLAG_COMP_FE (1 << 9) /* 512: local f2e connectivity */ |
#define CS_FLAG_COMP_FEQ (1 << 10) /* 1024: local f2e quantities */ |
#define CS_FLAG_COMP_FV (1 << 11) /* 2048: local f2v connectivity */ |
#define CS_FLAG_COMP_HFQ (1 << 14) /* 16384: local quant. on face pyramids */ |
#define CS_FLAG_COMP_PE (1 << 2) /* 4: local info. for edges */ |
#define CS_FLAG_COMP_PEQ (1 << 3) /* 8: local quant. on edges */ |
#define CS_FLAG_COMP_PF (1 << 5) /* 32: local info. for faces */ |
#define CS_FLAG_COMP_PFQ (1 << 6) /* 64: local quant. on faces */ |
#define CS_FLAG_COMP_PV (1 << 0) /* 1: local info. for vertices */ |
#define CS_FLAG_COMP_PVQ (1 << 1) /* 2: local quant. on vertices */ |
#define CS_FLAG_DUAL (1 << 9) |
512: on dual mesh
#define CS_FLAG_EDGE (1 << 5) |
32: on edges
#define CS_FLAG_FACE (1 << 6) |
64: on faces
#define CS_FLAG_FULL_LOC (1 << 0) |
1: defined on the whole location
#define CS_FLAG_PRIMAL (1 << 8) |
256: on primal mesh
#define CS_FLAG_SCALAR (1 << 1) |
2: scalar-valued (stride = 1)
#define CS_FLAG_SCHEME_NAVSTO (1 << 2) |
4: Navier-Stokes system
#define CS_FLAG_SCHEME_POLY0 (1 << 3) |
8: lowest-order scheme
#define CS_FLAG_SCHEME_POLY1 (1 << 4) |
16: Linear gradient approx.
#define CS_FLAG_SCHEME_POLY2 (1 << 5) |
32: Quadratic gradient approx.
#define CS_FLAG_SCHEME_SCALAR (1 << 0) |
1: scheme for scalar eq.
#define CS_FLAG_SCHEME_VECTOR (1 << 1) |
2: scheme for a vector eq.
#define CS_FLAG_STATE_CELLWISE (1 << 1) |
2: cellwise uniform
#define CS_FLAG_STATE_CIRCULATION (1 << 5) |
32: circulation
#define CS_FLAG_STATE_DENSITY (1 << 7) |
128: density
#define CS_FLAG_STATE_FACEWISE (1 << 2) |
4: uniform on each face
#define CS_FLAG_STATE_FLUX (1 << 6) |
64: flux
#define CS_FLAG_STATE_OWNER (1 << 8) |
256: owner
#define CS_FLAG_STATE_POTENTIAL (1 << 4) |
16: potential
#define CS_FLAG_STATE_STEADY (1 << 3) |
8: steady
#define CS_FLAG_STATE_UNIFORM (1 << 0) |
1: uniform (in space)
#define CS_FLAG_SYS_MASS_MATRIX (1 << 0) |
1: build a mass matrix
#define CS_FLAG_SYS_REAC_DIAG (1 << 3) |
8: lump the reaction term
#define CS_FLAG_SYS_SOURCES_HLOC (1 << 4) |
16: Hodge op. for source terms
#define CS_FLAG_SYS_SYM (1 << 1) |
2: system matrix is symmetric
#define CS_FLAG_SYS_TIME_DIAG (1 << 2) |
4: lump the time term
#define CS_FLAG_SYS_VECTOR (1 << 5) |
32: vector-valued variable
#define CS_FLAG_TENSOR (1 << 3) |
8: tensor-valued (stride = 9)
#define CS_FLAG_VECTOR (1 << 2) |
4: vector-valued (stride = 3)
#define CS_FLAG_VERTEX (1 << 4) |
16: on vertices
typedef unsigned char cs_mask_t |
const char* cs_flag_str_location | ( | cs_flag_t | loc | ) |
Retrieve the label associated to a location flag.
Check if a two flag share the same pattern Return true if the flag to check has at least the pattern of the reference flag.
[in] | flag_to_check | flag corresponding to the location to check |
[in] | reference | flag corresponding to the referenced support |
const cs_flag_t cs_flag_dual_cell |
const cs_flag_t cs_flag_dual_closure_byf |
const cs_flag_t cs_flag_dual_face |
const cs_flag_t cs_flag_dual_face_byc |
const cs_flag_t cs_flag_dual_vtx |
const cs_flag_t cs_flag_primal_cell |
const cs_flag_t cs_flag_primal_face |
const cs_flag_t cs_flag_primal_vtx |