programmer's documentation
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
cs_cdo.h File Reference
#include "cs_base.h"
#include "cs_defs.h"
Include dependency graph for cs_cdo.h:

Go to the source code of this file.

Data Structures

struct  cs_desc_t
 
struct  cs_nvec3_t
 

Macros

#define CS_FLAG_BOUNDARY   (1 << 0)
 
#define CS_FLAG_SYS_DIFFUSION   (1 << 0)
 
#define CS_FLAG_SYS_ADVECTION   (1 << 1)
 
#define CS_FLAG_SYS_REACTION   (1 << 2)
 
#define CS_FLAG_SYS_TIME   (1 << 3)
 
#define CS_FLAG_SYS_SOURCETERM   (1 << 4)
 
#define CS_FLAG_SYS_HLOC_CONF   (1 << 5)
 
#define CS_FLAG_SYS_SYM   (1 << 6)
 
#define CS_FLAG_SYS_TIME_DIAG   (1 << 7)
 
#define CS_FLAG_SYS_SOURCES_HLOC   (1 << 8)
 
#define CS_FLAG_SYS_DEBUG   (1 << 9)
 
#define CS_FLAG_STATE_UNIFORM   (1 << 0)
 
#define CS_FLAG_STATE_CELLWISE   (1 << 1)
 
#define CS_FLAG_STATE_UNSTEADY   (1 << 2)
 
#define CS_FLAG_STATE_POTENTIAL   (1 << 3)
 
#define CS_FLAG_STATE_CIRCULATION   (1 << 4)
 
#define CS_FLAG_STATE_FLUX   (1 << 5)
 
#define CS_FLAG_STATE_DENSITY   (1 << 6)
 
#define CS_FLAG_STATE_OWNER   (1 << 7)
 
#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)
 
#define CS_SCHEME_FLAG_CDOVB   (1 << 0)
 
#define CS_SCHEME_FLAG_CDOVCB   (1 << 1)
 
#define CS_SCHEME_FLAG_CDOFB   (1 << 2)
 
#define CS_SCHEME_FLAG_HHO   (1 << 3)
 
#define CS_SCHEME_FLAG_SCALAR   (1 << 4)
 
#define CS_SCHEME_FLAG_VECTOR   (1 << 5)
 
#define CS_SCHEME_FLAG_POLY0   (1 << 6)
 
#define CS_SCHEME_FLAG_POLY1   (1 << 7)
 
#define CS_SCHEME_FLAG_POLY2   (1 << 8)
 
#define CS_CDO_ASSEMBLE_BUF_SIZE   96
 
#define CS_CDO_N_MAX_REACTIONS   8
 
#define CS_CDO_OMP_CHUNK_SIZE   128
 
#define CS_CDO_OMP_SCHEDULE   schedule(static, CS_CDO_OMP_CHUNK_SIZE)
 

Typedefs

typedef unsigned char cs_mask_t
 
typedef void() cs_analytic_func_t(cs_real_t time, cs_lnum_t n_points, const cs_real_t *xyz, cs_real_t *retval)
 Generic analytic function. More...
 
typedef 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. More...
 
typedef void() cs_onevar_law_func_t(cs_lnum_t n_elts, const cs_lnum_t elt_ids[], const cs_real_t var_values[], const void *law_param, cs_real_t res_array[])
 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) More...
 
typedef void() cs_twovar_law_func_t(cs_lnum_t n_elts, const cs_lnum_t elt_ids[], const double var1_values[], const double var2_values[], const void *law_param, cs_real_t res_array[])
 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) More...
 

Enumerations

enum  cs_space_scheme_t {
  CS_SPACE_SCHEME_CDOVB, CS_SPACE_SCHEME_CDOVCB, CS_SPACE_SCHEME_CDOFB, CS_SPACE_SCHEME_HHO,
  CS_SPACE_N_SCHEMES
}
 

Functions

