46 #define CDO_DIFFUSION 0 47 #define CDO_ADVECTION 1 48 #define CDO_REACTION 2 50 #define CDO_SOURCETERM 4 54 #define CS_CDO_BUILD_HCONF (1 << 0) // 1: build conforming Hodge op. 55 #define CS_CDO_BUILD_LOC_HCONF (1 << 1) // 2: build the local conf. Hodge 56 #define CS_CDO_PRIMAL_SOURCE (1 << 2) // 4: primal source term requested 57 #define CS_CDO_DUAL_SOURCE (1 << 3) // 8: dual source term requested 60 #define CS_FLAG_STATE_UNIFORM (1 << 0) // 1: uniform (in space) 61 #define CS_FLAG_STATE_CELLWISE (1 << 1) // 2: cellwise uniform 62 #define CS_FLAG_STATE_UNSTEADY (1 << 2) // 4: unsteady 63 #define CS_FLAG_STATE_POTENTIAL (1 << 3) // 8: potential 64 #define CS_FLAG_STATE_CIRCULATION (1 << 4) // 16: circulation 65 #define CS_FLAG_STATE_FLUX (1 << 5) // 32: flux 66 #define CS_FLAG_STATE_DENSITY (1 << 6) // 64: density 67 #define CS_FLAG_STATE_OWNER (1 << 7) // 128: owner 71 #define CS_FLAG_PRIMAL (1 << 0) // 1: on primal mesh 72 #define CS_FLAG_DUAL (1 << 1) // 2: on dual mesh 73 #define CS_FLAG_VERTEX (1 << 2) // 4: on vertices 74 #define CS_FLAG_EDGE (1 << 3) // 8: on edges 75 #define CS_FLAG_FACE (1 << 4) // 16: on faces 76 #define CS_FLAG_CELL (1 << 5) // 32: on cells 77 #define CS_FLAG_BORDER (1 << 6) // 64: located on the boundary 78 #define CS_FLAG_SCAL (1 << 7) // 128: scalar-valued (stride = 1) 79 #define CS_FLAG_VECT (1 << 8) // 256: vector-valued (stride = 3) 80 #define CS_FLAG_TENS (1 << 9) // 512: tensor-valued (stride = 9) 81 #define CS_FLAG_SCAN_BY_CELL (1 << 10) // 1024: by cell (c2e, c2f, c2v) 87 #define CS_SCHEME_FLAG_CDOVB (1 << 0) // 1: CDO vertex-based scheme 88 #define CS_SCHEME_FLAG_CDOVCB (1 << 1) // 2: CDO vertex+cell-based scheme 89 #define CS_SCHEME_FLAG_CDOFB (1 << 2) // 4: CDO face-based scheme 90 #define CS_SCHEME_FLAG_HHO (1 << 3) // 8: Hybrid-High Order scheme 91 #define CS_SCHEME_FLAG_SCALAR (1 << 4) // 16: scheme for scalar eq. 92 #define CS_SCHEME_FLAG_VECTOR (1 << 5) // 32: scheme for a vector eq. 189 const void *law_param,
209 const void *law_param,
229 const double var2_vect[],
230 const void *law_param,
270 if ((location & reference) == reference)
const char ssepline[]
Definition: cs_cdo.c:68
cs_nvec3_t nvec3
Definition: cs_cdo.h:137
const cs_flag_t cs_cdo_dual_face_byc
Definition: cs_cdo.c:78
cs_real_t cs_real_2_t[2]
vector of 2 floating-point values
Definition: cs_defs.h:307
cs_real_t cs_real_6_t[6]
vector of 6 floating-point values
Definition: cs_defs.h:310
cs_real_33_t tens
Definition: cs_cdo.h:139
#define BEGIN_C_DECLS
Definition: cs_defs.h:448
const cs_flag_t cs_cdo_primal_face
Definition: cs_cdo.c:73
cs_real_t() cs_timestep_func_t(int time_iter, double time)
Simple function to define the time step according to the number of iteration already done...
Definition: cs_cdo.h:171
int id
Definition: cs_cdo.h:132
void() cs_analytic_func_t(cs_real_t time, const cs_real_3_t xyz, cs_get_t *retval)
Generic analytic function.
Definition: cs_cdo.h:154
double cs_real_t
Floating-point value.
Definition: cs_defs.h:296
void() cs_onevar_law_func_t(double var_value, const void *law_param, cs_get_t *retval)
Compute the value of a quantity according to a law depending only on one variable. This law is described by a set of parameters stored in a structure. result = law(var_value)
Definition: cs_cdo.h:188
double precision, dimension(:,:,:), allocatable v
Definition: atimbr.f90:114
cs_space_scheme_t
Definition: cs_cdo.h:99
void() cs_twovar_law_func_t(double var1_value, double var2_value, const void *law_param, cs_get_t *retval)
Compute the value of a quantity according to a law depending only on two variables. This law is described by a set of parameters stored in a structure. result = law(var1_value, var2_value)
Definition: cs_cdo.h:207
cs_flag_t location
Definition: cs_cdo.h:114
cs_real_2_t couple
Definition: cs_cdo.h:135
const char * cs_base_strtf(bool boolean)
Return a string "true" or "false" according to the boolean.
Definition: cs_cdo.c:104
double meas
Definition: cs_cdo.h:123
cs_real_t val
Definition: cs_cdo.h:134
cs_real_t cs_real_3_t[3]
vector of 3 floating-point values
Definition: cs_defs.h:308
cs_real_6_t twovects
Definition: cs_cdo.h:138
void cs_nvec3(const cs_real_3_t v, cs_nvec3_t *qv)
Define a cs_nvec3_t structure from a cs_real_3_t.
Definition: cs_cdo.c:122
const cs_flag_t cs_cdo_primal_cell
Definition: cs_cdo.c:74
cs_flag_t state
Definition: cs_cdo.h:115
const cs_flag_t cs_cdo_dual_cell
Definition: cs_cdo.c:77
cs_lnum_t num
Definition: cs_cdo.h:133
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:292
const char lsepline[]
Definition: cs_cdo.c:64
static bool cs_cdo_same_support(cs_flag_t location, cs_flag_t reference)
Check if a location matches a referenced support.
Definition: cs_cdo.h:267
const cs_flag_t cs_cdo_primal_vtx
Definition: cs_cdo.c:72
#define END_C_DECLS
Definition: cs_defs.h:449
const cs_flag_t cs_cdo_dual_face
Definition: cs_cdo.c:76
unsigned short int cs_flag_t
Definition: cs_defs.h:298
const char msepline[]
Definition: cs_cdo.c:66
cs_real_t cs_real_33_t[3][3]
3x3 matrix of floating-point values
Definition: cs_defs.h:314
void() cs_scavec_law_func_t(double var1_value, const double var2_vect[], const void *law_param, cs_get_t *retval)
Compute the value of a quantity according to a law depending only on two variables (the first one is ...
Definition: cs_cdo.h:228
cs_flag_t flag
Definition: cs_cdo.h:131
cs_real_3_t vect
Definition: cs_cdo.h:136
const cs_flag_t cs_cdo_dual_vtx
Definition: cs_cdo.c:75