1 #ifndef __CS_PARAM_TYPES_H__
2 #define __CS_PARAM_TYPES_H__
57 #define CS_DOF_VTX_SCAL 0
58 #define CS_DOF_VTX_VECT 1
59 #define CS_DOF_FACE_SCAL 2
60 #define CS_DOF_FACE_VECT 3
61 #define CS_DOF_FACE_SCAP1 3
62 #define CS_DOF_FACE_SCAP2 4
63 #define CS_DOF_FACE_VECP0 3
64 #define CS_DOF_FACE_VECP1 5
65 #define CS_DOF_FACE_VECP2 6
66 #define CS_DOF_EDGE_SCAL 7
68 #define CS_N_DOF_CASES 8
83 #define CS_ISOTROPIC_DIFFUSION (1 << 0)
87 #define CS_ORTHOTROPIC_DIFFUSION (1 << 1)
91 #define CS_ANISOTROPIC_LEFT_DIFFUSION (1 << 2)
95 #define CS_ANISOTROPIC_RIGHT_DIFFUSION (1 << 3)
99 #define CS_ANISOTROPIC_DIFFUSION ((1 << 2) + (1 << 3))
#define BEGIN_C_DECLS
Definition: cs_defs.h:514
double cs_real_t
Floating-point value.
Definition: cs_defs.h:319
#define END_C_DECLS
Definition: cs_defs.h:515
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:313
void() cs_dof_func_t(cs_lnum_t n_elts, const cs_lnum_t *elt_ids, bool dense_output, void *input, cs_real_t *retval)
Generic function pointer for computing a quantity at predefined locations such as degrees of freedom ...
Definition: cs_param_types.h:154
const char * cs_param_get_nl_algo_label(cs_param_nl_algo_t algo)
Get the label (short name) of the non-linear algorithm.
Definition: cs_param_types.c:481
cs_param_space_scheme_t
Type of numerical scheme for the discretization in space.
Definition: cs_param_types.h:211
@ CS_SPACE_SCHEME_CDOVCB
Definition: cs_param_types.h:215
@ CS_SPACE_SCHEME_HHO_P2
Definition: cs_param_types.h:221
@ CS_SPACE_SCHEME_LEGACY
Definition: cs_param_types.h:213
@ CS_SPACE_SCHEME_CDOEB
Definition: cs_param_types.h:216
@ CS_SPACE_SCHEME_CDOCB
Definition: cs_param_types.h:218
@ CS_SPACE_SCHEME_HHO_P0
Definition: cs_param_types.h:219
@ CS_SPACE_SCHEME_CDOFB
Definition: cs_param_types.h:217
@ CS_SPACE_SCHEME_CDOVB
Definition: cs_param_types.h:214
@ CS_SPACE_SCHEME_HHO_P1
Definition: cs_param_types.h:220
@ CS_SPACE_N_SCHEMES
Definition: cs_param_types.h:223
const char * cs_param_get_advection_extrapol_name(cs_param_advection_extrapol_t extrapol)
Get the label associated to the extrapolation used for the advection field.
Definition: cs_param_types.c:378
cs_param_advection_form_t
Definition: cs_param_types.h:307
@ CS_PARAM_ADVECTION_FORM_NONCONS
Definition: cs_param_types.h:310
@ CS_PARAM_ADVECTION_FORM_CONSERV
Definition: cs_param_types.h:309
@ CS_PARAM_ADVECTION_FORM_SKEWSYM
Definition: cs_param_types.h:311
@ CS_PARAM_N_ADVECTION_FORMULATIONS
Definition: cs_param_types.h:313
void() cs_analytic_func_t(cs_real_t time, cs_lnum_t n_elts, const cs_lnum_t *elt_ids, const cs_real_t *coords, bool dense_output, void *input, cs_real_t *retval)
Generic function pointer for an evaluation relying on an analytic function.
Definition: cs_param_types.h:127
const char cs_sep_h2[80]
Definition: cs_param_types.c:68
cs_param_resnorm_type_t
Definition: cs_param_types.h:1021
@ CS_PARAM_RESNORM_FILTERED_RHS
Definition: cs_param_types.h:1028
@ CS_PARAM_N_RESNORM_TYPES
Definition: cs_param_types.h:1031
@ CS_PARAM_RESNORM_NORM2_RHS
Definition: cs_param_types.h:1024
@ CS_PARAM_RESNORM_WEIGHTED_RHS
Definition: cs_param_types.h:1026
@ CS_PARAM_RESNORM_NONE
Definition: cs_param_types.h:1023
const char * cs_param_get_precond_name(cs_param_precond_type_t precond)
Get the name of the preconditioner.
Definition: cs_param_types.c:607
cs_param_bc_type_t
Definition: cs_param_types.h:476
@ CS_PARAM_N_BC_TYPES
Definition: cs_param_types.h:488
@ CS_PARAM_BC_SLIDING
Definition: cs_param_types.h:484
@ CS_PARAM_BC_ROBIN
Definition: cs_param_types.h:483
@ CS_PARAM_BC_NEUMANN
Definition: cs_param_types.h:481
@ CS_PARAM_BC_DIRICHLET
Definition: cs_param_types.h:479
@ CS_PARAM_BC_HMG_DIRICHLET
Definition: cs_param_types.h:478
@ CS_PARAM_BC_NEUMANN_FULL
Definition: cs_param_types.h:482
@ CS_PARAM_BC_CIRCULATION
Definition: cs_param_types.h:485
@ CS_PARAM_BC_WALL_PRESCRIBED
Definition: cs_param_types.h:486
@ CS_PARAM_BC_HMG_NEUMANN
Definition: cs_param_types.h:480
cs_param_saddle_solver_t
Type of solver used to solve a saddle-point system. Up to now, this happens only with CDO cell-based ...
Definition: cs_param_types.h:698
@ CS_PARAM_SADDLE_SOLVER_NONE
Definition: cs_param_types.h:700
@ CS_PARAM_SADDLE_N_SOLVERS
Definition: cs_param_types.h:706
@ CS_PARAM_SADDLE_SOLVER_MUMPS
Definition: cs_param_types.h:704
@ CS_PARAM_SADDLE_SOLVER_MINRES
Definition: cs_param_types.h:703
@ CS_PARAM_SADDLE_SOLVER_GCR
Definition: cs_param_types.h:702
cs_param_precond_type_t
Definition: cs_param_types.h:898
@ CS_PARAM_PRECOND_ILU0
Definition: cs_param_types.h:909
@ CS_PARAM_PRECOND_LU
Definition: cs_param_types.h:908
@ CS_PARAM_PRECOND_BJACOB_ILU0
Definition: cs_param_types.h:902
@ CS_PARAM_PRECOND_NONE
Definition: cs_param_types.h:900
@ CS_PARAM_PRECOND_GKB_GMRES
Definition: cs_param_types.h:907
@ CS_PARAM_PRECOND_BJACOB_SGS
Definition: cs_param_types.h:903
@ CS_PARAM_PRECOND_SSOR
Definition: cs_param_types.h:914
@ CS_PARAM_PRECOND_DIAG
Definition: cs_param_types.h:905
@ CS_PARAM_PRECOND_POLY1
Definition: cs_param_types.h:912
@ CS_PARAM_N_PRECOND_TYPES
Definition: cs_param_types.h:916
@ CS_PARAM_PRECOND_MUMPS
Definition: cs_param_types.h:911
@ CS_PARAM_PRECOND_AMG
Definition: cs_param_types.h:904
@ CS_PARAM_PRECOND_GKB_CG
Definition: cs_param_types.h:906
@ CS_PARAM_PRECOND_POLY2
Definition: cs_param_types.h:913
@ CS_PARAM_PRECOND_ICC0
Definition: cs_param_types.h:910
cs_param_advection_extrapol_t
Choice of how to extrapolate the advection field in the advection term.
Definition: cs_param_types.h:419
@ CS_PARAM_N_ADVECTION_EXTRAPOLATIONS
Definition: cs_param_types.h:425
@ CS_PARAM_ADVECTION_EXTRAPOL_NONE
Definition: cs_param_types.h:421
@ CS_PARAM_ADVECTION_EXTRAPOL_ADAMS_BASHFORTH_2
Definition: cs_param_types.h:423
@ CS_PARAM_ADVECTION_EXTRAPOL_TAYLOR_2
Definition: cs_param_types.h:422
const char * cs_param_get_advection_scheme_name(cs_param_advection_scheme_t scheme)
Get the label of the advection scheme.
Definition: cs_param_types.c:325
const char cs_sepline[80]
Definition: cs_param_types.c:70
const char * cs_param_get_advection_form_name(cs_param_advection_form_t adv_form)
Get the label associated to the advection formulation.
Definition: cs_param_types.c:301
const char * cs_param_get_amg_type_name(cs_param_amg_type_t type)
Get the name of the type of algebraic multigrid (AMG)
Definition: cs_param_types.c:733
cs_param_sles_class_t
Class of iterative solvers to consider for solver the linear system.
Definition: cs_param_types.h:586
@ CS_PARAM_SLES_CLASS_HYPRE
Definition: cs_param_types.h:589
@ CS_PARAM_SLES_CLASS_CS
Definition: cs_param_types.h:588
@ CS_PARAM_SLES_N_CLASSES
Definition: cs_param_types.h:593
@ CS_PARAM_SLES_CLASS_PETSC
Definition: cs_param_types.h:591
@ CS_PARAM_SLES_CLASS_MUMPS
Definition: cs_param_types.h:590
cs_param_precond_block_t
Definition: cs_param_types.h:819
@ CS_PARAM_PRECOND_BLOCK_FULL_DIAG
Definition: cs_param_types.h:823
@ CS_PARAM_PRECOND_BLOCK_NONE
Definition: cs_param_types.h:821
@ CS_PARAM_PRECOND_BLOCK_FULL_SYM_GAUSS_SEIDEL
Definition: cs_param_types.h:825
@ CS_PARAM_PRECOND_BLOCK_UZAWA
Definition: cs_param_types.h:830
@ CS_PARAM_PRECOND_BLOCK_DIAG
Definition: cs_param_types.h:822
@ CS_PARAM_PRECOND_BLOCK_FULL_LOWER_TRIANGULAR
Definition: cs_param_types.h:824
@ CS_PARAM_PRECOND_BLOCK_LOWER_TRIANGULAR
Definition: cs_param_types.h:827
@ CS_PARAM_PRECOND_BLOCK_UPPER_TRIANGULAR
Definition: cs_param_types.h:829
@ CS_PARAM_N_PCD_BLOCK_TYPES
Definition: cs_param_types.h:832
@ CS_PARAM_PRECOND_BLOCK_SYM_GAUSS_SEIDEL
Definition: cs_param_types.h:828
@ CS_PARAM_PRECOND_BLOCK_FULL_UPPER_TRIANGULAR
Definition: cs_param_types.h:826
cs_param_itsol_type_t
Definition: cs_param_types.h:989
@ CS_PARAM_N_ITSOL_TYPES
Definition: cs_param_types.h:1011
@ CS_PARAM_ITSOL_GAUSS_SEIDEL
Definition: cs_param_types.h:1000
@ CS_PARAM_ITSOL_BICGSTAB2
Definition: cs_param_types.h:995
@ CS_PARAM_ITSOL_GKB_GMRES
Definition: cs_param_types.h:1003
@ CS_PARAM_ITSOL_JACOBI
Definition: cs_param_types.h:1005
@ CS_PARAM_ITSOL_GKB_CG
Definition: cs_param_types.h:1002
@ CS_PARAM_ITSOL_BICG
Definition: cs_param_types.h:994
@ CS_PARAM_ITSOL_AMG
Definition: cs_param_types.h:993
@ CS_PARAM_ITSOL_CR3
Definition: cs_param_types.h:997
@ CS_PARAM_ITSOL_MUMPS
Definition: cs_param_types.h:1007
@ CS_PARAM_ITSOL_FGMRES
Definition: cs_param_types.h:999
@ CS_PARAM_ITSOL_CG
Definition: cs_param_types.h:996
@ CS_PARAM_ITSOL_MINRES
Definition: cs_param_types.h:1006
@ CS_PARAM_ITSOL_GCR
Definition: cs_param_types.h:1001
@ CS_PARAM_ITSOL_GMRES
Definition: cs_param_types.h:1004
@ CS_PARAM_ITSOL_USER_DEFINED
Definition: cs_param_types.h:1009
@ CS_PARAM_ITSOL_FCG
Definition: cs_param_types.h:998
@ CS_PARAM_ITSOL_NONE
Definition: cs_param_types.h:991
@ CS_PARAM_ITSOL_SYM_GAUSS_SEIDEL
Definition: cs_param_types.h:1008
const char * cs_param_get_schur_approx_name(cs_param_schur_approx_t type)
Get the name of the type of Schur complement approximation.
Definition: cs_param_types.c:705
const char * cs_param_get_precond_block_name(cs_param_precond_block_t type)
Get the name of the type of block preconditioning.
Definition: cs_param_types.c:674
const char cs_med_sepline[50]
Definition: cs_param_types.c:72
cs_param_bc_enforce_t
Definition: cs_param_types.h:521
@ CS_PARAM_BC_ENFORCE_WEAK_SYM
Definition: cs_param_types.h:526
@ CS_PARAM_BC_ENFORCE_ALGEBRAIC
Definition: cs_param_types.h:523
@ CS_PARAM_BC_ENFORCE_PENALIZED
Definition: cs_param_types.h:524
@ CS_PARAM_BC_ENFORCE_WEAK_NITSCHE
Definition: cs_param_types.h:525
@ CS_PARAM_N_BC_ENFORCEMENTS
Definition: cs_param_types.h:528
const char * cs_param_get_advection_strategy_name(cs_param_advection_strategy_t adv_stra)
Get the label associated to the advection strategy.
Definition: cs_param_types.c:353
const char * cs_param_get_solver_name(cs_param_itsol_type_t solver)
Get the name of the solver.
Definition: cs_param_types.c:528
void() cs_time_func_t(double time, void *input, cs_real_t *retval)
Function which defines the evolution of a quantity according to the current time and any structure gi...
Definition: cs_param_types.h:172
bool cs_param_space_scheme_is_face_based(cs_param_space_scheme_t scheme)
Return true if the space scheme has degrees of freedom on faces, otherwise false.
Definition: cs_param_types.c:222
cs_param_saddle_precond_t
Type of preconditioner used to solve a saddle-point system. Up to now, this happens only with CDO cel...
Definition: cs_param_types.h:656
@ CS_PARAM_SADDLE_PRECOND_NONE
Definition: cs_param_types.h:658
@ CS_PARAM_SADDLE_N_PRECOND
Definition: cs_param_types.h:663
@ CS_PARAM_SADDLE_PRECOND_DIAG_SCHUR
Definition: cs_param_types.h:659
@ CS_PARAM_SADDLE_PRECOND_UPPER_SCHUR
Definition: cs_param_types.h:661
@ CS_PARAM_SADDLE_PRECOND_LOWER_SCHUR
Definition: cs_param_types.h:660
cs_param_time_scheme_t
Definition: cs_param_types.h:274
@ CS_TIME_SCHEME_THETA
Definition: cs_param_types.h:280
@ CS_TIME_SCHEME_BDF2
Definition: cs_param_types.h:281
@ CS_TIME_SCHEME_STEADY
Definition: cs_param_types.h:276
@ CS_TIME_SCHEME_EULER_EXPLICIT
Definition: cs_param_types.h:278
@ CS_TIME_N_SCHEMES
Definition: cs_param_types.h:283
@ CS_TIME_SCHEME_EULER_IMPLICIT
Definition: cs_param_types.h:277
@ CS_TIME_SCHEME_CRANKNICO
Definition: cs_param_types.h:279
const char * cs_param_get_nl_algo_name(cs_param_nl_algo_t algo)
Get the name of the non-linear algorithm.
Definition: cs_param_types.c:457
cs_param_schur_approx_t
Strategy to build the Schur complement approximation. This appears in block preconditioning or Uzawa ...
Definition: cs_param_types.h:753
@ CS_PARAM_SCHUR_MASS_SCALED_DIAG_INVERSE
Definition: cs_param_types.h:761
@ CS_PARAM_SCHUR_MASS_SCALED_LUMPED_INVERSE
Definition: cs_param_types.h:762
@ CS_PARAM_SCHUR_MASS_SCALED
Definition: cs_param_types.h:760
@ CS_PARAM_SCHUR_IDENTITY
Definition: cs_param_types.h:758
@ CS_PARAM_SCHUR_DIAG_INVERSE
Definition: cs_param_types.h:757
@ CS_PARAM_N_SCHUR_APPROX
Definition: cs_param_types.h:764
@ CS_PARAM_SCHUR_LUMPED_INVERSE
Definition: cs_param_types.h:759
@ CS_PARAM_SCHUR_NONE
Definition: cs_param_types.h:755
cs_param_nl_algo_t
Class of non-linear iterative algorithm.
Definition: cs_param_types.h:552
@ CS_PARAM_N_NL_ALGOS
Definition: cs_param_types.h:557
@ CS_PARAM_NL_ALGO_ANDERSON
Definition: cs_param_types.h:556
@ CS_PARAM_NL_ALGO_PICARD
Definition: cs_param_types.h:555
@ CS_PARAM_NL_ALGO_NONE
Definition: cs_param_types.h:554
const char * cs_param_get_bc_enforcement_name(cs_param_bc_enforce_t type)
Get the name of the type of enforcement of the boundary condition.
Definition: cs_param_types.c:432
cs_param_advection_scheme_t
Definition: cs_param_types.h:351
@ CS_PARAM_ADVECTION_SCHEME_UPWIND
Definition: cs_param_types.h:359
@ CS_PARAM_ADVECTION_SCHEME_SG
Definition: cs_param_types.h:358
@ CS_PARAM_N_ADVECTION_SCHEMES
Definition: cs_param_types.h:361
@ CS_PARAM_ADVECTION_SCHEME_HYBRID_CENTERED_UPWIND
Definition: cs_param_types.h:356
@ CS_PARAM_ADVECTION_SCHEME_CIP
Definition: cs_param_types.h:354
@ CS_PARAM_ADVECTION_SCHEME_SAMARSKII
Definition: cs_param_types.h:357
@ CS_PARAM_ADVECTION_SCHEME_CIP_CW
Definition: cs_param_types.h:355
@ CS_PARAM_ADVECTION_SCHEME_CENTERED
Definition: cs_param_types.h:353
const char * cs_param_get_bc_name(cs_param_bc_type_t bc)
Get the name of the type of boundary condition.
Definition: cs_param_types.c:402
cs_param_amg_type_t
Definition: cs_param_types.h:604
@ CS_PARAM_AMG_HYPRE_BOOMER_W
Definition: cs_param_types.h:608
@ CS_PARAM_N_AMG_TYPES
Definition: cs_param_types.h:615
@ CS_PARAM_AMG_PETSC_GAMG_V
Definition: cs_param_types.h:609
@ CS_PARAM_AMG_HOUSE_K
Definition: cs_param_types.h:613
@ CS_PARAM_AMG_HOUSE_V
Definition: cs_param_types.h:612
@ CS_PARAM_AMG_PETSC_PCMG
Definition: cs_param_types.h:611
@ CS_PARAM_AMG_PETSC_GAMG_W
Definition: cs_param_types.h:610
@ CS_PARAM_AMG_HYPRE_BOOMER_V
Definition: cs_param_types.h:607
@ CS_PARAM_AMG_NONE
Definition: cs_param_types.h:606
const char * cs_param_get_time_scheme_name(cs_param_time_scheme_t scheme)
Get the name of the time discretization scheme.
Definition: cs_param_types.c:274
cs_param_dof_reduction_t
Definition: cs_param_types.h:239
@ CS_PARAM_N_REDUCTIONS
Definition: cs_param_types.h:244
@ CS_PARAM_REDUCTION_AVERAGE
Definition: cs_param_types.h:242
@ CS_PARAM_REDUCTION_DERHAM
Definition: cs_param_types.h:241
const char cs_sep_h1[80]
Definition: cs_param_types.c:66
const char * cs_param_get_dotprod_type_name(cs_param_dotprod_type_t dp_type)
Get the name of the type of dot product to apply.
Definition: cs_param_types.c:505
const char * cs_param_get_space_scheme_name(cs_param_space_scheme_t scheme)
Get the name of the space discretization scheme.
Definition: cs_param_types.c:244
cs_param_advection_strategy_t
Choice of how to handle the advection term in an equation.
Definition: cs_param_types.h:384
@ CS_PARAM_ADVECTION_IMPLICIT_LINEARIZED
Definition: cs_param_types.h:387
@ CS_PARAM_N_ADVECTION_STRATEGIES
Definition: cs_param_types.h:390
@ CS_PARAM_ADVECTION_IMPLICIT_FULL
Definition: cs_param_types.h:386
@ CS_PARAM_ADVECTION_EXPLICIT
Definition: cs_param_types.h:388
cs_param_dotprod_type_t
Definition: cs_param_types.h:1040
@ CS_PARAM_DOTPROD_CDO
Definition: cs_param_types.h:1043
@ CS_PARAM_DOTPROD_EUCLIDEAN
Definition: cs_param_types.h:1042
@ CS_PARAM_N_DOTPROD_TYPES
Definition: cs_param_types.h:1045