static bool cs_test_flag (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_base_strtf (bool boolean)
 Return a string "true" or "false" according to the boolean. More...
 
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. More...
 

Variables

_Bool cs_cdo_is_activated
 
const char lsepline [80]
 
const char msepline [60]
 
const char ssepline [40]
 
const cs_flag_t cs_cdo_primal_vtx
 
const cs_flag_t cs_cdo_primal_face
 
const cs_flag_t cs_cdo_primal_cell
 
const cs_flag_t cs_cdo_dual_vtx
 
const cs_flag_t cs_cdo_dual_face
 
const cs_flag_t cs_cdo_dual_cell
 
const cs_flag_t cs_cdo_dual_face_byc
 

Macro Definition Documentation

◆ CS_CDO_ASSEMBLE_BUF_SIZE

#define CS_CDO_ASSEMBLE_BUF_SIZE   96

◆ CS_CDO_N_MAX_REACTIONS

#define CS_CDO_N_MAX_REACTIONS   8

◆ CS_CDO_OMP_CHUNK_SIZE

#define CS_CDO_OMP_CHUNK_SIZE   128

◆ CS_CDO_OMP_SCHEDULE

#define CS_CDO_OMP_SCHEDULE   schedule(static, CS_CDO_OMP_CHUNK_SIZE)

◆ CS_FLAG_BORDER

#define CS_FLAG_BORDER   (1 << 6)

◆ CS_FLAG_BOUNDARY

#define CS_FLAG_BOUNDARY   (1 << 0)

◆ CS_FLAG_BY_CELL

#define CS_FLAG_BY_CELL   (1 << 10)

◆ CS_FLAG_CELL

#define CS_FLAG_CELL   (1 << 5)

◆ CS_FLAG_DUAL

#define CS_FLAG_DUAL   (1 << 1)

◆ CS_FLAG_EDGE

#define CS_FLAG_EDGE   (1 << 3)

◆ CS_FLAG_FACE

#define CS_FLAG_FACE   (1 << 4)

◆ CS_FLAG_FULL_LOC

#define CS_FLAG_FULL_LOC   (1 << 11)

◆ CS_FLAG_PRIMAL

#define CS_FLAG_PRIMAL   (1 << 0)

◆ CS_FLAG_SCALAR

#define CS_FLAG_SCALAR   (1 << 7)

◆ CS_FLAG_STATE_CELLWISE

#define CS_FLAG_STATE_CELLWISE   (1 << 1)

◆ CS_FLAG_STATE_CIRCULATION

#define CS_FLAG_STATE_CIRCULATION   (1 << 4)

◆ CS_FLAG_STATE_DENSITY

#define CS_FLAG_STATE_DENSITY   (1 << 6)

◆ CS_FLAG_STATE_FLUX

#define CS_FLAG_STATE_FLUX   (1 << 5)

◆ CS_FLAG_STATE_OWNER

#define CS_FLAG_STATE_OWNER   (1 << 7)

◆ CS_FLAG_STATE_POTENTIAL

#define CS_FLAG_STATE_POTENTIAL   (1 << 3)

◆ CS_FLAG_STATE_UNIFORM

#define CS_FLAG_STATE_UNIFORM   (1 << 0)

◆ CS_FLAG_STATE_UNSTEADY

#define CS_FLAG_STATE_UNSTEADY   (1 << 2)

◆ CS_FLAG_SYS_ADVECTION

#define CS_FLAG_SYS_ADVECTION   (1 << 1)

◆ CS_FLAG_SYS_DEBUG

#define CS_FLAG_SYS_DEBUG   (1 << 9)

◆ CS_FLAG_SYS_DIFFUSION

#define CS_FLAG_SYS_DIFFUSION   (1 << 0)

◆ CS_FLAG_SYS_HLOC_CONF

#define CS_FLAG_SYS_HLOC_CONF   (1 << 5)

◆ CS_FLAG_SYS_REACTION

#define CS_FLAG_SYS_REACTION   (1 << 2)

◆ CS_FLAG_SYS_SOURCES_HLOC

#define CS_FLAG_SYS_SOURCES_HLOC   (1 << 8)

◆ CS_FLAG_SYS_SOURCETERM

#define CS_FLAG_SYS_SOURCETERM   (1 << 4)

◆ CS_FLAG_SYS_SYM

#define CS_FLAG_SYS_SYM   (1 << 6)

◆ CS_FLAG_SYS_TIME

#define CS_FLAG_SYS_TIME   (1 << 3)

◆ CS_FLAG_SYS_TIME_DIAG

#define CS_FLAG_SYS_TIME_DIAG   (1 << 7)

◆ CS_FLAG_TENSOR

#define CS_FLAG_TENSOR   (1 << 9)

◆ CS_FLAG_VECTOR

#define CS_FLAG_VECTOR   (1 << 8)

◆ CS_FLAG_VERTEX

#define CS_FLAG_VERTEX   (1 << 2)

◆ CS_SCHEME_FLAG_CDOFB

#define CS_SCHEME_FLAG_CDOFB   (1 << 2)

◆ CS_SCHEME_FLAG_CDOVB

#define CS_SCHEME_FLAG_CDOVB   (1 << 0)

◆ CS_SCHEME_FLAG_CDOVCB

#define CS_SCHEME_FLAG_CDOVCB   (1 << 1)

◆ CS_SCHEME_FLAG_HHO

#define CS_SCHEME_FLAG_HHO   (1 << 3)

◆ CS_SCHEME_FLAG_POLY0

#define CS_SCHEME_FLAG_POLY0   (1 << 6)

◆ CS_SCHEME_FLAG_POLY1

#define CS_SCHEME_FLAG_POLY1   (1 << 7)

◆ CS_SCHEME_FLAG_POLY2

#define CS_SCHEME_FLAG_POLY2   (1 << 8)

◆ CS_SCHEME_FLAG_SCALAR

#define CS_SCHEME_FLAG_SCALAR   (1 << 4)

◆ CS_SCHEME_FLAG_VECTOR

#define CS_SCHEME_FLAG_VECTOR   (1 << 5)

Typedef Documentation

◆ cs_analytic_func_t

typedef void() cs_analytic_func_t(cs_real_t time, cs_lnum_t n_points, const cs_real_t *xyz, cs_real_t *retval)

Generic analytic function.

Parameters
[in]timewhen ?
[in]n_pointsnumber of coordinates to consider
[in]xyzwhere ?
[in,out]retvalresult of the function

◆ cs_mask_t

typedef unsigned char cs_mask_t

◆ cs_onevar_law_func_t

typedef void() cs_onevar_law_func_t(cs_lnum_t n_elts, const cs_lnum_t elt_ids[], const cs_real_t var_values[], const void *law_param, cs_real_t res_array[])

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)

