programmer's documentation
Data Structures | Typedefs | Enumerations | Functions
cs_param.h File Reference
#include "cs_mesh.h"
#include "cs_cdo.h"
#include "cs_quadrature.h"
Include dependency graph for cs_param.h:

Go to the source code of this file.

Data Structures

union  cs_def_t
 
struct  cs_param_def_t
 
struct  cs_param_hodge_t
 
struct  cs_param_time_t
 
struct  cs_param_advection_t
 
struct  cs_param_reaction_t
 
struct  cs_param_bc_def_t
 
struct  cs_param_bc_t
 
struct  cs_param_itsol_t
 

Typedefs

typedef void() cs_user_func_t(const void *input1, const void *input2, cs_real_t tcur, const cs_real_3_t xyz, cs_get_t *output)
 

Enumerations

enum  cs_param_def_type_t {
  CS_PARAM_DEF_BY_ANALYTIC_FUNCTION, CS_PARAM_DEF_BY_ARRAY, CS_PARAM_DEF_BY_LAW_ONESCA, CS_PARAM_DEF_BY_LAW_TWOSCA,
  CS_PARAM_DEF_BY_LAW_SCAVEC, CS_PARAM_DEF_BY_QOV, CS_PARAM_DEF_BY_TIME_FUNCTION, CS_PARAM_DEF_BY_USER_FUNCTION,
  CS_PARAM_DEF_BY_VALUE, CS_PARAM_N_DEF_TYPES
}
 
enum  cs_param_var_type_t {
  CS_PARAM_VAR_SCAL, CS_PARAM_VAR_VECT, CS_PARAM_VAR_SYMTENS, CS_PARAM_VAR_TENS,
  CS_PARAM_N_VAR_TYPES
}
 
enum  cs_param_hodge_type_t {
  CS_PARAM_HODGE_TYPE_VPCD, CS_PARAM_HODGE_TYPE_EPFD, CS_PARAM_HODGE_TYPE_FPED, CS_PARAM_HODGE_TYPE_EDFP,
  CS_PARAM_HODGE_TYPE_CPVD, CS_PARAM_HODGE_TYPE_VC, CS_PARAM_N_HODGE_TYPES
}
 
enum  cs_param_hodge_algo_t { CS_PARAM_HODGE_ALGO_VORONOI, CS_PARAM_HODGE_ALGO_WBS, CS_PARAM_HODGE_ALGO_COST, CS_PARAM_N_HODGE_ALGOS }
 
enum  cs_time_scheme_t {
  CS_TIME_SCHEME_IMPLICIT, CS_TIME_SCHEME_EXPLICIT, CS_TIME_SCHEME_CRANKNICO, CS_TIME_SCHEME_THETA,
  CS_TIME_N_SCHEMES
}
 
enum  cs_param_advection_form_t { CS_PARAM_ADVECTION_FORM_CONSERV, CS_PARAM_ADVECTION_FORM_NONCONS, CS_PARAM_N_ADVECTION_FORMULATIONS }
 
enum  cs_param_advection_scheme_t {
  CS_PARAM_ADVECTION_SCHEME_CENTERED, CS_PARAM_ADVECTION_SCHEME_CIP, CS_PARAM_ADVECTION_SCHEME_UPWIND, CS_PARAM_ADVECTION_SCHEME_SAMARSKII,
  CS_PARAM_ADVECTION_SCHEME_SG, CS_PARAM_N_ADVECTION_SCHEMES
}
 
enum  cs_param_advection_weight_t { CS_PARAM_ADVECTION_WEIGHT_FLUX, CS_PARAM_ADVECTION_WEIGHT_XEXC, CS_PARAM_N_ADVECTION_WEIGHTS }
 
enum  cs_param_reaction_type_t { CS_PARAM_REACTION_TYPE_LINEAR, CS_PARAM_N_REACTION_TYPES }
 
enum  cs_param_boundary_type_t {
  CS_PARAM_BOUNDARY_WALL, CS_PARAM_BOUNDARY_INLET, CS_PARAM_BOUNDARY_OUTLET, CS_PARAM_BOUNDARY_SYMMETRY,
  CS_PARAM_N_BOUNDARY_TYPES
}
 
