8.0
general documentation
cs_cdofb_monolithic.c File Reference

Build an algebraic CDO face-based system for the Navier-Stokes equations and solved it with a monolithic approach. 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_array.h"
#include "cs_blas.h"
#include "cs_cdo_bc.h"
#include "cs_cdo_blas.h"
#include "cs_cdofb_priv.h"
#include "cs_cdofb_scaleq.h"
#include "cs_cdofb_vecteq.h"
#include "cs_cdofb_navsto.h"
#include "cs_cdofb_monolithic_sles.h"
#include "cs_equation_bc.h"
#include "cs_equation_builder.h"
#include "cs_equation_priv.h"
#include "cs_evaluate.h"
#include "cs_log.h"
#include "cs_navsto_coupling.h"
#include "cs_parall.h"
#include "cs_post.h"
#include "cs_sdm.h"
#include "cs_solid_selection.h"
#include "cs_source_term.h"
#include "cs_static_condensation.h"
#include "cs_timer.h"
#include "cs_cdofb_monolithic_priv.h"
#include "cs_cdofb_monolithic.h"
+ Include dependency graph for cs_cdofb_monolithic.c:

Macros

#define CS_CDOFB_MONOLITHIC_DBG   0
 

Functions

void cs_cdofb_monolithic_init_sharing (const cs_navsto_param_t *nsp, const cs_mesh_t *mesh, const cs_cdo_quantities_t *quant, const cs_cdo_connect_t *connect, const cs_time_step_t *time_step)
 Set shared pointers from the main domain members. More...
 
void cs_cdofb_monolithic_finalize_common (const cs_navsto_param_t *nsp)
 Free shared pointers with lifecycle dedicated to this file. More...
 
void * cs_cdofb_monolithic_init_scheme_context (const cs_navsto_param_t *nsp, cs_adv_field_t *adv_field, cs_real_t *mflux, cs_real_t *mflux_pre, cs_boundary_type_t *bf_type, void *cc_context)
 Initialize a cs_cdofb_monolithic_t structure. More...
 
void * cs_cdofb_monolithic_free_scheme_context (void *scheme_context)
 Destroy a cs_cdofb_monolithic_t structure. More...
 
void cs_cdofb_monolithic_steady (const cs_mesh_t *mesh, const cs_navsto_param_t *nsp, void *scheme_context)
 Solve the steady Stokes or Oseen system with a CDO face-based scheme using a monolithic approach and GKB algorithm. More...
 
void cs_cdofb_monolithic_steady_nl (const cs_mesh_t *mesh, const cs_navsto_param_t *nsp, void *scheme_context)
 Solve the steady Navier-Stokes system with a CDO face-based scheme using a monolithic approach and a non-linear algorithm (Picard or Anderson) to solve the non-linearities arising from the advection term. More...
 
void cs_cdofb_monolithic (const cs_mesh_t *mesh, const cs_navsto_param_t *nsp, void *scheme_context)
 Solve the unsteady Navier-Stokes system with a CDO face-based scheme using a monolithic approach. According to the settings, this function can handle either an implicit Euler time scheme or more generally a theta time scheme. More...
 
void cs_cdofb_monolithic_nl (const cs_mesh_t *mesh, const cs_navsto_param_t *nsp, void *scheme_context)
 Solve the unsteady Navier-Stokes system with a CDO face-based scheme using a monolithic approach. According to the settings, this function can handle either an implicit Euler time scheme or more generally a theta time scheme. Rely on Picard iterations to solve the non-linearities arising from the advection term. More...
 

Detailed Description

Build an algebraic CDO face-based system for the Navier-Stokes equations and solved it with a monolithic approach.

Macro Definition Documentation

◆ CS_CDOFB_MONOLITHIC_DBG

#define CS_CDOFB_MONOLITHIC_DBG   0

Function Documentation

◆ cs_cdofb_monolithic()

void cs_cdofb_monolithic ( const cs_mesh_t mesh,
const cs_navsto_param_t nsp,
void *  scheme_context 
)

Solve the unsteady Navier-Stokes system with a CDO face-based scheme using a monolithic approach. According to the settings, this function can handle either an implicit Euler time scheme or more generally a theta time scheme.

