My Project
programmer's documentation
|
Build an algebraic CDO face-based system for the Navier-Stokes equations and solved it with an Augmented Lagrangian-Uzawa algorithm. 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_bc.h"
#include "cs_cdofb_priv.h"
#include "cs_cdofb_scaleq.h"
#include "cs_cdofb_vecteq.h"
#include "cs_cdofb_navsto.h"
#include "cs_dbg.h"
#include "cs_equation_bc.h"
#include "cs_equation_common.h"
#include "cs_equation_priv.h"
#include "cs_evaluate.h"
#include "cs_fp_exception.h"
#include "cs_log.h"
#include "cs_math.h"
#include "cs_navsto_coupling.h"
#include "cs_parall.h"
#include "cs_post.h"
#include "cs_sles.h"
#include "cs_source_term.h"
#include "cs_static_condensation.h"
#include "cs_timer.h"
#include "cs_cdofb_uzawa.h"
Functions | |
void | cs_cdofb_uzawa_init_common (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_uzawa_init_scheme_context (const cs_navsto_param_t *nsp, cs_boundary_type_t *fb_type, void *nsc_input) |
Initialize a cs_cdofb_uzawa_t structure. More... | |
void * | cs_cdofb_uzawa_free_scheme_context (void *scheme_context) |
Destroy a cs_cdofb_uzawa_t structure. More... | |
void | cs_cdofb_uzawa_set_sles (const cs_navsto_param_t *nsp, void *context) |
Start setting-up the Navier-Stokes equations when an ALU algorithm is used to couple the system. No mesh information is available at this stage. More... | |
void | cs_cdofb_uzawa_compute_steady (const cs_mesh_t *mesh, const cs_navsto_param_t *nsp, void *scheme_context) |
Solve the Navier-Stokes system with a CDO face-based scheme using a Uzawa-Lagrangian Augmented approach. More... | |
void | cs_cdofb_uzawa_compute_implicit (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 Uzawa-Lagrangian Augmented approach and an Euler time scheme. More... | |
void | cs_cdofb_uzawa_compute_theta (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 Uzawa-Lagrangian Augmented approach and a theta time scheme. More... | |
void | cs_cdofb_uzawa_compute_steady_rebuild (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 Uzawa-Lagrangian Augmented approach. It builds the matrix at each iteration. More... | |
Build an algebraic CDO face-based system for the Navier-Stokes equations and solved it with an Augmented Lagrangian-Uzawa algorithm.
void cs_cdofb_uzawa_compute_implicit | ( | 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 Uzawa-Lagrangian Augmented approach and an Euler 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_uzawa_compute_steady | ( | const cs_mesh_t * | mesh, |
const cs_navsto_param_t * | nsp, | ||
void * | scheme_context | ||
) |
Solve the Navier-Stokes system with a CDO face-based scheme using a Uzawa-Lagrangian Augmented approach.
Solve the steady Navier-Stokes system with a CDO face-based scheme using a Uzawa-Lagrangian Augmented 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_uzawa_compute_steady_rebuild | ( | 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 Uzawa-Lagrangian Augmented approach. It builds the matrix at each iteration.
[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_uzawa_compute_theta | ( | 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 Uzawa-Lagrangian Augmented approach and 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_uzawa_free_scheme_context | ( | void * | scheme_context | ) |
Destroy a cs_cdofb_uzawa_t structure.
[in] | scheme_context | pointer to a scheme context structure to free |
void cs_cdofb_uzawa_init_common | ( | 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] | 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_uzawa_init_scheme_context | ( | const cs_navsto_param_t * | nsp, |
cs_boundary_type_t * | fb_type, | ||
void * | nsc_input | ||
) |
Initialize a cs_cdofb_uzawa_t structure.
[in] | nsp | pointer to a cs_navsto_param_t structure |
[in] | fb_type | type of boundary for each boundary face |
[in] | nsc_input | pointer to a cs_navsto_uzawa_t structure |
void cs_cdofb_uzawa_set_sles | ( | const cs_navsto_param_t * | nsp, |
void * | context | ||
) |
Start setting-up the Navier-Stokes equations when an ALU algorithm is used to couple the system. No mesh information is available at this stage.
[in] | nsp | pointer to a cs_navsto_param_t structure |
[in,out] | context | pointer to a context structure cast on-the-fly |