programmer's documentation
Enumerations | Functions
cs_equation.h File Reference
#include "cs_cdo_quantities.h"
#include "cs_equation_param.h"
#include "cs_field.h"
#include "cs_param.h"
#include "cs_mesh.h"
#include "cs_source_term.h"
#include "cs_time_step.h"
Include dependency graph for cs_equation.h:

Go to the source code of this file.

Enumerations

enum  cs_equation_key_t {
  CS_EQKEY_ADV_FORMULATION, CS_EQKEY_ADV_SCHEME, CS_EQKEY_ADV_FLUX_QUADRA, CS_EQKEY_BC_ENFORCEMENT,
  CS_EQKEY_BC_QUADRATURE, CS_EQKEY_EXTRA_OP, CS_EQKEY_HODGE_DIFF_ALGO, CS_EQKEY_HODGE_DIFF_COEF,
  CS_EQKEY_HODGE_TIME_ALGO, CS_EQKEY_HODGE_TIME_COEF, CS_EQKEY_HODGE_REAC_ALGO, CS_EQKEY_HODGE_REAC_COEF,
  CS_EQKEY_ITSOL, CS_EQKEY_ITSOL_EPS, CS_EQKEY_ITSOL_MAX_ITER, CS_EQKEY_ITSOL_RESNORM,
  CS_EQKEY_ITSOL_VERBOSITY, CS_EQKEY_PRECOND, CS_EQKEY_SOLVER_FAMILY, CS_EQKEY_SPACE_SCHEME,
  CS_EQKEY_TIME_SCHEME, CS_EQKEY_TIME_THETA, CS_EQKEY_VERBOSITY, CS_EQKEY_N_KEYS
}
 

Functions

void cs_equation_allocate_common_structures (const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, const cs_time_step_t *time_step, cs_flag_t scheme_flag)
 Allocate a pointer to a buffer of size at least the 2*n_cells for managing temporary usage of memory when dealing with equations Call specific structure allocation related to a numerical scheme according the scheme flag The size of the temporary buffer can be bigger according to the numerical settings Set also shared pointers from the main domain members. More...
 
void cs_equation_free_common_structures (cs_flag_t scheme_flag)
 Allocate a pointer to a buffer of size at least the 2*n_cells for managing temporary usage of memory when dealing with equations Call specific structure allocation related to a numerical scheme according the scheme flag The size of the temporary buffer can be bigger according to the numerical settings. More...
 
cs_real_tcs_equation_get_tmpbuf (void)
 Retrieve a pointer to a buffer of size at least the 2*n_cells The size of the temporary buffer can be bigger according to the numerical settings. More...
 
size_t cs_equation_get_tmpbuf_size (void)
 Get the allocation size of the temporary buffer. More...
 
cs_equation_t * cs_equation_create (const char *eqname, const char *varname, cs_equation_type_t eqtype, cs_param_var_type_t vartype, cs_param_bc_type_t default_bc)
 Define and initialize a new structure to store parameters related to an equation. More...
 
cs_equation_t * cs_equation_free (cs_equation_t *eq)
 Destroy a cs_equation_t structure. More...
 
void cs_equation_summary (const cs_equation_t *eq)
 Summary of a cs_equation_t structure. More...
 
void cs_equation_set_timer_stats (cs_equation_t *eq)
 Create timer statistics structures to enable a "home-made" profiling. More...
 
void cs_equation_last_setup (cs_equation_t *eq)
 Assign a set of pointer functions for managing the cs_equation_t structure during the computation. More...
 
void cs_equation_set_param (cs_equation_t *eq, cs_equation_key_t key, const char *keyval)
 Set a parameter in a cs_equation_t structure attached to keyname. More...
 
void cs_equation_link (cs_equation_t *eq, const char *keyword, void *pointer)
 Associate a material property or an advection field with an equation for a given term (diffusion, time, convection) More...
 
void cs_equation_set_ic (cs_equation_t *eq, const char *ml_name, const char *def_key, void *val)
 Define the initial condition of the unknown related to this equation This definition can be done by mesh location Available types of definition are: "value" and "analytic". More...
 
void cs_equation_add_bc (cs_equation_t *eq, const char *ml_name, const char *bc_key, const char *def_key, const void *val)
 Define and initialize a new structure to store parameters related to an equation bc_key among "dirichlet", "neumann" or "robin" def_key among "value", "analytic", "user". More...
 
