MFC: Post-Process
High-fidelity multiphase flow simulation
Loading...
Searching...
No Matches
m_phase_change.fpp.f90 File Reference

Modules

module  m_phase_change
 energies (6-eqn to 4-eqn) equilibrium through an infinitely fast (algebraic) procedure.
 

Functions/Subroutines

impure subroutine, public m_phase_change::s_relaxation_solver (q_cons_vf)
 This subroutine should dispatch to the correct relaxation solver based some parameter. It replaces the procedure pointer, which CCE is breaking on.
 
impure subroutine, public m_phase_change::s_initialize_phasechange_module
 The purpose of this subroutine is to initialize the phase change module by setting the parameters needed for phase change and selecting the phase change module that will be used (pT- or pTg-equilibrium)
 
subroutine, public m_phase_change::s_infinite_relaxation_k (q_cons_vf)
 This subroutine is created to activate either the pT- (N fluids) or the pTg-equilibrium (2 fluids for g-equilibrium) model, also considering mass depletion, depending on the incoming state conditions.
 
subroutine m_phase_change::s_infinite_pt_relaxation_k (j, k, l, mfl, ps, p_infpt, q_cons_vf, rhoe, ts)
 This auxiliary subroutine is created to activate the pT-equilibrium for N fluids.
 
subroutine m_phase_change::s_infinite_ptg_relaxation_k (j, k, l, ps, p_infpt, rhoe, q_cons_vf, ts)
 This auxiliary subroutine is created to activate the pTg-equilibrium for N fluids under pT and 2 fluids under pTg-equilibrium. There is a final common p and T during relaxation.
 
subroutine m_phase_change::s_compute_jacobian_matrix (invjac, j, jac, k, l, mcpd, mcvgp, mcvgp2, ps, q_cons_vf, tjac)
 This auxiliary subroutine calculates the 2 x 2 Jacobian and, its inverse and transpose to be used in the pTg-equilibirium procedure.
 
subroutine m_phase_change::s_compute_ptg_residue (j, k, l, mcpd, mcvgp, mqd, q_cons_vf, ps, rhoe, r2d)
 This auxiliary subroutine computes the residue of the pTg-equilibrium procedure.
 
elemental subroutine m_phase_change::s_tsat (psat, tsat, tsin)
 This auxiliary subroutine finds the Saturation temperature for a given saturation pressure through a newton solver.
 
impure subroutine, public m_phase_change::s_finalize_relaxation_solver_module
 This subroutine finalizes the phase change module.
 

Variables

Parameters for the first order transition phase change
integer, parameter m_phase_change::max_iter = 1e8_wp
 max # of iterations
 
real(wp), parameter m_phase_change::pcr = 4.94e7_wp
 Critical water pressure.
 
real(wp), parameter m_phase_change::tcr = 385.05_wp + 273.15_wp
 Critical water temperature.
 
real(wp), parameter m_phase_change::mixm = 1.0e-8_wp
 threshold for 'mixture cell'. If Y < mixM, phase change does not happen
 
integer, parameter m_phase_change::lp = 1
 index for the liquid phase of the reacting fluid
 
integer, parameter m_phase_change::vp = 2
 index for the vapor phase of the reacting fluid
 
Gibbs free energy phase change parameters
real(wpm_phase_change::a
 
real(wpm_phase_change::b
 
real(wpm_phase_change::c
 
real(wpm_phase_change::d
 
variables for the correction of the reacting partial densities

This auxiliary subroutine corrects the partial densities of the REACTING fluids in case one of them is negative but their sum is positive. Inert phases are not corrected at this moment

Parameters
MCTpartial density correction parameter
q_cons_vfCell-average conservative variables
rMsum of the reacting masses
jgeneric loop iterator for x direction
kgeneric loop iterator for y direction
lgeneric loop iterator for z direction
real(wp), intent(out) mct
 
type(scalar_field), dimension(sys_size), intent(inout) q_cons_vf
 
real(wp), intent(inout) rm
 
integer, intent(in) j
 
integer, intent(in) k
 
integer, intent(in) l
 

Variable Documentation

◆ j

integer, intent(in) j

◆ k

integer, intent(in) k

◆ l

integer, intent(in) l

◆ mct

real(wp), intent(out) mct

◆ q_cons_vf

type(scalar_field), dimension(sys_size), intent(inout) q_cons_vf

◆ rm

real(wp), intent(inout) rm