Parameters
[in]meshpointer to a cs_mesh_t structure
[in]nsppointer to a cs_navsto_param_t structure
[in]scheme_contextpointer to a structure cast on-the-fly

◆ cs_cdofb_monolithic_finalize_common()

void cs_cdofb_monolithic_finalize_common ( const cs_navsto_param_t nsp)

Free shared pointers with lifecycle dedicated to this file.

Parameters
[in]nsppointer to NavSto parameter settings

◆ cs_cdofb_monolithic_free_scheme_context()

void* cs_cdofb_monolithic_free_scheme_context ( void *  scheme_context)

Destroy a cs_cdofb_monolithic_t structure.

Parameters
[in]scheme_contextpointer to a scheme context structure to free
Returns
a NULL pointer

◆ cs_cdofb_monolithic_init_scheme_context()

void* cs_cdofb_monolithic_init_scheme_context ( const cs_navsto_param_t nsp,
cs_adv_field_t adv_field,
cs_real_t mflux,
cs_real_t mflux_pre,
cs_boundary_type_t bf_type,
void *  cc_context 
)

Initialize a cs_cdofb_monolithic_t structure.

Parameters
[in]nsppointer to a cs_navsto_param_t structure
[in]adv_fieldpointer to cs_adv_field_t structure
[in]mfluxcurrent values of the mass flux across primal faces
[in]mflux_precurrent values of the mass flux across primal faces
[in]bf_typetype of boundary for each boundary face
[in]cc_contextpointer to a cs_navsto_monolithic_t structure
Returns
a pointer to a new allocated cs_cdofb_monolithic_t structure

◆ cs_cdofb_monolithic_init_sharing()

void cs_cdofb_monolithic_init_sharing ( const cs_navsto_param_t nsp,
const cs_mesh_t mesh,
const cs_cdo_quantities_t quant,
const cs_cdo_connect_t connect,
const cs_time_step_t time_step 
)

Set shared pointers from the main domain members.

Parameters
[in]nsppointer to NavSto parameter settings
[in]meshpointer to a cs_mesh_t structure
[in]quantadditional mesh quantities struct.
[in]connectpointer to a cs_cdo_connect_t struct.
[in]time_steppointer to a cs_time_step_t structure

◆ cs_cdofb_monolithic_nl()

void cs_cdofb_monolithic_nl ( const cs_mesh_t mesh,
const cs_navsto_param_t nsp,
void *  scheme_context 
)

Solve the unsteady Navier-Stokes system with a CDO face-based scheme using a monolithic approach. According to the settings, this function can handle either an implicit Euler time scheme or more generally a theta time scheme. Rely on Picard iterations to solve the non-linearities arising from the advection term.

Parameters
[in]meshpointer to a cs_mesh_t structure
[in]nsppointer to a cs_navsto_param_t structure
[in,out]scheme_contextpointer to a structure cast on-the-fly

◆ cs_cdofb_monolithic_steady()

void cs_cdofb_monolithic_steady ( const cs_mesh_t mesh,
const cs_navsto_param_t nsp,
void *  scheme_context 
)

Solve the steady Stokes or Oseen system with a CDO face-based scheme using a monolithic approach and GKB algorithm.

Solve the steady Navier-Stokes system with a CDO face-based scheme using a monolithic approach.

Parameters
[in]meshpointer to a cs_mesh_t structure
[in]nsppointer to a cs_navsto_param_t structure
[in,out]scheme_contextpointer to a structure cast on-the-fly

◆ cs_cdofb_monolithic_steady_nl()

void cs_cdofb_monolithic_steady_nl ( const cs_mesh_t mesh,
const cs_navsto_param_t nsp,
void *  scheme_context 
)

Solve the steady Navier-Stokes system with a CDO face-based scheme using a monolithic approach and a non-linear algorithm (Picard or Anderson) to solve the non-linearities arising from the advection term.

Solve the steady Navier-Stokes system with a CDO face-based scheme using a monolithic approach and Picard iterations to solve the non-linearities arising from the advection term.

Parameters
[in]meshpointer to a cs_mesh_t structure
[in]nsppointer to a cs_navsto_param_t structure
[in,out]scheme_contextpointer to a structure cast on-the-fly