void cs_equation_add_linear_reaction (cs_equation_t *eq, cs_property_t *property, const char *r_name)
 Define and initialize a new structure to store parameters related to a reaction term. More...
 
void cs_equation_add_gravity_source_term (cs_equation_t *eq, int ml_id, cs_desc_t array_desc, cs_real_t *array_values)
 Define and initialize a new structure to store parameters related to a source term def_key among "value", "analytic", "user"... More...
 
void cs_equation_add_source_term_by_val (cs_equation_t *eq, const char *st_name, const char *ml_name, const void *val)
 Define and initialize by value a new structure to store parameters related to a source term defined by a user. More...
 
void cs_equation_add_source_term_by_analytic (cs_equation_t *eq, const char *st_name, const char *ml_name, cs_analytic_func_t *ana)
 Define and initialize by an analytical function a new structure related to a source term defined by a user. More...
 
void cs_equation_set_source_term_quadrature (cs_equation_t *eq, const char *st_name, cs_quadra_type_t quad_type)
 Set the type of quadrature to use for computing a source term If st_name is NULL, all source terms of the given equation are set. More...
 
void cs_equation_set_source_term_reduction (cs_equation_t *eq, const char *st_name, cs_source_term_reduction_t type)
 Set the type of quadrature to use for computing a source term If st_name is NULL, all source terms of the given equation are set. More...
 
void cs_equation_create_field (cs_equation_t *eq)
 Create a field structure related to this cs_equation_t structure to an equation. More...
 
void cs_equation_init_system (const cs_mesh_t *mesh, cs_equation_t *eq)
 Initialize the values of a field according to the initial condition related to its equation. More...
 
bool cs_equation_needs_build (const cs_equation_t *eq)
 Check if one has to build the linear system. More...
 
void cs_equation_build_system (const cs_mesh_t *m, const cs_time_step_t *time_step, double dt_cur, cs_equation_t *eq)
 Build the linear system for this equation. More...
 
void cs_equation_solve (cs_equation_t *eq, bool do_logcvg)
 Solve the linear system for this equation. More...
 
void cs_equation_extra_op (const cs_equation_t *eq, const cs_time_step_t *ts, double dt)
 Predefined extra-operations related to this equation. More...
 
bool cs_equation_is_steady (const cs_equation_t *eq)
 Return true is the given equation is steady otherwise false. More...
 
const cs_real_tcs_equation_get_face_values (const cs_equation_t *eq)
 Get the values at each face of the mesh for the field unknowns related to this equation. More...
 
const cs_real_tcs_equation_get_cell_values (const cs_equation_t *eq)
 Get the values at each cell centers for the field unknowns related to this equation. More...
 
const char * cs_equation_get_name (const cs_equation_t *eq)
 Return the name related to the given cs_equation_t structure to an equation. More...
 
cs_field_tcs_equation_get_field (const cs_equation_t *eq)
 Return the field structure associated to a cs_equation_t structure. More...
 
cs_flag_t cs_equation_get_flag (const cs_equation_t *eq)
 Return the flag associated to an equation. More...
 
const cs_equation_param_tcs_equation_get_param (const cs_equation_t *eq)
 Return the cs_equation_param_t structure associated to a cs_equation_t structure. More...
 
cs_property_t * cs_equation_get_diffusion_property (const cs_equation_t *eq)
 Return a pointer to the cs_property_t structure associated to the diffusion term for this equation. More...
 
cs_property_t * cs_equation_get_time_property (const cs_equation_t *eq)
 Return a pointer to the cs_property_t structure associated to the unsteady term for this equation. More...
 
cs_property_t * cs_equation_get_reaction_property (const cs_equation_t *eq, const char *r_name)
 Return a pointer to the cs_property_t structure associated to the reaction term called r_name and related to this equation. More...
 
cs_space_scheme_t cs_equation_get_space_scheme (const cs_equation_t *eq)
 Return the type of numerical scheme used for the discretization in space. More...
 
cs_param_var_type_t cs_equation_get_var_type (const cs_equation_t *eq)
 Return the type of variable solved by this equation. More...
 
cs_equation_type_t cs_equation_get_type (const cs_equation_t *eq)
 Return the type of equation for the given equation structure. More...
 
