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"
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... | |
Build an algebraic CDO face-based system for the Navier-Stokes equations and solved it with a monolithic approach.
#define CS_CDOFB_MONOLITHIC_DBG 0 |
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.
[in] | mesh | pointer to a cs_mesh_t structure |
[in] | nsp | pointer to a cs_navsto_param_t structure |
[in] | scheme_context | pointer to a structure cast on-the-fly |
void cs_cdofb_monolithic_finalize_common | ( | const cs_navsto_param_t * | nsp | ) |
Free shared pointers with lifecycle dedicated to this file.
[in] | nsp | pointer to NavSto parameter settings |
void* cs_cdofb_monolithic_free_scheme_context | ( | void * | scheme_context | ) |
Destroy a cs_cdofb_monolithic_t structure.
[in] | scheme_context | pointer to a scheme context structure to free |
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.
[in] | nsp | pointer to a cs_navsto_param_t structure |
[in] | adv_field | pointer to cs_adv_field_t structure |
[in] | mflux | current values of the mass flux across primal faces |
[in] | mflux_pre | current values of the mass flux across primal faces |
[in] | bf_type | type of boundary for each boundary face |
[in] | cc_context | pointer to a cs_navsto_monolithic_t structure |
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.
[in] | nsp | pointer to NavSto parameter settings |
[in] | mesh | pointer to a cs_mesh_t structure |
[in] | quant | additional mesh quantities struct. |
[in] | connect | pointer to a cs_cdo_connect_t struct. |
[in] | time_step | pointer to a cs_time_step_t structure |
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.
[in] | mesh | pointer to a cs_mesh_t structure |
[in] | nsp | pointer to a cs_navsto_param_t structure |
[in,out] | scheme_context | pointer to a structure cast on-the-fly |
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.
[in] | mesh | pointer to a cs_mesh_t structure |
[in] | nsp | pointer to a cs_navsto_param_t structure |
[in,out] | scheme_context | pointer to a structure cast on-the-fly |
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.
[in] | mesh | pointer to a cs_mesh_t structure |
[in] | nsp | pointer to a cs_navsto_param_t structure |
[in,out] | scheme_context | pointer to a structure cast on-the-fly |