Functions dedicated to to the linear algebra settings and operations in case of CDO cell-based schemes with a monolithic coupling. More...
#include "cs_defs.h"#include <stdio.h>#include <stdlib.h>#include <math.h>#include <float.h>#include <assert.h>#include <string.h>#include <bft_mem.h>#include "cs_blas.h"#include "cs_cdo_blas.h"#include "cs_cdo_solve.h"#include "cs_equation.h"#include "cs_cdocb_priv.h"#include "cs_cdocb_scaleq.h"#include "cs_fp_exception.h"#include "cs_matrix_default.h"#include "cs_parall.h"#include "cs_saddle_itsol.h"#include "cs_timer.h"#include "cs_cdocb_monolithic_sles.h"
Include dependency graph for cs_cdocb_monolithic_sles.c:Functions | |
| cs_cdocb_monolithic_sles_t * | cs_cdocb_monolithic_sles_create (cs_lnum_t n_faces, cs_lnum_t n_cells) |
| Create an empty cs_cdocb_monolithic_sles_t structure. More... | |
| void | cs_cdocb_monolithic_sles_clean (cs_cdocb_monolithic_sles_t *msles) |
| Free a part of the structure. More... | |
| void | cs_cdocb_monolithic_sles_free (cs_cdocb_monolithic_sles_t **p_msles) |
| Free memory related to cs_cdocb_monolithic_sles_t structure. More... | |
| void | cs_cdocb_monolithic_sles_init_sharing (const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant) |
| Set pointers to shared structures. More... | |
| void | cs_cdocb_monolithic_sles_finalize (void) |
| Free if needed structure(s) associated CDO cell-based schemes with a monolithic velocity-pressure coupling. More... | |
| void | cs_cdocb_monolithic_set_sles (cs_equation_param_t *eqp, void *context) |
| Start setting-up the solver when a monolithic algorithm is used to couple the system. No mesh information is available at this stage. More... | |
| int | cs_cdocb_monolithic_solve (const cs_equation_param_t *eqp, const cs_cdo_system_helper_t *sh, cs_cdocb_monolithic_sles_t *msles) |
| Solve a linear system arising from the discretization of the diffsuion equation with a CDO cell-based approach. The full system is treated as one block and solved as it is. In this situation, PETSc or MUMPS are usually considered. More... | |
Functions dedicated to to the linear algebra settings and operations in case of CDO cell-based schemes with a monolithic coupling.
| void cs_cdocb_monolithic_set_sles | ( | cs_equation_param_t * | eqp, |
| void * | context | ||
| ) |
Start setting-up the solver when a monolithic algorithm is used to couple the system. No mesh information is available at this stage.
Start setting-up the equations when a monolithic algorithm is used to couple the system. No mesh information is available at this stage.
| [in] | eqp | pointer to a cs_equation_param_t structure |
| [in,out] | context | pointer to a context structure cast on-the-fly |
| void cs_cdocb_monolithic_sles_clean | ( | cs_cdocb_monolithic_sles_t * | msles | ) |
Free a part of the structure.
| [in,out] | msles | pointer to the structure to clean |
| cs_cdocb_monolithic_sles_t* cs_cdocb_monolithic_sles_create | ( | cs_lnum_t | n_faces, |
| cs_lnum_t | n_cells | ||
| ) |
Create an empty cs_cdocb_monolithic_sles_t structure.
| [in] | n_faces | number of faces (interior + border) |
| [in] | n_cells | number of cells |
| void cs_cdocb_monolithic_sles_finalize | ( | void | ) |
Free if needed structure(s) associated CDO cell-based schemes with a monolithic velocity-pressure coupling.
| void cs_cdocb_monolithic_sles_free | ( | cs_cdocb_monolithic_sles_t ** | p_msles | ) |
Free memory related to cs_cdocb_monolithic_sles_t structure.
| [in,out] | p_msles | double pointer to the structure to free |
| void cs_cdocb_monolithic_sles_init_sharing | ( | const cs_cdo_connect_t * | connect, |
| const cs_cdo_quantities_t * | quant | ||
| ) |
Set pointers to shared structures.
| [in] | connect | pointer to cdo connectivities |
| [in] | quant | pointer to additional mesh quantities |
| int cs_cdocb_monolithic_solve | ( | const cs_equation_param_t * | eqp, |
| const cs_cdo_system_helper_t * | sh, | ||
| cs_cdocb_monolithic_sles_t * | msles | ||
| ) |
Solve a linear system arising from the discretization of the diffsuion equation with a CDO cell-based approach. The full system is treated as one block and solved as it is. In this situation, PETSc or MUMPS are usually considered.
Solve a linear system arising from the discretization of the Navier-Stokes equation with a CDO cell-based approach. The full system is treated as one block and solved as it is. In this situation, PETSc or MUMPS are usually considered.
| [in] | eqp | pointer to a cs_equation_param_t structure |
| [in] | sh | pointer to a cs_cdo_system_helper_t structure |
| [in,out] | msles | pointer to a cs_cdocb_monolithic_sles_t structure |