Parameters
[in]n_eltsnumber of elements to treat
[in]elt_idslist of element ids (NULL if no indirection)
[in]var_valuesvalues of the variable attached to this law
[in]law_paramset of parameters related to the current law
[in,out]res_arrayresult of the function

◆ cs_timestep_func_t

typedef 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.

Parameters
[in]time_itercurrent number of iterations
[in]timevalue of the time at the end of the last iteration
Returns
the value of the time step

◆ cs_twovar_law_func_t

typedef void() cs_twovar_law_func_t(cs_lnum_t n_elts, const cs_lnum_t elt_ids[], const double var1_values[], const double var2_values[], const void *law_param, cs_real_t res_array[])

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)

Parameters
[in]n_eltsnumber of elements to treat
[in]elt_idslist of element ids (NULL if no indirection)
[in]var1_valuesvalues attached to the first variable
[in]var2_valuesvalues attached to the second variable
[in]law_paramset of parameters related to the current law
[in,out]res_arrayresult of the function

Enumeration Type Documentation

◆ cs_space_scheme_t

Enumerator
CS_SPACE_SCHEME_CDOVB 
CS_SPACE_SCHEME_CDOVCB 
CS_SPACE_SCHEME_CDOFB 
CS_SPACE_SCHEME_HHO 
CS_SPACE_N_SCHEMES 

Function Documentation

◆ cs_base_strtf()

const char* cs_base_strtf ( bool  boolean)

Return a string "true" or "false" according to the boolean.

Parameters
[in]booleanbool type
Returns
a string "true" or "false"

◆ cs_nvec3()

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.

Parameters
[in]vvector of size 3
[out]qvpointer to a cs_nvec3_t structure

◆ cs_test_flag()

static bool cs_test_flag ( 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_cdo_dual_cell

const cs_flag_t cs_cdo_dual_cell

◆ cs_cdo_dual_face

const cs_flag_t cs_cdo_dual_face

◆ cs_cdo_dual_face_byc

const cs_flag_t cs_cdo_dual_face_byc

◆ cs_cdo_dual_vtx

const cs_flag_t cs_cdo_dual_vtx

◆ cs_cdo_is_activated

_Bool cs_cdo_is_activated

◆ cs_cdo_primal_cell

const cs_flag_t cs_cdo_primal_cell

◆ cs_cdo_primal_face

const cs_flag_t cs_cdo_primal_face

◆ cs_cdo_primal_vtx

const cs_flag_t cs_cdo_primal_vtx

◆ lsepline

const char lsepline[80]

◆ msepline

const char msepline[60]

◆ ssepline

const char ssepline[40]