#include "cs_defs.h"
#include <assert.h>
#include "bft_mem.h"
#include "bft_error.h"
#include "bft_printf.h"
#include "cs_air_props.h"
#include "cs_cdo_headers.h"
#include "cs_ale.h"
#include "cs_array.h"
#include "cs_atmo.h"
#include "cs_balance.h"
#include "cs_base_accel.h"
#include "cs_blas.h"
#include "cs_boundary_conditions.h"
#include "cs_boundary_conditions_set_coeffs.h"
#include "cs_cf_thermo.h"
#include "cs_convection_diffusion.h"
#include "cs_divergence.h"
#include "cs_equation_iterative_solve.h"
#include "cs_face_viscosity.h"
#include "cs_field.h"
#include "cs_field_default.h"
#include "cs_field_operator.h"
#include "cs_field_pointer.h"
#include "cs_gradient.h"
#include "cs_halo.h"
#include "cs_lagr.h"
#include "cs_log.h"
#include "cs_matrix_building.h"
#include "cs_mesh_location.h"
#include "cs_parall.h"
#include "cs_parameters.h"
#include "cs_physical_constants.h"
#include "cs_physical_model.h"
#include "cs_porous_model.h"
#include "cs_post.h"
#include "cs_prototypes.h"
#include "cs_sat_coupling.h"
#include "cs_sles_default.h"
#include "cs_thermal_model.h"
#include "cs_time_step.h"
#include "cs_velocity_pressure.h"
#include "cs_vof.h"
#include "cs_volume_mass_injection.h"
#include "cs_wall_condensation.h"
#include "cs_pressure_correction.h"
Macros | |
#define | CS_PRESSURE_CORRECTION_CDO_DBG 0 |
Functions | |
static void | _hydrostatic_pressure_compute (const cs_mesh_t *m, cs_mesh_quantities_t *mq, int *indhyd, int iterns, const cs_real_t frcxt[][3], const cs_real_t dfrcxt[][3], cs_real_t cvar_hydro_pres[], cs_real_t iflux[], cs_real_t bflux[], cs_real_t i_visc[], cs_real_t b_visc[], cs_real_t dphi[], cs_real_t rhs[]) |
Poisson equation resolution for hydrostatic pressure: ![]() | |
static void | _pressure_correction_fv (int iterns, cs_lnum_t nfbpcd, cs_lnum_t ncmast, cs_lnum_t ifbpcd[], cs_lnum_t ltmast[], const int isostd[], cs_real_t vel[][3], cs_real_t da_uu[][6], cs_field_bc_coeffs_t *bc_coeffs_v, cs_field_bc_coeffs_t *bc_coeffs_dp, cs_real_t spcond[], cs_real_t svcond[], cs_real_t frcxt[][3], cs_real_t dfrcxt[][3], cs_real_t i_visc[], cs_real_t b_visc[]) |
Perform the pressure correction step of the Navier-Stokes equations for incompressible or slightly compressible flows. More... | |
static void | _pressure_correction_cdo (cs_real_t vel[][3], cs_field_bc_coeffs_t *bc_coeffs_v) |
Perform the pressure correction step of the Navier-Stokes equations for incompressible or slightly compressible flows. More... | |
static cs_pressure_correction_cdo_t * | _pressure_correction_cdo_create (void) |
Create and initialize a cs_pressure_correction_cdo_t structure. More... | |
void | cs_pressure_correction_fv_activate (void) |
Activate the pressure increment solving with Legacy FV. More... | |
void | cs_pressure_correction_cdo_activate (void) |
Activate the pressure increment solving with CDO. More... | |
void | cs_pressure_correction_model_activate (void) |
Activate the pressure increment, either FV or CDO. More... | |
bool | cs_pressure_correction_cdo_is_activated (void) |
Test if pressure solving with CDO is activated. More... | |
void | cs_pressure_correction_cdo_init_setup (void) |
Start setting-up the pressure increment equation At this stage, numerical settings should be completely determined but connectivity and geometrical information is not yet available. More... | |
void | cs_pressure_correction_cdo_finalize_setup (const cs_domain_t *domain) |
Finalize setting-up the pressure increment equation At this stage, numerical settings should be completely determined. More... | |
void | cs_pressure_correction_cdo_destroy_all (void) |
Free the main structure related to the pressure correction. More... | |
void | cs_pressure_correction (int iterns, cs_lnum_t nfbpcd, cs_lnum_t ncmast, cs_lnum_t ifbpcd[], cs_lnum_t ltmast[], const int isostd[], cs_real_t vel[][3], cs_real_t da_uu[][6], cs_field_bc_coeffs_t *bc_coeffs_v, cs_field_bc_coeffs_t *bc_coeffs_dp, cs_real_t spcond[], cs_real_t svcond[], cs_real_t frcxt[][3], cs_real_t dfrcxt[][3], cs_real_t i_visc[], cs_real_t b_visc[]) |
Perform the pressure correction step of the Navier-Stokes equations for incompressible or slightly compressible flows. More... | |
Variables | |
static const char | _err_empty_prcdo [] |
static bool | cs_pressure_correction_cdo_active = false |
static cs_pressure_correction_cdo_t * | cs_pressure_correction_cdo = nullptr |
Pressure correction step.
#define CS_PRESSURE_CORRECTION_CDO_DBG 0 |
|
static |
Poisson equation resolution for hydrostatic pressure: .
[in] | m | pointer to glob mesh |
[in] | mq | pointer to glob mesh quantiites |
[out] | indhyd | indicateur de mise a jour de cvar_hydro_pres |
[in] | iterns | Navier-Stokes iteration number |
[in] | frcxt | external force generating hydrostatic pressure |
[in] | dfrcxt | external force increment generating hydrostatic pressure |
[out] | cvar_hydro_pres | hydrostatic pressure increment |
[in] | iflux | work array |
[in] | bflux | work array |
[in,out] | i_visc | work array |
[in,out] | b_visc | work array |
[out] | dphi | work array |
[in,out] | rhs | work array |
|
static |
Perform the pressure correction step of the Navier-Stokes equations for incompressible or slightly compressible flows.
[in] | vel | velocity values |
[in] | bc_coeffs_v | boundary condition coefficients |
|
static |
Create and initialize a cs_pressure_correction_cdo_t structure.
|
static |
Perform the pressure correction step of the Navier-Stokes equations for incompressible or slightly compressible flows.
This function solves the following Poisson equation on the pressure:
The mass flux is then updated as follows:
Please refer to the resopv section of the theory guide for more information.
[in] | iterns | Navier-Stokes iteration number |
[in] | nfbpcd | number of faces with condensation source term |
[in] | ncmast | number of cells with condensation source terms |
[in] | ifbpcd | index of faces with condensation source term |
[in] | ltmast | list of cells with condensation source terms (1 to n numbering) |
[in] | isostd | indicator of standard outlet and index of the reference outlet face |
[in] | vel | velocity |
[in,out] | da_uu | velocity matrix |
[in] | bc_coeffs_v | boundary condition structure for the variable |
[in] | bc_coeffs_dp | boundary conditions structure for the pressure increment |
[in] | spcond | variable value associated to the condensation source term (for ivar=ipr, spcond is the flow rate ![]() |
[in] | svcond | variable value associated to the condensation source term (for ivar=ipr, svcond is the flow rate ![]() |
[in] | frcxt | external forces making hydrostatic pressure |
[in] | dfrcxt | variation of the external forces composing the hydrostatic pressure |
[in] | i_visc | visc*surface/dist aux faces internes |
[in] | b_visc | visc*surface/dist aux faces de bord |
void cs_pressure_correction | ( | int | iterns, |
cs_lnum_t | nfbpcd, | ||
cs_lnum_t | ncmast, | ||
cs_lnum_t | ifbpcd[], | ||
cs_lnum_t | ltmast[], | ||
const int | isostd[], | ||
cs_real_t | vel[][3], | ||
cs_real_t | da_uu[][6], | ||
cs_field_bc_coeffs_t * | bc_coeffs_v, | ||
cs_field_bc_coeffs_t * | bc_coeffs_dp, | ||
cs_real_t | spcond[], | ||
cs_real_t | svcond[], | ||
cs_real_t | frcxt[][3], | ||
cs_real_t | dfrcxt[][3], | ||
cs_real_t | i_visc[], | ||
cs_real_t | b_visc[] | ||
) |
Perform the pressure correction step of the Navier-Stokes equations for incompressible or slightly compressible flows.
This function solves the following Poisson equation on the pressure:
Either the legacy FV method or a CDO face-based scheme is used.
For the legacy case, the mass flux is updated as follows:
Please refer to the resopv section of the theory guide for more information.
[in] | iterns | Navier-Stokes iteration number |
[in] | nfbpcd | number of faces with condensation source term |
[in] | ncmast | number of cells with condensation source terms |
[in] | ifbpcd | index of faces with condensation source term |
[in] | ltmast | list of cells with condensation source terms (1 to n numbering) |
[in] | isostd | indicator of standard outlet and index of the reference outlet face |
[in] | vel | velocity |
[in,out] | da_uu | velocity matrix |
[in] | bc_coeffs_v | boundary condition structure for the variable |
[in] | bc_coeffs_dp | boundary conditions structure for the pressure increment |
[in] | spcond | variable value associated to the condensation source term (for ivar=ipr, spcond is the flow rate ![]() |
[in] | svcond | variable value associated to the condensation source term (for ivar=ipr, svcond is the flow rate ![]() |
[in] | frcxt | external forces making hydrostatic pressure |
[in] | dfrcxt | variation of the external forces composing the hydrostatic pressure |
[in] | i_visc | visc*surface/dist aux faces internes |
[in] | b_visc | visc*surface/dist aux faces de bord |
void cs_pressure_correction_cdo_activate | ( | void | ) |
Activate the pressure increment solving with CDO.
void cs_pressure_correction_cdo_destroy_all | ( | void | ) |
Free the main structure related to the pressure correction.
void cs_pressure_correction_cdo_finalize_setup | ( | const cs_domain_t * | domain | ) |
Finalize setting-up the pressure increment equation At this stage, numerical settings should be completely determined.
[in] | domain | pointer to a cs_domaint_t structure |
void cs_pressure_correction_cdo_init_setup | ( | void | ) |
Start setting-up the pressure increment equation At this stage, numerical settings should be completely determined but connectivity and geometrical information is not yet available.
bool cs_pressure_correction_cdo_is_activated | ( | void | ) |
Test if pressure solving with CDO is activated.
void cs_pressure_correction_fv_activate | ( | void | ) |
Activate the pressure increment solving with Legacy FV.
void cs_pressure_correction_model_activate | ( | void | ) |
Activate the pressure increment, either FV or CDO.
|
static |
|
static |
|
static |