programmer's documentation
Typedefs | Functions | Variables
cs_flag.h File Reference
#include "cs_defs.h"
Include dependency graph for cs_flag.h:

Go to the source code of this file.

Macros

Flags specifying the type of cell
#define CS_FLAG_BOUNDARY   (1 << 0)
 
Flag related to the way a CDO system is built
#define CS_FLAG_SYS_HLOC_CONF   (1 << 0)
 
#define CS_FLAG_SYS_SYM   (1 << 1)
 
#define CS_FLAG_SYS_TIME_DIAG   (1 << 2)
 
#define CS_FLAG_SYS_SOURCES_HLOC   (1 << 3)
 
#define CS_FLAG_SYS_VECTOR   (1 << 4)
 
#define CS_FLAG_SYS_DEBUG   (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_PRIMAL   (1 << 0)
 
#define CS_FLAG_DUAL   (1 << 1)
 
#define CS_FLAG_VERTEX   (1 << 2)
 
#define CS_FLAG_EDGE   (1 << 3)
 
#define CS_FLAG_FACE   (1 << 4)
 
#define CS_FLAG_CELL   (1 << 5)
 
#define CS_FLAG_BORDER   (1 << 6)
 
#define CS_FLAG_SCALAR   (1 << 7)
 
#define CS_FLAG_VECTOR   (1 << 8)
 
#define CS_FLAG_TENSOR   (1 << 9)
 
#define CS_FLAG_BY_CELL   (1 << 10)
 
#define CS_FLAG_FULL_LOC   (1 << 11)
 
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...
 

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
 

Macro Definition Documentation

◆ CS_FLAG_BORDER

#define CS_FLAG_BORDER   (1 << 6)

64: located on the boundary

◆ CS_FLAG_BOUNDARY

#define CS_FLAG_BOUNDARY   (1 << 0)

1: cell with at least one border face

◆ CS_FLAG_BY_CELL

#define CS_FLAG_BY_CELL   (1 << 10)

1024: by cell (c2e, c2f, c2v)

◆ CS_FLAG_CELL

#define CS_FLAG_CELL   (1 << 5)

32: on cells

◆ CS_FLAG_DUAL

#define CS_FLAG_DUAL   (1 << 1)

2: on dual mesh

◆ CS_FLAG_EDGE

#define CS_FLAG_EDGE   (1 << 3)

8: on edges

◆ CS_FLAG_FACE

#define CS_FLAG_FACE   (1 << 4)

16: on faces

◆ CS_FLAG_FULL_LOC

#define CS_FLAG_FULL_LOC   (1 << 11)

2048: defined on the whole location

◆ CS_FLAG_PRIMAL

#define CS_FLAG_PRIMAL   (1 << 0)

1: on primal mesh

◆ CS_FLAG_SCALAR

#define CS_FLAG_SCALAR   (1 << 7)

128: scalar-valued (stride = 1)

◆ CS_FLAG_SCHEME_NAVSTO

#define CS_FLAG_SCHEME_NAVSTO   (1 << 2)

4: Navier-Stokes system

◆ CS_FLAG_SCHEME_POLY0

#define CS_FLAG_SCHEME_POLY0   (1 << 3)

8: lowest-order scheme

◆ CS_FLAG_SCHEME_POLY1

#define CS_FLAG_SCHEME_POLY1   (1 << 4)

16: Linear gradient approx.

◆ CS_FLAG_SCHEME_POLY2

#define CS_FLAG_SCHEME_POLY2   (1 << 5)

32: Quadratic gradient approx.

◆ CS_FLAG_SCHEME_SCALAR

#define CS_FLAG_SCHEME_SCALAR   (1 << 0)

1: scheme for scalar eq.

◆ CS_FLAG_SCHEME_VECTOR

#define CS_FLAG_SCHEME_VECTOR   (1 << 1)

2: scheme for a vector eq.

◆ CS_FLAG_STATE_CELLWISE

#define CS_FLAG_STATE_CELLWISE   (1 << 1)

2: cellwise uniform

◆ CS_FLAG_STATE_CIRCULATION

#define CS_FLAG_STATE_CIRCULATION   (1 << 5)

32: circulation

◆ CS_FLAG_STATE_DENSITY

#define CS_FLAG_STATE_DENSITY   (1 << 7)

128: density

◆ CS_FLAG_STATE_FACEWISE

#define CS_FLAG_STATE_FACEWISE   (1 << 2)

4: uniform on each face

◆ CS_FLAG_STATE_FLUX

#define CS_FLAG_STATE_FLUX   (1 << 6)

64: flux

◆ CS_FLAG_STATE_OWNER

#define CS_FLAG_STATE_OWNER   (1 << 8)

256: owner

◆ CS_FLAG_STATE_POTENTIAL

#define CS_FLAG_STATE_POTENTIAL   (1 << 4)

16: potential

◆ CS_FLAG_STATE_STEADY

#define CS_FLAG_STATE_STEADY   (1 << 3)

8: steady

◆ CS_FLAG_STATE_UNIFORM

#define CS_FLAG_STATE_UNIFORM   (1 << 0)

1: uniform (in space)

◆ CS_FLAG_SYS_DEBUG

#define CS_FLAG_SYS_DEBUG   (1 << 5)

32: activate debug mode

◆ CS_FLAG_SYS_HLOC_CONF

#define CS_FLAG_SYS_HLOC_CONF   (1 << 0)

1: build conforming Hodge op.

◆ CS_FLAG_SYS_SOURCES_HLOC

#define CS_FLAG_SYS_SOURCES_HLOC   (1 << 3)

8: Hodge op. for source terms

◆ CS_FLAG_SYS_SYM

#define CS_FLAG_SYS_SYM   (1 << 1)

2: system matrix is symmetric

◆ CS_FLAG_SYS_TIME_DIAG

#define CS_FLAG_SYS_TIME_DIAG   (1 << 2)

4: lumping by construction

◆ CS_FLAG_SYS_VECTOR

#define CS_FLAG_SYS_VECTOR   (1 << 4)

16: vector-valued variable

◆ CS_FLAG_TENSOR

#define CS_FLAG_TENSOR   (1 << 9)

512: tensor-valued (stride = 9)

◆ CS_FLAG_VECTOR

#define CS_FLAG_VECTOR   (1 << 8)

256: vector-valued (stride = 3)

◆ CS_FLAG_VERTEX

#define CS_FLAG_VERTEX   (1 << 2)

4: on vertices

Typedef Documentation

◆ cs_mask_t

typedef unsigned char cs_mask_t

Function Documentation

◆ cs_flag_test()

static bool cs_flag_test ( cs_flag_t  flag_to_check,
cs_flag_t  reference 
)
inlinestatic

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.

Parameters
[in]flag_to_checkflag corresponding to the location to check
[in]referenceflag corresponding to the referenced support
Returns
true or false

Variable Documentation

◆ cs_flag_dual_cell

const cs_flag_t cs_flag_dual_cell

◆ cs_flag_dual_face

const cs_flag_t cs_flag_dual_face

◆ cs_flag_dual_face_byc

const cs_flag_t cs_flag_dual_face_byc

◆ cs_flag_dual_vtx

const cs_flag_t cs_flag_dual_vtx

◆ cs_flag_primal_cell

const cs_flag_t cs_flag_primal_cell

◆ cs_flag_primal_face

const cs_flag_t cs_flag_primal_face

◆ cs_flag_primal_vtx

const cs_flag_t cs_flag_primal_vtx