![]() |
programmer's documentation
|
Routines for building and solving Stokes and Navier-Stokes problem with CDO face-based schemes. 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_cdo_bc.h"
#include "cs_cdofb_priv.h"
#include "cs_cdofb_scaleq.h"
#include "cs_cdofb_vecteq.h"
#include "cs_equation_bc.h"
#include "cs_equation_common.h"
#include "cs_equation_priv.h"
#include "cs_log.h"
#include "cs_math.h"
#include "cs_navsto_coupling.h"
#include "cs_navsto_param.h"
#include "cs_post.h"
#include "cs_source_term.h"
#include "cs_timer.h"
#include "cs_cdofb_navsto.h"
Functions | |
void | cs_cdofb_navsto_init_common (const cs_cdo_quantities_t *quant, const cs_cdo_connect_t *connect, const cs_time_step_t *time_step, const cs_matrix_structure_t *sms, const cs_matrix_structure_t *vms) |
Set shared pointers from the main domain members for CDO face-based schemes. More... | |
void | cs_cdofb_navsto_init_uzawa_context (const cs_navsto_param_t *nsp, const void *nsc_input) |
Initialize a cs_cdofb_navsto_t structure storing in the case of a Uzawa-Augmented Lagrangian approach. More... | |
void | cs_cdofb_navsto_init_ac_context (const cs_navsto_param_t *nsp, const void *nsc_input) |
Initialize a cs_cdofb_navsto_t structure storing in the case of an Artificial Compressibility approach. More... | |
void | cs_cdofb_navsto_init_ac_vpp_context (const cs_navsto_param_t *nsp, const void *nsc_input) |
Initialize a cs_cdofb_navsto_t structure storing in the case of an Artificial Compressibility - VPP approach. More... | |
void | cs_cdofb_navsto_init_proj_context (const cs_navsto_param_t *nsp, const void *nsc_input) |
Initialize a cs_cdofb_navsto_t structure storing in the case of an incremental Projection approach. More... | |
void | cs_cdofb_navsto_free_context (const cs_navsto_param_t *nsp) |
Destroy a cs_cdofb_navsto_t structure. More... | |
void | cs_cdofb_navsto_uzawa_compute (const cs_mesh_t *mesh, double dt_cur, const cs_navsto_param_t *nsp, void *nsc_input) |
Solve the Navier-Stokes system with a CDO face-based scheme using a Uzawa-Lagrangian Augmented approach. More... | |
void | cs_cdofb_navsto_ac_compute (const cs_mesh_t *mesh, double dt_cur, const cs_navsto_param_t *nsp, void *nsc_input) |
Solve the Navier-Stokes system with a CDO face-based scheme using an Artificial Compressibility approach. More... | |
void | cs_cdofb_navsto_ac_vpp_compute (const cs_mesh_t *mesh, double dt_cur, const cs_navsto_param_t *nsp, void *nsc_input) |
Solve the Navier-Stokes system with a CDO face-based scheme using an Artificial Compressibility - VPP approach. More... | |
void | cs_cdofb_navsto_proj_compute (const cs_mesh_t *mesh, double dt_cur, const cs_navsto_param_t *nsp, void *nsc_input) |
Solve the Navier-Stokes system with a CDO face-based scheme using an incremental correction-projection approach. More... | |
void | cs_cdofb_navsto_update_field (const cs_real_t *solu, const cs_real_t *rhs, const cs_equation_param_t *eqp, cs_equation_builder_t *eqb, void *data, cs_real_t *field_val) |
Store solution(s) of the linear system into a field structure Update extra-field values if required (for hybrid discretization) More... | |
void | cs_cdofb_navsto_extra_op (const char *eqname, const cs_field_t *field, const cs_equation_param_t *eqp, cs_equation_builder_t *eqb, void *data) |
Predefined extra-operations related to this equation. More... | |
Routines for building and solving Stokes and Navier-Stokes problem with CDO face-based schemes.
void cs_cdofb_navsto_ac_compute | ( | const cs_mesh_t * | mesh, |
double | dt_cur, | ||
const cs_navsto_param_t * | nsp, | ||
void * | nsc_input | ||
) |
Solve the Navier-Stokes system with a CDO face-based scheme using an Artificial Compressibility approach.
[in] | mesh | pointer to a cs_mesh_t structure |
[in] | dt_cur | current value of the time step |
[in] | nsp | pointer to a cs_navsto_param_t structure |
[in,out] | nsc_input | Navier-Stokes coupling context: pointer to a structure cast on-the-fly |
void cs_cdofb_navsto_ac_vpp_compute | ( | const cs_mesh_t * | mesh, |
double | dt_cur, | ||
const cs_navsto_param_t * | nsp, | ||
void * | nsc_input | ||
) |
Solve the Navier-Stokes system with a CDO face-based scheme using an Artificial Compressibility - VPP approach.
[in] | mesh | pointer to a cs_mesh_t structure |
[in] | dt_cur | current value of the time step |
[in] | nsp | pointer to a cs_navsto_param_t structure |
[in,out] | nsc_input | Navier-Stokes coupling context: pointer to a structure cast on-the-fly |
void cs_cdofb_navsto_extra_op | ( | const char * | eqname, |
const cs_field_t * | field, | ||
const cs_equation_param_t * | eqp, | ||
cs_equation_builder_t * | eqb, | ||
void * | data | ||
) |
Predefined extra-operations related to this equation.
[in] | eqname | name of the equation |
[in] | field | pointer to a field structure |
[in] | eqp | pointer to a cs_equation_param_t structure |
[in,out] | eqb | pointer to a cs_equation_builder_t structure |
[in,out] | data | pointer to cs_cdofb_navsto_t structure |
void cs_cdofb_navsto_free_context | ( | const cs_navsto_param_t * | nsp | ) |
Destroy a cs_cdofb_navsto_t structure.
[in] | nsp | pointer to a cs_navsto_param_t structure |
void cs_cdofb_navsto_init_ac_context | ( | const cs_navsto_param_t * | nsp, |
const void * | nsc_input | ||
) |
Initialize a cs_cdofb_navsto_t structure storing in the case of an Artificial Compressibility approach.
[in] | nsp | pointer to a cs_navsto_param_t structure |
[in] | nsc | pointer to a cs_navsto_coupling_uzawa_t structure |
void cs_cdofb_navsto_init_ac_vpp_context | ( | const cs_navsto_param_t * | nsp, |
const void * | nsc_input | ||
) |
Initialize a cs_cdofb_navsto_t structure storing in the case of an Artificial Compressibility - VPP approach.
[in] | nsp | pointer to a cs_navsto_param_t structure |
[in] | nsc | pointer to a cs_navsto_coupling_uzawa_t structure |
void cs_cdofb_navsto_init_common | ( | const cs_cdo_quantities_t * | quant, |
const cs_cdo_connect_t * | connect, | ||
const cs_time_step_t * | time_step, | ||
const cs_matrix_structure_t * | sms, | ||
const cs_matrix_structure_t * | vms | ||
) |
Set shared pointers from the main domain members for CDO face-based schemes.
[in] | quant | additional mesh quantities struct. |
[in] | connect | pointer to a cs_cdo_connect_t struct. |
[in] | time_step | pointer to a time step structure |
[in] | sms | pointer to a cs_matrix_structure_t structure (scalar) |
[in] | vms | pointer to a cs_matrix_structure_t structure (vector) |
void cs_cdofb_navsto_init_proj_context | ( | const cs_navsto_param_t * | nsp, |
const void * | nsc_input | ||
) |
Initialize a cs_cdofb_navsto_t structure storing in the case of an incremental Projection approach.
[in] | nsp | pointer to a cs_navsto_param_t structure |
[in] | nsc_input | pointer to a cs_navsto_coupling_uzawa_t structure |
void cs_cdofb_navsto_init_uzawa_context | ( | const cs_navsto_param_t * | nsp, |
const void * | nsc_input | ||
) |
Initialize a cs_cdofb_navsto_t structure storing in the case of a Uzawa-Augmented Lagrangian approach.
[in] | nsp | pointer to a cs_navsto_param_t structure |
[in] | nsc_input | pointer to a cs_navsto_coupling_uzawa_t structure |
void cs_cdofb_navsto_proj_compute | ( | const cs_mesh_t * | mesh, |
double | dt_cur, | ||
const cs_navsto_param_t * | nsp, | ||
void * | nsc_input | ||
) |
Solve the Navier-Stokes system with a CDO face-based scheme using an incremental correction-projection approach.
[in] | mesh | pointer to a cs_mesh_t structure |
[in] | dt_cur | current value of the time step |
[in] | nsp | pointer to a cs_navsto_param_t structure |
[in,out] | nsc_input | Navier-Stokes coupling context: pointer to a structure cast on-the-fly |
void cs_cdofb_navsto_update_field | ( | const cs_real_t * | solu, |
const cs_real_t * | rhs, | ||
const cs_equation_param_t * | eqp, | ||
cs_equation_builder_t * | eqb, | ||
void * | data, | ||
cs_real_t * | field_val | ||
) |
Store solution(s) of the linear system into a field structure Update extra-field values if required (for hybrid discretization)
[in] | solu | solution array |
[in] | rhs | rhs associated to this solution array |
[in] | eqp | pointer to a cs_equation_param_t structure |
[in,out] | eqb | pointer to a cs_equation_builder_t structure |
[in,out] | data | pointer to cs_cdofb_navsto_t structure |
[in,out] | field_val | pointer to the current value of the field |
void cs_cdofb_navsto_uzawa_compute | ( | const cs_mesh_t * | mesh, |
double | dt_cur, | ||
const cs_navsto_param_t * | nsp, | ||
void * | nsc_input | ||
) |
Solve the 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] | dt_cur | current value of the time step |
[in] | nsp | pointer to a cs_navsto_param_t structure |
[in,out] | nsc_input | Navier-Stokes coupling context: pointer to a structure cast on-the-fly |