enum  cs_param_bc_type_t {
  CS_PARAM_BC_HMG_DIRICHLET, CS_PARAM_BC_DIRICHLET, CS_PARAM_BC_HMG_NEUMANN, CS_PARAM_BC_NEUMANN,
  CS_PARAM_BC_ROBIN, CS_PARAM_N_BC_TYPES
}
 
enum  cs_param_bc_enforce_t {
  CS_PARAM_BC_ENFORCE_STRONG, CS_PARAM_BC_ENFORCE_WEAK_PENA, CS_PARAM_BC_ENFORCE_WEAK_NITSCHE, CS_PARAM_BC_ENFORCE_WEAK_SYM,
  CS_PARAM_N_BC_ENFORCEMENTS
}
 
enum  cs_param_precond_type_t {
  CS_PARAM_PRECOND_DIAG, CS_PARAM_PRECOND_BJACOB, CS_PARAM_PRECOND_POLY1, CS_PARAM_PRECOND_SSOR,
  CS_PARAM_PRECOND_ILU0, CS_PARAM_PRECOND_ICC0, CS_PARAM_PRECOND_AMG, CS_PARAM_PRECOND_AS,
  CS_PARAM_N_PRECOND_TYPES
}
 
enum  cs_param_itsol_type_t {
  CS_PARAM_ITSOL_CG, CS_PARAM_ITSOL_BICG, CS_PARAM_ITSOL_BICGSTAB2, CS_PARAM_ITSOL_CR3,
  CS_PARAM_ITSOL_GMRES, CS_PARAM_ITSOL_AMG, CS_PARAM_N_ITSOL_TYPES
}
 

Functions

const char * cs_param_get_var_type_name (const cs_param_var_type_t type)
 Get the name related to a type of variable. More...
 
const char * cs_param_get_def_type_name (const cs_param_def_type_t type)
 Get the name related to a type of definition. More...
 
void cs_param_set_def (cs_param_def_type_t def_type, cs_param_var_type_t var_type, const void *val, cs_def_t *def)
 Set a cs_def_t structure. More...
 
void cs_param_set_get (cs_param_var_type_t var_type, const char *val, cs_get_t *get)
 Set a cs_get_t structure. More...
 
cs_param_bc_tcs_param_bc_create (cs_param_bc_type_t default_bc)
 Allocate and initialize a new cs_param_bc_t structure. More...
 
void cs_param_bc_def_set (cs_param_bc_def_t *bcpd, int loc_id, cs_param_bc_type_t bc_type, cs_param_var_type_t var_type, cs_param_def_type_t def_type, const void *coef1, const void *coef2)
 Set a cs_param_bc_def_t structure. More...
 
const char * cs_param_reaction_get_type_name (cs_param_reaction_type_t r_info)
 Get the name of the type of reaction term. More...
 
const char * cs_param_hodge_get_algo_name (const cs_param_hodge_t h_info)
 Get the name of algorithm related to a discrete Hdoge operator. More...
 
const char * cs_param_hodge_get_type_name (const cs_param_hodge_t h_info)
 Get the type of discrete Hodge operator. More...
 
const char * cs_param_get_solver_name (cs_param_itsol_type_t solver)
 Get the name of the solver. More...
 
const char * cs_param_get_precond_name (cs_param_precond_type_t precond)
 Get the name of the preconditioner. More...
 
const char * cs_param_get_bc_name (cs_param_bc_type_t bc)
 Get the name of the type of boundary condition. More...
 
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. More...
 

Typedef Documentation

◆ cs_user_func_t

typedef void() cs_user_func_t(const void *input1, const void *input2, cs_real_t tcur, const cs_real_3_t xyz, cs_get_t *output)

Enumeration Type Documentation

◆ cs_param_advection_form_t

Enumerator
CS_PARAM_ADVECTION_FORM_CONSERV 
CS_PARAM_ADVECTION_FORM_NONCONS 
CS_PARAM_N_ADVECTION_FORMULATIONS 

◆ cs_param_advection_scheme_t

Enumerator
CS_PARAM_ADVECTION_SCHEME_CENTERED 
CS_PARAM_ADVECTION_SCHEME_CIP 
CS_PARAM_ADVECTION_SCHEME_UPWIND 
CS_PARAM_ADVECTION_SCHEME_SAMARSKII 
CS_PARAM_ADVECTION_SCHEME_SG 
CS_PARAM_N_ADVECTION_SCHEMES 

◆ cs_param_advection_weight_t

