8.1
general documentation
cs_cdocb_monolithic_sles.c File Reference

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_tcs_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...
 

Detailed Description

Functions dedicated to to the linear algebra settings and operations in case of CDO cell-based schemes with a monolithic coupling.

Function Documentation

◆ cs_cdocb_monolithic_set_sles()

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.

Parameters
[in]eqppointer to a cs_equation_param_t structure
[in,out]contextpointer to a context structure cast on-the-fly

◆ cs_cdocb_monolithic_sles_clean()

void cs_cdocb_monolithic_sles_clean ( cs_cdocb_monolithic_sles_t msles)

Free a part of the structure.

Parameters
[in,out]mslespointer to the structure to clean

◆ cs_cdocb_monolithic_sles_create()

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.

Parameters
[in]n_facesnumber of faces (interior + border)
[in]n_cellsnumber of cells
Returns
a pointer to a newly allocated structure

◆ cs_cdocb_monolithic_sles_finalize()

void cs_cdocb_monolithic_sles_finalize ( void  )

Free if needed structure(s) associated CDO cell-based schemes with a monolithic velocity-pressure coupling.

◆ cs_cdocb_monolithic_sles_free()

void cs_cdocb_monolithic_sles_free ( cs_cdocb_monolithic_sles_t **  p_msles)

Free memory related to cs_cdocb_monolithic_sles_t structure.

Parameters
[in,out]p_mslesdouble pointer to the structure to free

◆ cs_cdocb_monolithic_sles_init_sharing()

void cs_cdocb_monolithic_sles_init_sharing ( const cs_cdo_connect_t connect,
const cs_cdo_quantities_t quant 
)

Set pointers to shared structures.

Parameters
[in]connectpointer to cdo connectivities
[in]quantpointer to additional mesh quantities

◆ cs_cdocb_monolithic_solve()

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.

Parameters
[in]eqppointer to a cs_equation_param_t structure
[in]shpointer to a cs_cdo_system_helper_t structure
[in,out]mslespointer to a cs_cdocb_monolithic_sles_t structure
Returns
the (cumulated) number of iterations of the solver