MFC
Exascale flow solver
Loading...
Searching...
No Matches
m_pressure_relaxation Module Reference

Pressure relaxation for the six-equation multi-component model via Newton–Raphson equilibration and volume-fraction correction. More...

Functions/Subroutines

subroutine, public s_pressure_relaxation_procedure (q_cons_vf)
 The main pressure relaxation procedure.
impure subroutine, public s_report_pressure_relaxation
 One line at the end of a run if the equilibration ever stopped on its iteration cap. Silence means every cell reached the tolerance.
logical function s_needs_pressure_relaxation (q_cons_vf, j, k, l)
 Check if pressure relaxation is needed for this cell.
subroutine s_correct_volume_fractions (q_cons_vf, j, k, l)
 Correct volume fractions to physical bounds.
subroutine s_equilibrate_pressure (q_cons_vf, j, k, l, hit_cap, resid, unusable)
 Main pressure equilibration using Newton-Raphson.
subroutine s_correct_internal_energies (q_cons_vf, j, k, l, rho, gamma, pi_inf, qv_mix)
 Correct internal energies using equilibrated pressure.

Variables

integer n_hit_cap = 0
 Cell updates in which the Newton below stopped on its iteration cap rather than on the tolerance. Counted because the answer then depends on that cap, and nothing else in the code says so.
real(wpworst_residual = 0._wp
 Largest |f| left behind when the cap was reached.

Detailed Description

Pressure relaxation for the six-equation multi-component model via Newton–Raphson equilibration and volume-fraction correction.

Function/Subroutine Documentation

◆ s_correct_internal_energies()

subroutine m_pressure_relaxation::s_correct_internal_energies ( type(scalar_field), dimension(sys_size), intent(inout) q_cons_vf,
integer, intent(in) j,
integer, intent(in) k,
integer, intent(in) l,
real(wp), intent(in) rho,
real(wp), intent(in) gamma,
real(wp), intent(in) pi_inf,
real(wp), intent(in) qv_mix )

Correct internal energies using equilibrated pressure.

Definition at line 773 of file m_pressure_relaxation.fpp.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ s_correct_volume_fractions()

subroutine m_pressure_relaxation::s_correct_volume_fractions ( type(scalar_field), dimension(sys_size), intent(inout) q_cons_vf,
integer, intent(in) j,
integer, intent(in) k,
integer, intent(in) l )

Correct volume fractions to physical bounds.

Definition at line 524 of file m_pressure_relaxation.fpp.f90.

Here is the caller graph for this function:

◆ s_equilibrate_pressure()

subroutine m_pressure_relaxation::s_equilibrate_pressure ( type(scalar_field), dimension(sys_size), intent(inout) q_cons_vf,
integer, intent(in) j,
integer, intent(in) k,
integer, intent(in) l,
integer, intent(out) hit_cap,
real(wp), intent(out) resid,
integer, intent(out) unusable )

Main pressure equilibration using Newton-Raphson.

Definition at line 588 of file m_pressure_relaxation.fpp.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ s_needs_pressure_relaxation()

logical function m_pressure_relaxation::s_needs_pressure_relaxation ( type(scalar_field), dimension(sys_size), intent(in) q_cons_vf,
integer, intent(in) j,
integer, intent(in) k,
integer, intent(in) l )

Check if pressure relaxation is needed for this cell.

Definition at line 481 of file m_pressure_relaxation.fpp.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ s_pressure_relaxation_procedure()

subroutine, public m_pressure_relaxation::s_pressure_relaxation_procedure ( type(scalar_field), dimension(sys_size), intent(inout) q_cons_vf)

The main pressure relaxation procedure.

Definition at line 367 of file m_pressure_relaxation.fpp.f90.

Here is the call graph for this function:

◆ s_report_pressure_relaxation()

impure subroutine, public m_pressure_relaxation::s_report_pressure_relaxation

One line at the end of a run if the equilibration ever stopped on its iteration cap. Silence means every cell reached the tolerance.

Definition at line 471 of file m_pressure_relaxation.fpp.f90.

Variable Documentation

◆ n_hit_cap

integer m_pressure_relaxation::n_hit_cap = 0

Cell updates in which the Newton below stopped on its iteration cap rather than on the tolerance. Counted because the answer then depends on that cap, and nothing else in the code says so.

Definition at line 361 of file m_pressure_relaxation.fpp.f90.

◆ worst_residual

real(wp) m_pressure_relaxation::worst_residual = 0._wp

Largest |f| left behind when the cap was reached.

Definition at line 362 of file m_pressure_relaxation.fpp.f90.