void cs_equation_compute_flux_across_plane (const cs_equation_t *eq, const char *ml_name, const cs_real_3_t direction, cs_real_t *diff_flux, cs_real_t *conv_flux)
 Compute the diffusive and convective flux accross a plane defined by a mesh location structure attached to the name ml_name. More...
 
void cs_equation_compute_diff_flux (const cs_equation_t *eq, cs_real_t *diff_flux)
 Cellwise computation of the diffusive flux across all cell faces. Primal or dual faces are considered according to the space scheme. More...
 

Enumeration Type Documentation

◆ cs_equation_key_t

Enumerator
CS_EQKEY_ADV_FORMULATION 
CS_EQKEY_ADV_SCHEME 
CS_EQKEY_ADV_FLUX_QUADRA 
CS_EQKEY_BC_ENFORCEMENT 
CS_EQKEY_BC_QUADRATURE 
CS_EQKEY_EXTRA_OP 
CS_EQKEY_HODGE_DIFF_ALGO 
CS_EQKEY_HODGE_DIFF_COEF 
CS_EQKEY_HODGE_TIME_ALGO 
CS_EQKEY_HODGE_TIME_COEF 
CS_EQKEY_HODGE_REAC_ALGO 
CS_EQKEY_HODGE_REAC_COEF 
CS_EQKEY_ITSOL 
CS_EQKEY_ITSOL_EPS 
CS_EQKEY_ITSOL_MAX_ITER 
CS_EQKEY_ITSOL_RESNORM 
CS_EQKEY_ITSOL_VERBOSITY 
CS_EQKEY_PRECOND 
CS_EQKEY_SOLVER_FAMILY 
CS_EQKEY_SPACE_SCHEME 
CS_EQKEY_TIME_SCHEME 
CS_EQKEY_TIME_THETA 
CS_EQKEY_VERBOSITY 
CS_EQKEY_N_KEYS 

Function Documentation

◆ cs_equation_add_bc()

void cs_equation_add_bc ( cs_equation_t *  eq,
const char *  ml_name,
const char *  bc_key,
const char *  def_key,
const void *  val 
)

Define and initialize a new structure to store parameters related to an equation bc_key among "dirichlet", "neumann" or "robin" def_key among "value", "analytic", "user".

Parameters
[in,out]eqpointer to a cs_equation_t structure
[in]ml_namename of the related mesh location
[in]bc_keytype of boundary condition to add
[in]def_keyway of defining the value of the bc
[in]valpointer to the value

◆ cs_equation_add_gravity_source_term()

void cs_equation_add_gravity_source_term ( cs_equation_t *  eq,
int  ml_id,
cs_desc_t  array_desc,
cs_real_t array_values 
)

Define and initialize a new structure to store parameters related to a source term def_key among "value", "analytic", "user"...

Parameters
[in,out]eqpointer to a cs_equation_t structure
[in]ml_idid related to a mesh location
[in]array_descshort description of this array (mask of bits)
[in]array_valuespointer to the array values

◆ cs_equation_add_linear_reaction()

void cs_equation_add_linear_reaction ( cs_equation_t *  eq,
cs_property_t *  property,
const char *  r_name 
)

Define and initialize a new structure to store parameters related to a reaction term.

Parameters
[in,out]eqpointer to a cs_equation_t structure
[in]propertypointer to a cs_property_t struct.
[in]r_namename of the reaction term (optional, i.e. NULL)

◆ cs_equation_add_source_term_by_analytic()

void cs_equation_add_source_term_by_analytic ( cs_equation_t *  eq,
const char *  st_name,
const char *  ml_name,
cs_analytic_func_t ana 
)

Define and initialize by an analytical function a new structure related to a source term defined by a user.

Parameters
[in,out]eqpointer to a cs_equation_t structure
[in]st_namename of the source term or NULL
[in]ml_namename of the related mesh location
[in]anapointer to an analytical function

◆ cs_equation_add_source_term_by_val()

void cs_equation_add_source_term_by_val ( cs_equation_t *  eq,
const char *  st_name,
const char *  ml_name,
const void *  val 
)

Define and initialize by value a new structure to store parameters related to a source term defined by a user.

Parameters
[in,out]eqpointer to a cs_equation_t structure
[in]st_namename of the source term or NULL
[in]ml_namename of the related mesh location
[in]valpointer to the value

