|
static void | _pressure_correction_fv (int iterns, cs_lnum_t nfbpcd, cs_lnum_t ncmast, cs_lnum_t ifbpcd[nfbpcd], cs_lnum_t ltmast[], int isostd[], cs_real_t vel[restrict][3], cs_real_t da_uu[restrict][6], cs_real_t coefav[restrict][3], cs_real_t coefbv[restrict][3][3], cs_real_t coefa_dp[restrict], cs_real_t coefb_dp[restrict], cs_real_t spcond[restrict], cs_real_t svcond[restrict], cs_real_t frcxt[restrict][3], cs_real_t dfrcxt[restrict][3], cs_real_t i_visc[restrict], cs_real_t b_visc[restrict]) |
| 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[restrict][3], cs_real_t coefav[restrict][3], cs_real_t coefbv[restrict][3][3]) |
| 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[nfbpcd], cs_lnum_t ltmast[], int isostd[], cs_real_t vel[restrict][3], cs_real_t da_uu[restrict][6], cs_real_t coefav[restrict][3], cs_real_t coefbv[restrict][3][3], cs_real_t coefa_dp[restrict], cs_real_t coefb_dp[restrict], cs_real_t spcond[restrict], cs_real_t svcond[restrict], cs_real_t frcxt[restrict][3], cs_real_t dfrcxt[restrict][3], cs_real_t i_visc[restrict], cs_real_t b_visc[restrict]) |
| Perform the pressure correction step of the Navier-Stokes equations for incompressible or slightly compressible flows. More...
|
|
Pressure correction step.
static void _pressure_correction_fv |
( |
int |
iterns, |
|
|
cs_lnum_t |
nfbpcd, |
|
|
cs_lnum_t |
ncmast, |
|
|
cs_lnum_t |
ifbpcd[nfbpcd], |
|
|
cs_lnum_t |
ltmast[], |
|
|
int |
isostd[], |
|
|
cs_real_t |
vel[restrict][3], |
|
|
cs_real_t |
da_uu[restrict][6], |
|
|
cs_real_t |
coefav[restrict][3], |
|
|
cs_real_t |
coefbv[restrict][3][3], |
|
|
cs_real_t |
coefa_dp[restrict], |
|
|
cs_real_t |
coefb_dp[restrict], |
|
|
cs_real_t |
spcond[restrict], |
|
|
cs_real_t |
svcond[restrict], |
|
|
cs_real_t |
frcxt[restrict][3], |
|
|
cs_real_t |
dfrcxt[restrict][3], |
|
|
cs_real_t |
i_visc[restrict], |
|
|
cs_real_t |
b_visc[restrict] |
|
) |
| |
|
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:
\[ D \left( \Delta t, \delta p \right) = \divs \left( \rho \vect{\widetilde{u}}\right) - \Gamma^n + \dfrac{\rho^n - \rho^{n-1}}{\Delta t} \]
The mass flux is then updated as follows:
\[ \dot{m}^{n+1}_\ij = \dot{m}^{n}_\ij - \Delta t \grad_\fij \delta p \cdot \vect{S}_\ij \]
\Remark:
- an iterative process is used to solve the Poisson equation.
- if the arak coefficient is set to 1, the the Rhie & Chow filter is activated.
Please refer to the resopv section of the theory guide for more information.
- Parameters
-
[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] | coefav | boundary condition array for the variable (explicit part) |
[in] | coefbv | boundary condition array for the variable (implicit part) |
[in] | coefa_dp | boundary conditions for the pressure increment |
[in] | coefb_dp | boundary conditions for the pressure increment |
[in] | spcond | variable value associated to the condensation source term (for ivar=ipr, spcond is the flow rate \( \Gamma_{s,cond}^n \)) |
[in] | svcond | variable value associated to the condensation source term (for ivar=ipr, svcond is the flow rate \( \Gamma_{v, cond}^n \)) |
[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[nfbpcd], |
|
|
cs_lnum_t |
ltmast[], |
|
|
int |
isostd[], |
|
|
cs_real_t |
vel[restrict][3], |
|
|
cs_real_t |
da_uu[restrict][6], |
|
|
cs_real_t |
coefav[restrict][3], |
|
|
cs_real_t |
coefbv[restrict][3][3], |
|
|
cs_real_t |
coefa_dp[restrict], |
|
|
cs_real_t |
coefb_dp[restrict], |
|
|
cs_real_t |
spcond[restrict], |
|
|
cs_real_t |
svcond[restrict], |
|
|
cs_real_t |
frcxt[restrict][3], |
|
|
cs_real_t |
dfrcxt[restrict][3], |
|
|
cs_real_t |
i_visc[restrict], |
|
|
cs_real_t |
b_visc[restrict] |
|
) |
| |
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:
\[ D \left( \Delta t, \delta p \right) = \divs \left( \rho \vect{\widetilde{u}}\right) - \Gamma^n + \dfrac{\rho^n - \rho^{n-1}}{\Delta t} \]
The mass flux is then updated as follows:
\[ \dot{m}^{n+1}_\ij = \dot{m}^{n}_\ij - \Delta t \grad_\fij \delta p \cdot \vect{S}_\ij \]
\Remark:
- an iterative process is used to solve the Poisson equation.
- if the arak coefficient is set to 1, the the Rhie & Chow filter is activated.
Please refer to the resopv section of the theory guide for more information.
- Parameters
-
[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] | coefav | boundary condition array for the variable (explicit part) |
[in] | coefbv | boundary condition array for the variable (implicit part) |
[in] | coefa_dp | boundary conditions for the pressure increment |
[in] | coefb_dp | boundary conditions for the pressure increment |
[in] | spcond | variable value associated to the condensation source term (for ivar=ipr, spcond is the flow rate \( \Gamma_{s,cond}^n \)) |
[in] | svcond | variable value associated to the condensation source term (for ivar=ipr, svcond is the flow rate \( \Gamma_{v, cond}^n \)) |
[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 |