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"
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 |