◆ cs_equation_allocate_common_structures()

void cs_equation_allocate_common_structures ( const cs_cdo_connect_t connect,
const cs_cdo_quantities_t quant,
const cs_time_step_t time_step,
cs_flag_t  scheme_flag 
)

Allocate a pointer to a buffer of size at least the 2*n_cells for managing temporary usage of memory when dealing with equations Call specific structure allocation related to a numerical scheme according the scheme flag The size of the temporary buffer can be bigger according to the numerical settings Set also shared pointers from the main domain members.

Parameters
[in]connectpointer to a cs_cdo_connect_t structure
[in]quantpointer to additional mesh quantities struct.
[in]time_steppointer to a time step structure
[in]scheme_flagflag to identify which kind of numerical scheme is requested to solve the computational domain

◆ cs_equation_build_system()

void cs_equation_build_system ( const cs_mesh_t mesh,
const cs_time_step_t time_step,
double  dt_cur,
cs_equation_t *  eq 
)

Build the linear system for this equation.

Parameters
[in]mpointer to a cs_mesh_t structure
[in]time_steppointer to a time step structure
[in]dt_curvalue of the current time step
[in,out]eqpointer to a cs_equation_t structure

◆ cs_equation_compute_diff_flux()

void cs_equation_compute_diff_flux ( const cs_equation_t *  eq,
cs_real_t diff_flux 
)

Cellwise computation of the diffusive flux across all cell faces. Primal or dual faces are considered according to the space scheme.

Parameters
[in]eqpointer to a cs_equation_t structure
[in,out]diff_fluxvalue of the diffusive flux

◆ cs_equation_compute_flux_across_plane()

void cs_equation_compute_flux_across_plane ( const cs_equation_t *  eq,
const char *  ml_name,
const cs_real_3_t  direction,
cs_real_t diff_flux,
cs_real_t conv_flux 
)

Compute the diffusive and convective flux accross a plane defined by a mesh location structure attached to the name ml_name.

Parameters
[in]eqpointer to a cs_equation_t structure
[in]ml_namename of the related mesh location
[in]directionvector indicating in which direction flux is > 0
[in,out]diff_fluxvalue of the diffusive part of the flux
[in,out]conv_fluxvalue of the convective part of the flux

◆ cs_equation_create()

cs_equation_t* cs_equation_create ( const char *  eqname,
const char *  varname,
cs_equation_type_t  eqtype,
cs_param_var_type_t  vartype,
cs_param_bc_type_t  default_bc 
)

Define and initialize a new structure to store parameters related to an equation.

Parameters
[in]eqnamename of the equation
[in]varnamename of the variable associated to this equation
[in]eqtypetype of equation (user, predefined...)
[in]vartypetype of variable (scalar, vector, tensor...)
[in]default_bctype of boundary condition set by default
Returns
a pointer to the new allocated cs_equation_t structure

◆ cs_equation_create_field()

void cs_equation_create_field ( cs_equation_t *  eq)

Create a field structure related to this cs_equation_t structure to an equation.

Parameters
[in,out]eqpointer to a cs_equation_t structure

◆ cs_equation_extra_op()

void cs_equation_extra_op ( const cs_equation_t *  eq,
const cs_time_step_t ts,
double  dt 
)

Predefined extra-operations related to this equation.

Parameters
[in]eqpointer to a cs_equation_t structure
[in]tspointer to a cs_time_step_t struct.
[in]dtvalue of the cureent time step

◆ cs_equation_free()

cs_equation_t* cs_equation_free ( cs_equation_t *  eq)

Destroy a cs_equation_t structure.

Parameters
[in,out]eqpointer to a cs_equation_t structure
Returns
a NULL pointer

◆ cs_equation_free_common_structures()

void cs_equation_free_common_structures ( cs_flag_t  scheme_flag)

Allocate a pointer to a buffer of size at least the 2*n_cells for managing temporary usage of memory when dealing with equations Call specific structure allocation related to a numerical scheme according the scheme flag The size of the temporary buffer can be bigger according to the numerical settings.

Parameters
[in]scheme_flagflag to identify which kind of numerical scheme is requested to solve the computational domain

◆ cs_equation_get_cell_values()