Enumerator
CS_PARAM_ADVECTION_WEIGHT_FLUX 
CS_PARAM_ADVECTION_WEIGHT_XEXC 
CS_PARAM_N_ADVECTION_WEIGHTS 

◆ cs_param_bc_enforce_t

Enumerator
CS_PARAM_BC_ENFORCE_STRONG 
CS_PARAM_BC_ENFORCE_WEAK_PENA 
CS_PARAM_BC_ENFORCE_WEAK_NITSCHE 
CS_PARAM_BC_ENFORCE_WEAK_SYM 
CS_PARAM_N_BC_ENFORCEMENTS 

◆ cs_param_bc_type_t

Enumerator
CS_PARAM_BC_HMG_DIRICHLET 
CS_PARAM_BC_DIRICHLET 
CS_PARAM_BC_HMG_NEUMANN 
CS_PARAM_BC_NEUMANN 
CS_PARAM_BC_ROBIN 
CS_PARAM_N_BC_TYPES 

◆ cs_param_boundary_type_t

Enumerator
CS_PARAM_BOUNDARY_WALL 
CS_PARAM_BOUNDARY_INLET 
CS_PARAM_BOUNDARY_OUTLET 
CS_PARAM_BOUNDARY_SYMMETRY 
CS_PARAM_N_BOUNDARY_TYPES 

◆ cs_param_def_type_t

Enumerator
CS_PARAM_DEF_BY_ANALYTIC_FUNCTION 
CS_PARAM_DEF_BY_ARRAY 
CS_PARAM_DEF_BY_LAW_ONESCA 
CS_PARAM_DEF_BY_LAW_TWOSCA 
CS_PARAM_DEF_BY_LAW_SCAVEC 
CS_PARAM_DEF_BY_QOV 
CS_PARAM_DEF_BY_TIME_FUNCTION 
CS_PARAM_DEF_BY_USER_FUNCTION 
CS_PARAM_DEF_BY_VALUE 
CS_PARAM_N_DEF_TYPES 

◆ cs_param_hodge_algo_t

Enumerator
CS_PARAM_HODGE_ALGO_VORONOI 
CS_PARAM_HODGE_ALGO_WBS 
CS_PARAM_HODGE_ALGO_COST 
CS_PARAM_N_HODGE_ALGOS 

◆ cs_param_hodge_type_t

Enumerator
CS_PARAM_HODGE_TYPE_VPCD 
CS_PARAM_HODGE_TYPE_EPFD 
CS_PARAM_HODGE_TYPE_FPED 
CS_PARAM_HODGE_TYPE_EDFP 
CS_PARAM_HODGE_TYPE_CPVD 
CS_PARAM_HODGE_TYPE_VC 
CS_PARAM_N_HODGE_TYPES 

◆ cs_param_itsol_type_t

Enumerator
CS_PARAM_ITSOL_CG 
CS_PARAM_ITSOL_BICG 
CS_PARAM_ITSOL_BICGSTAB2 
CS_PARAM_ITSOL_CR3 
CS_PARAM_ITSOL_GMRES 
CS_PARAM_ITSOL_AMG 
CS_PARAM_N_ITSOL_TYPES 

◆ cs_param_precond_type_t

Enumerator
CS_PARAM_PRECOND_DIAG 
CS_PARAM_PRECOND_BJACOB 
CS_PARAM_PRECOND_POLY1 
CS_PARAM_PRECOND_SSOR 
CS_PARAM_PRECOND_ILU0 
CS_PARAM_PRECOND_ICC0 
CS_PARAM_PRECOND_AMG 
CS_PARAM_PRECOND_AS 
CS_PARAM_N_PRECOND_TYPES 

◆ cs_param_reaction_type_t

Enumerator
CS_PARAM_REACTION_TYPE_LINEAR 
CS_PARAM_N_REACTION_TYPES 

◆ cs_param_var_type_t

Enumerator
CS_PARAM_VAR_SCAL 
CS_PARAM_VAR_VECT 
CS_PARAM_VAR_SYMTENS 
CS_PARAM_VAR_TENS 
CS_PARAM_N_VAR_TYPES 

◆ cs_time_scheme_t

Enumerator
CS_TIME_SCHEME_IMPLICIT 
CS_TIME_SCHEME_EXPLICIT 
CS_TIME_SCHEME_CRANKNICO 
CS_TIME_SCHEME_THETA 
CS_TIME_N_SCHEMES 

