Build an algebraic MAC face-based system for the Navier-Stokes equations and solved it with a monolithic approach. More...
#include "cs_defs.h"#include <assert.h>#include <float.h>#include <math.h>#include <stdio.h>#include <stdlib.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_monolithic.h"#include "cs_cdofb_monolithic_sles.h"#include "cs_cdofb_navsto.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_macfb_builder.h"#include "cs_macfb_monolithic_sles.h"#include "cs_macfb_navsto.h"#include "cs_macfb_priv.h"#include "cs_macfb_vecteq.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_timer.h"#include "cs_macfb_monolithic.h"#include "cs_macfb_monolithic_priv.h"Macros | |
| #define | CS_MACFB_MONOLITHIC_DBG 0 |
Functions | |
| void | cs_macfb_monolithic_init_sharing (const cs_equation_param_t *eqp, 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. | |
| void | cs_macfb_monolithic_finalize_common (void) |
| Free shared pointers with lifecycle dedicated to this file. | |
| void * | cs_macfb_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_macfb_monolithic_t structure. | |
| void * | cs_macfb_monolithic_free_scheme_context (void *scheme_context) |
| Destroy a cs_macfb_monolithic_t structure. | |
| void | cs_macfb_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 MAC face-based scheme using a monolithic approach. | |
| void | cs_macfb_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 MAC 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. | |
| void | cs_macfb_monolithic (const cs_mesh_t *mesh, const cs_navsto_param_t *nsp, void *scheme_context) |
| Solve the unsteady Navier-Stokes system with a MAC 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. | |
| void | cs_macfb_monolithic_nl (const cs_mesh_t *mesh, const cs_navsto_param_t *nsp, void *scheme_context) |
| Solve the unsteady Navier-Stokes system with a MAC 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. | |
Build an algebraic MAC face-based system for the Navier-Stokes equations and solved it with a monolithic approach.
| #define CS_MACFB_MONOLITHIC_DBG 0 |
| void cs_macfb_monolithic | ( | const cs_mesh_t * | mesh, |
| const cs_navsto_param_t * | nsp, | ||
| void * | scheme_context ) |
Solve the unsteady Navier-Stokes system with a MAC 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_macfb_monolithic_finalize_common | ( | void | ) |
Free shared pointers with lifecycle dedicated to this file.
| void * cs_macfb_monolithic_free_scheme_context | ( | void * | scheme_context | ) |
Destroy a cs_macfb_monolithic_t structure.
| [in] | scheme_context | pointer to a scheme context structure to free |
| void * cs_macfb_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_macfb_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_macfb_monolithic_init_sharing | ( | const cs_equation_param_t * | eqp, |
| 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] | eqp | equation 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_macfb_monolithic_nl | ( | const cs_mesh_t * | mesh, |
| const cs_navsto_param_t * | nsp, | ||
| void * | scheme_context ) |
Solve the unsteady Navier-Stokes system with a MAC 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_macfb_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 MAC face-based scheme using a monolithic approach.
Solve the steady Navier-Stokes system with a MAC 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_macfb_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 MAC 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 MAC 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 |