Go to the source code of this file.
|
void | cs_cdovb_scalsys_init_sharing (const cs_mesh_t *mesh, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, const cs_time_step_t *time_step) |
| Set pointers to the main shared structures. More...
|
|
void * | cs_cdovb_scalsys_define (int n_eqs, const cs_equation_system_param_t *sysp, cs_equation_core_t **block_factories, cs_cdo_system_helper_t **p_sh) |
| Create and initialize factories for extra-diagonal blocks Build equation builders and scheme context structures for each equation which are in the extra-diagonal blocks related to a system of equations. Structures associated to diagonal blocks should be already initialized during the treatment of the classical full equations. More...
|
|
void * | cs_cdovb_scalsys_free (int n_eqs, cs_equation_core_t **blocks, void *sys_context) |
| Free an array of structures (equation parameters, equation builders or scheme context) for each equation which are in the extra-diagonal blocks related to a system of equations. Structures associated to diagonal blocks are freed during the treatment of the classical full equations. More...
|
|
void | cs_cdovb_scalsys_solve_implicit (bool cur2prev, int n_equations, cs_equation_system_param_t *sysp, cs_equation_core_t **blocks, void *sys_context, cs_cdo_system_helper_t *sh) |
| Build and solve the linear system of equations. The number of rows in the system is equal to the number of equations. Thus there are n_eqs*n_eqs blocks in the system. Each block corresponds potentially to a scalar-valued unsteady convection/diffusion/reaction equation with a CDO-Vb scheme using an implicit time scheme. More...
|
|
◆ cs_cdovb_scalsys_define()
Create and initialize factories for extra-diagonal blocks Build equation builders and scheme context structures for each equation which are in the extra-diagonal blocks related to a system of equations. Structures associated to diagonal blocks should be already initialized during the treatment of the classical full equations.
Case of scalar-valued CDO-Vb scheme in each block
- Parameters
-
[in] | n_eqs | number of equations |
[in] | sysp | set of parameters to specify a system of eqs |
[in,out] | block_factories | array of the core members for an equation |
[out] | p_sh | system helper structure to initialize |
- Returns
- a pointer to a new allocated system context structure
◆ cs_cdovb_scalsys_free()
void* cs_cdovb_scalsys_free |
( |
int |
n_eqs, |
|
|
cs_equation_core_t ** |
blocks, |
|
|
void * |
sys_context |
|
) |
| |
Free an array of structures (equation parameters, equation builders or scheme context) for each equation which are in the extra-diagonal blocks related to a system of equations. Structures associated to diagonal blocks are freed during the treatment of the classical full equations.
Case of scalar-valued CDO-Vb scheme in each block
- Parameters
-
[in] | n_eqs | number of equations |
[in,out] | blocks | array of the core structures for an equation |
[in,out] | sys_context | pointer to a structure cast on-the-fly |
◆ cs_cdovb_scalsys_init_sharing()
Set pointers to the main shared structures.
- Parameters
-
[in] | mesh | basic mesh structure |
[in] | connect | pointer to a cs_cdo_connect_t struct. |
[in] | quant | additional mesh quantities struct. |
[in] | time_step | pointer to a time step structure |
◆ cs_cdovb_scalsys_solve_implicit()
Build and solve the linear system of equations. The number of rows in the system is equal to the number of equations. Thus there are n_eqs*n_eqs blocks in the system. Each block corresponds potentially to a scalar-valued unsteady convection/diffusion/reaction equation with a CDO-Vb scheme using an implicit time scheme.
- Parameters
-
[in] | cur2prev | do a "current to previous" operation ? |
[in] | n_equations | number of equations |
[in] | sysp | set of paremeters for the system of equations |
[in,out] | blocks | array of the core members for an equation |
[in,out] | sys_context | pointer to a structure cast on-the-fly |
[in,out] | sh | pointer to a system helper structure |