Function Documentation

◆ cs_param_bc_create()

cs_param_bc_t* cs_param_bc_create ( cs_param_bc_type_t  default_bc)

Allocate and initialize a new cs_param_bc_t structure.

Parameters
[in]default_bcdefault boundary condition
Returns
a pointer to the new structure (free with cs_param_eq_t)
Parameters
[in]default_bcdefault boundary condition
Returns
a pointer to the new structure (free with cs_equation_param_t)

◆ cs_param_bc_def_set()

void cs_param_bc_def_set ( cs_param_bc_def_t bcpd,
int  loc_id,
cs_param_bc_type_t  bc_type,
cs_param_var_type_t  var_type,
cs_param_def_type_t  def_type,
const void *  coef1,
const void *  coef2 
)

Set a cs_param_bc_def_t structure.

Parameters
[in,out]bcpdpointer to cs_param_bc_def_t struct. to set
[in]loc_idid related to a cs_mesh_location_t
[in]bc_typegeneric type of admissible boundary conditions
[in]var_typetype of variables (scalar, vector, tensor...)
[in]def_typeby value, function...
[in]coef1access to the value of the first coef
[in]coef2access to the value of the second coef (optional)

◆ cs_param_get_bc_enforcement_name()

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.

Parameters
[in]typetype of enforcement of boundary conditions
Returns
the associated name
Parameters
[in]bc_enforcetype of enforcement of boundary conditions
Returns
the associated name

◆ cs_param_get_bc_name()

const char* cs_param_get_bc_name ( cs_param_bc_type_t  bc)

Get the name of the type of boundary condition.

Parameters
[in]bctype of boundary condition
Returns
the associated bc name
Parameters
[in]bc_typetype of boundary condition
Returns
the associated bc name

◆ cs_param_get_def_type_name()

const char* cs_param_get_def_type_name ( const cs_param_def_type_t  type)

Get the name related to a type of definition.

Parameters
[in]typecs_param_def_type_t
Returns
the name associated to this type

◆ cs_param_get_precond_name()

const char* cs_param_get_precond_name ( cs_param_precond_type_t  precond)

Get the name of the preconditioner.

Parameters
[in]precondtype of preconditioner
Returns
the associated preconditioner name

◆ cs_param_get_solver_name()

const char* cs_param_get_solver_name ( cs_param_itsol_type_t  solver)

Get the name of the solver.

Parameters
[in]solvertype of iterative solver
Returns
the associated solver name

◆ cs_param_get_var_type_name()

const char* cs_param_get_var_type_name ( const cs_param_var_type_t  type)

Get the name related to a type of variable.

Parameters
[in]typecs_param_var_type_t
Returns
the name associated to this type

◆ cs_param_hodge_get_algo_name()

const char* cs_param_hodge_get_algo_name ( const cs_param_hodge_t  h_info)

Get the name of algorithm related to a discrete Hdoge operator.

Parameters
[in]h_infocs_param_hodge_t structure
Returns
the name of the algorithm

◆ cs_param_hodge_get_type_name()

const char* cs_param_hodge_get_type_name ( const cs_param_hodge_t  h_info)

Get the type of discrete Hodge operator.

Parameters
[in]h_infocs_param_hodge_t structure
Returns
the name of the type

◆ cs_param_reaction_get_type_name()

const char* cs_param_reaction_get_type_name ( cs_param_reaction_type_t  r_type)

Get the name of the type of reaction term.

Parameters
[in]r_typetype of reaction term
Returns
the name associated with this type of reaction term

◆ cs_param_set_def()

void cs_param_set_def ( cs_param_def_type_t  def_type,
cs_param_var_type_t  var_type,
const void *  val,
cs_def_t def 
)

Set a cs_def_t structure.

Parameters
[in]def_typetype of definition (by value, function...)
[in]var_typetype of variables (scalar, vector, tensor...)
[in]valvalue to set
[in,out]defpointer to cs_def_t structure

◆ cs_param_set_get()

void cs_param_set_get ( cs_param_var_type_t  var_type,
const char *  val,
cs_get_t get 
)

Set a cs_get_t structure.

Parameters
[in]var_typetype of variables (scalar, vector, tensor...)
[in]valvalue to set
[in,out]getpointer to cs_get_t structure