const cs_real_t* cs_equation_get_cell_values ( const cs_equation_t *  eq)

Get the values at each cell centers for the field unknowns related to this equation.

Parameters
[in]eqpointer to a cs_equation_t structure
Returns
a pointer to the cell values

◆ cs_equation_get_diffusion_property()

cs_property_t* cs_equation_get_diffusion_property ( const cs_equation_t *  eq)

Return a pointer to the cs_property_t structure associated to the diffusion term for this equation.

Parameters
[in]eqpointer to a cs_equation_t structure
Returns
a pointer to a cs_property_t structure or NULL if not found

Return a pointer to the cs_property_t structure associated to the diffusion term for this equation.

Parameters
[in]eqpointer to a cs_equation_t structure
Returns
a pointer to a cs_property_t structure

◆ cs_equation_get_face_values()

const cs_real_t* cs_equation_get_face_values ( const cs_equation_t *  eq)

Get the values at each face of the mesh for the field unknowns related to this equation.

Parameters
[in]eqpointer to a cs_equation_t structure
Returns
a pointer to the face values

◆ cs_equation_get_field()

cs_field_t* cs_equation_get_field ( const cs_equation_t *  eq)

Return the field structure associated to a cs_equation_t structure.

Parameters
[in]eqpointer to a cs_equation_t structure
Returns
a cs_field_t structure or NULL if not found

◆ cs_equation_get_flag()

cs_flag_t cs_equation_get_flag ( const cs_equation_t *  eq)

Return the flag associated to an equation.

Parameters
[in]eqpointer to a cs_equation_t structure
Returns
a flag (cs_flag_t type)

◆ cs_equation_get_name()

const char* cs_equation_get_name ( const cs_equation_t *  eq)

Return the name related to the given cs_equation_t structure to an equation.

Parameters
[in]eqpointer to a cs_equation_t structure
Returns
a name or NULL if not found

◆ cs_equation_get_param()

const cs_equation_param_t* cs_equation_get_param ( const cs_equation_t *  eq)

Return the cs_equation_param_t structure associated to a cs_equation_t structure.

Parameters
[in]eqpointer to a cs_equation_t structure
Returns
a cs_equation_param_t structure or NULL if not found

◆ cs_equation_get_reaction_property()

cs_property_t* cs_equation_get_reaction_property ( const cs_equation_t *  eq,
const char *  r_name 
)

Return a pointer to the cs_property_t structure associated to the reaction term called r_name and related to this equation.

Parameters
[in]eqpointer to a cs_equation_t structure
Returns
a pointer to a cs_property_t structure or NULL if not found

◆ cs_equation_get_space_scheme()

cs_space_scheme_t cs_equation_get_space_scheme ( const cs_equation_t *  eq)

Return the type of numerical scheme used for the discretization in space.

Parameters
[in]eqpointer to a cs_equation_t structure
Returns
a cs_space_scheme_t variable

◆ cs_equation_get_time_property()

cs_property_t* cs_equation_get_time_property ( const cs_equation_t *  eq)

Return a pointer to the cs_property_t structure associated to the unsteady term for this equation.

Parameters
[in]eqpointer to a cs_equation_t structure
Returns
a pointer to a cs_property_t structure or NULL if not found

Return a pointer to the cs_property_t structure associated to the unsteady term for this equation.

Parameters
[in]eqpointer to a cs_equation_t structure
Returns
a pointer to a cs_property_t structure

◆ cs_equation_get_tmpbuf()

cs_real_t* cs_equation_get_tmpbuf ( void  )

Retrieve a pointer to a buffer of size at least the 2*n_cells The size of the temporary buffer can be bigger according to the numerical settings.

Returns
a pointer to an array of double

◆ cs_equation_get_tmpbuf_size()

size_t cs_equation_get_tmpbuf_size ( void  )

Get the allocation size of the temporary buffer.

Returns
the size of the temporary buffer

◆ cs_equation_get_type()

cs_equation_type_t cs_equation_get_type ( const cs_equation_t *  eq)

Return the type of equation for the given equation structure.

Parameters
[in]eqpointer to a cs_equation_t structure
Returns
the type of the given equation

◆ cs_equation_get_var_type()

cs_param_var_type_t cs_equation_get_var_type ( const cs_equation_t *  eq)

Return the type of variable solved by this equation.

Parameters
[in]eqpointer to a cs_equation_t structure
Returns
the type of variable (sclar, vector...) associated to this equation

◆ cs_equation_init_system()

void cs_equation_init_system ( const cs_mesh_t mesh,
cs_equation_t *  eq 
)

Initialize the values of a field according to the initial condition related to its equation.

Parameters
[in]meshpointer to the mesh structure
[in,out]eqpointer to a cs_equation_t structure

◆ cs_equation_is_steady()

bool cs_equation_is_steady ( const cs_equation_t *  eq)

Return true is the given equation is steady otherwise false.

Parameters
[in]eqpointer to a cs_equation_t structure
Returns
true or false

◆ cs_equation_last_setup()

void cs_equation_last_setup ( cs_equation_t *  eq)

Assign a set of pointer functions for managing the cs_equation_t structure during the computation.

Parameters
[in,out]eqpointer to a cs_equation_t structure

◆ cs_equation_link()

void cs_equation_link ( cs_equation_t *  eq,
const char *  keyword,
void *  pointer 
)

Associate a material property or an advection field with an equation for a given term (diffusion, time, convection)

Parameters
[in,out]eqpointer to a cs_equation_t structure
[in]keyword"time", "diffusion", "advection"
[in]pointerpointer to a given structure

◆ cs_equation_needs_build()

bool cs_equation_needs_build ( const cs_equation_t *  eq)

Check if one has to build the linear system.

Parameters
[in]eqpointer to a cs_equation_t structure
Returns
true or false

◆ cs_equation_set_ic()

void cs_equation_set_ic ( cs_equation_t *  eq,
const char *  ml_name,
const char *  def_key,
void *  val 
)

Define the initial condition of the unknown related to this equation This definition can be done by mesh location Available types of definition are: "value" and "analytic".

Parameters
[in,out]eqpointer to a cs_equation_t structure
[in]ml_namename of the associated mesh location (if NULL or "" all entities are considered)
[in]def_keyway of defining the value of the BC
[in]valpointer to the value

Define the initial condition of the unknown related to this equation This definition can be done by mesh location Available types of definition are: "value" and "analytic".

Parameters
[in,out]eqpointer to a cs_equation_t structure
[in]ml_namename of the associated mesh location (if NULL or "" all entities are considered)
[in]def_keyway of defining the value of the BC
[in]valpointer to the value

◆ cs_equation_set_param()

void cs_equation_set_param ( cs_equation_t *  eq,
cs_equation_key_t  key,
const char *  keyval 
)

Set a parameter in a cs_equation_t structure attached to keyname.

Parameters
[in,out]eqpointer to a cs_equation_t structure
[in]keykey related to the member of eq to set
[in]keyvalaccessor to the value to set

◆ cs_equation_set_source_term_quadrature()

void cs_equation_set_source_term_quadrature ( cs_equation_t *  eq,
const char *  st_name,
cs_quadra_type_t  quad_type 
)

Set the type of quadrature to use for computing a source term If st_name is NULL, all source terms of the given equation are set.

Parameters
[in,out]eqpointer to a cs_equation_t structure
[in]st_namename of the source term
[in]quad_typetype of quadrature to use

◆ cs_equation_set_source_term_reduction()

void cs_equation_set_source_term_reduction ( cs_equation_t *  eq,
const char *  st_name,
cs_source_term_reduction_t  type 
)

Set the type of quadrature to use for computing a source term If st_name is NULL, all source terms of the given equation are set.

Parameters
[in,out]eqpointer to a cs_equation_t structure
[in]st_namename of the source term
[in]typetype of reduction to apply

◆ cs_equation_set_timer_stats()

void cs_equation_set_timer_stats ( cs_equation_t *  eq)

Create timer statistics structures to enable a "home-made" profiling.

Parameters
[in,out]eqpointer to a cs_equation_t structure

◆ cs_equation_solve()

void cs_equation_solve ( cs_equation_t *  eq,
bool  do_logcvg 
)

Solve the linear system for this equation.

Parameters
[in,out]eqpointer to a cs_equation_t structure
[in]do_logcvgoutput information on convergence or not

◆ cs_equation_summary()

void cs_equation_summary ( const cs_equation_t *  eq)

Summary of a cs_equation_t structure.

Parameters
[in]eqpointer to a cs_equation_t structure