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

Conservative-to-primitive variable conversion, mixture property evaluation, and pressure computation. More...

Functions/Subroutines

subroutine, public s_convert_to_mixture_variables (q_vf, i, j, k, rho, gamma, pi_inf, qv, re_k, g_k, g)
 Dispatch to the s_convert_mixture_to_mixture_variables and s_convert_species_to_mixture_variables subroutines. Replaces a procedure pointer.
subroutine, public s_compute_pressure (energy, alf, dyn_p, pi_inf, gamma, rho, qv, rhoyks, pres, t, stress, mom, g, pres_mag)
 This procedure conditionally calculates the appropriate pressure.
subroutine, public s_convert_mixture_to_mixture_variables (q_vf, i, j, k, rho, gamma, pi_inf, qv)
 This subroutine is designed for the gamma/pi_inf model and provided a set of either conservative or primitive variables, transfers the density, specific heat ratio function and the liquid stiffness function from q_vf to rho, gamma and pi_inf.
subroutine, public s_convert_species_to_mixture_variables (q_vf, k, l, r, rho, gamma, pi_inf, qv, re_k, g_k, g)
 This subroutine is designed for the volume fraction model and provided a set of either conservative or primitive variables, computes the density, the specific heat ratio function and the liquid stiffness function from q_vf and stores the results into rho, gamma and pi_inf.
subroutine, public s_convert_species_to_mixture_variables_acc (rho_k, gamma_k, pi_inf_k, qv_k, alpha_k, alpha_rho_k, re_k, g_k, g)
 GPU-accelerated conversion of species volume fractions and partial densities to mixture density, gamma, pi_inf, and qv.
impure subroutine, public s_initialize_variables_conversion_module
 The computation of parameters, the allocation of memory, the association of pointers and/or the execution of any other procedures that are necessary to setup the module.
subroutine, public s_initialize_mv (qk_cons_vf, mv)
 Initializes bubble mass-vapor values at quadrature nodes from the conserved moment statistics.
subroutine, public s_initialize_pb (qk_cons_vf, mv, pb)
 Initializes bubble internal pressures at quadrature nodes using isothermal relations from the Preston model.
subroutine, public s_convert_conservative_to_primitive_variables (qk_cons_vf, q_t_sf, qk_prim_vf, ibounds)
 The following procedure handles the conversion between the conservative variables and the primitive variables.
impure subroutine, public s_convert_primitive_to_conservative_variables (q_prim_vf, q_cons_vf)
 The following procedure handles the conversion between the primitive variables and the conservative variables.
subroutine, public s_convert_primitive_to_flux_variables (qk_prim_vf, fk_vf, fk_src_vf, is1, is2, is3, s2b, s3b)
 The following subroutine handles the conversion between the primitive variables and the Eulerian flux variables.
subroutine, public s_compute_species_fraction (q_vf, k, l, r, alpha_rho_k, alpha_k)
 This subroutine computes partial densities and volume fractions.
impure subroutine s_finalize_variables_conversion_module ()
 Deallocates fluid property arrays and post-processing fields allocated during module initialization.
subroutine s_compute_speed_of_sound (pres, rho, gamma, pi_inf, h, adv, vel_sum, c_c, c, qv)
 Computes the speed of sound from thermodynamic state variables, supporting multiple equation-of-state models.
subroutine s_compute_fast_magnetosonic_speed (rho, c, b, norm, c_fast, h)
 Computes the fast magnetosonic wave speed from the sound speed, density, and magnetic field components.

Variables

real(wp), dimension(:), allocatable, public gammas
real(wp), dimension(:), allocatable, public gs_min
real(wp), dimension(:), allocatable, public pi_infs
real(wp), dimension(:), allocatable, public ps_inf
real(wp), dimension(:), allocatable, public cvs
real(wp), dimension(:), allocatable, public qvs
real(wp), dimension(:), allocatable, public qvps
real(wp), dimension(:), allocatable gs_vc
integer, dimension(:), allocatable bubrs_vc
real(wp), dimension(:, :), allocatable res_vc
integer is1b
integer is2b
integer is3b
integer is1e
integer is2e
integer is3e
real(wp), dimension(:, :, :), allocatable, public rho_sf
 Scalar density function.
real(wp), dimension(:, :, :), allocatable, public gamma_sf
 Scalar sp. heat ratio function.
real(wp), dimension(:, :, :), allocatable, public pi_inf_sf
 Scalar liquid stiffness function.
real(wp), dimension(:, :, :), allocatable, public qv_sf
 Scalar liquid energy reference function.

Detailed Description

Conservative-to-primitive variable conversion, mixture property evaluation, and pressure computation.

Function/Subroutine Documentation

◆ s_compute_fast_magnetosonic_speed()

subroutine m_variables_conversion::s_compute_fast_magnetosonic_speed ( real(wp), intent(in) rho,
real(wp), intent(in) c,
real(wp), dimension(3), intent(in) b,
integer, intent(in) norm,
real(wp), intent(out) c_fast,
real(wp), intent(in) h )

Computes the fast magnetosonic wave speed from the sound speed, density, and magnetic field components.

Definition at line 2802 of file m_variables_conversion.fpp.f90.

◆ s_compute_pressure()

subroutine, public m_variables_conversion::s_compute_pressure ( real(stp), intent(in) energy,
real(stp), intent(in) alf,
real(wp), intent(in) dyn_p,
real(wp), intent(in) pi_inf,
real(wp), intent(in) gamma,
real(wp), intent(in) rho,
real(wp), intent(in) qv,
real(wp), dimension(1:num_species), intent(in) rhoyks,
real(wp), intent(out) pres,
real(wp), intent(inout) t,
real(stp), intent(in), optional stress,
real(stp), intent(in), optional mom,
real(wp), intent(in), optional g,
real(wp), intent(in), optional pres_mag )

This procedure conditionally calculates the appropriate pressure.

Parameters
energyEnergy
alfVoid Fraction
dyn_pDynamic Pressure
pi_infLiquid Stiffness
gammaSpecific Heat Ratio
rhoDensity
qvfluid reference energy
rhoYksSpecies partial densities
presPressure to calculate
TTemperature
stressShear Stress
momMomentum
GShear modulus (optional)
pres_magMagnetic pressure (optional)

Definition at line 443 of file m_variables_conversion.fpp.f90.

Here is the caller graph for this function:

◆ s_compute_species_fraction()

subroutine, public m_variables_conversion::s_compute_species_fraction ( type(scalar_field), dimension(sys_size), intent(in) q_vf,
integer, intent(in) k,
integer, intent(in) l,
integer, intent(in) r,
real(wp), dimension(num_fluids), intent(out) alpha_rho_k,
real(wp), dimension(num_fluids), intent(out) alpha_k )

This subroutine computes partial densities and volume fractions.

Definition at line 2483 of file m_variables_conversion.fpp.f90.

Here is the caller graph for this function:

◆ s_compute_speed_of_sound()

subroutine m_variables_conversion::s_compute_speed_of_sound ( real(wp), intent(in) pres,
real(wp), intent(in) rho,
real(wp), intent(in) gamma,
real(wp), intent(in) pi_inf,
real(wp), intent(in) h,
real(wp), dimension(num_fluids), intent(in) adv,
real(wp), intent(in) vel_sum,
real(wp), intent(in) c_c,
real(wp), intent(out) c,
real(wp), intent(in) qv )

Computes the speed of sound from thermodynamic state variables, supporting multiple equation-of-state models.

Definition at line 2710 of file m_variables_conversion.fpp.f90.

◆ s_convert_conservative_to_primitive_variables()

subroutine, public m_variables_conversion::s_convert_conservative_to_primitive_variables ( type(scalar_field), dimension(sys_size), intent(in) qk_cons_vf,
type(scalar_field), intent(inout) q_t_sf,
type(scalar_field), dimension(sys_size), intent(inout) qk_prim_vf,
type(int_bounds_info), dimension(1:3), intent(in) ibounds )

The following procedure handles the conversion between the conservative variables and the primitive variables.

Parameters
qK_cons_vfConservative variables
q_T_sfTemperature scalar field
qK_prim_vfPrimitive variables
iboundsIndex bounds in each coordinate direction

Definition at line 1347 of file m_variables_conversion.fpp.f90.

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

◆ s_convert_mixture_to_mixture_variables()

subroutine, public m_variables_conversion::s_convert_mixture_to_mixture_variables ( type(scalar_field), dimension(sys_size), intent(in) q_vf,
integer, intent(in) i,
integer, intent(in) j,
integer, intent(in) k,
real(wp), intent(out), target rho,
real(wp), intent(out), target gamma,
real(wp), intent(out), target pi_inf,
real(wp), intent(out), target qv )

This subroutine is designed for the gamma/pi_inf model and provided a set of either conservative or primitive variables, transfers the density, specific heat ratio function and the liquid stiffness function from q_vf to rho, gamma and pi_inf.

Parameters
q_vfconservative or primitive variables
icell index to transfer mixture variables
jcell index to transfer mixture variables
kcell index to transfer mixture variables
rhodensity
gammaspecific heat ratio function
pi_infliquid stiffness
qvfluid reference energy

Definition at line 553 of file m_variables_conversion.fpp.f90.

Here is the caller graph for this function:

◆ s_convert_primitive_to_conservative_variables()

impure subroutine, public m_variables_conversion::s_convert_primitive_to_conservative_variables ( type(scalar_field), dimension(sys_size), intent(in) q_prim_vf,
type(scalar_field), dimension(sys_size), intent(inout) q_cons_vf )

The following procedure handles the conversion between the primitive variables and the conservative variables.

Parameters
q_prim_vfPrimitive variables
q_cons_vfConservative variables

Definition at line 1901 of file m_variables_conversion.fpp.f90.

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

◆ s_convert_primitive_to_flux_variables()

subroutine, public m_variables_conversion::s_convert_primitive_to_flux_variables ( real(wp), dimension(0:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:), intent(in) qk_prim_vf,
real(wp), dimension(0:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:), intent(inout) fk_vf,
real(wp), dimension(0:, idwbuff(2)%beg:, idwbuff(3)%beg:, advxb:), intent(inout) fk_src_vf,
type(int_bounds_info), intent(in) is1,
type(int_bounds_info), intent(in) is2,
type(int_bounds_info), intent(in) is3,
integer, intent(in) s2b,
integer, intent(in) s3b )

The following subroutine handles the conversion between the primitive variables and the Eulerian flux variables.

Parameters
qK_prim_vfPrimitive variables
FK_vfFlux variables
FK_src_vfFlux source variables
is1Index bounds in the first coordinate direction
is2Index bounds in the second coordinate direction
is3Index bounds in the third coordinate direction
s2bStarting boundary index in the second coordinate direction
s3bStarting boundary index in the third coordinate direction

Definition at line 2173 of file m_variables_conversion.fpp.f90.

Here is the call graph for this function:

◆ s_convert_species_to_mixture_variables()

subroutine, public m_variables_conversion::s_convert_species_to_mixture_variables ( type(scalar_field), dimension(sys_size), intent(in) q_vf,
integer, intent(in) k,
integer, intent(in) l,
integer, intent(in) r,
real(wp), intent(out), target rho,
real(wp), intent(out), target gamma,
real(wp), intent(out), target pi_inf,
real(wp), intent(out), target qv,
real(wp), dimension(2), intent(out), optional re_k,
real(wp), intent(out), optional g_k,
real(wp), dimension(num_fluids), intent(in), optional g )

This subroutine is designed for the volume fraction model and provided a set of either conservative or primitive variables, computes the density, the specific heat ratio function and the liquid stiffness function from q_vf and stores the results into rho, gamma and pi_inf.

Parameters
q_vfprimitive variables
kCell index
lCell index
rCell index
rhodensity
gammaspecific heat ratio
pi_infliquid stiffness
qvfluid reference energy
Re_KReynolds number (optional)
G_KShear modulus (optional)
GShear moduli of the fluids (optional)

Definition at line 597 of file m_variables_conversion.fpp.f90.

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

◆ s_convert_species_to_mixture_variables_acc()

subroutine, public m_variables_conversion::s_convert_species_to_mixture_variables_acc ( real(wp), intent(out) rho_k,
real(wp), intent(out) gamma_k,
real(wp), intent(out) pi_inf_k,
real(wp), intent(out) qv_k,
real(wp), dimension(num_fluids), intent(inout) alpha_k,
real(wp), dimension(num_fluids), intent(inout) alpha_rho_k,
real(wp), dimension(2), intent(out) re_k,
real(wp), intent(out), optional g_k,
real(wp), dimension(num_fluids), intent(in), optional g )

GPU-accelerated conversion of species volume fractions and partial densities to mixture density, gamma, pi_inf, and qv.

Definition at line 673 of file m_variables_conversion.fpp.f90.

Here is the caller graph for this function:

◆ s_convert_to_mixture_variables()

subroutine, public m_variables_conversion::s_convert_to_mixture_variables ( type(scalar_field), dimension(sys_size), intent(in) q_vf,
integer, intent(in) i,
integer, intent(in) j,
integer, intent(in) k,
real(wp), intent(out), target rho,
real(wp), intent(out), target gamma,
real(wp), intent(out), target pi_inf,
real(wp), intent(out), target qv,
real(wp), dimension(2), intent(out), optional re_k,
real(wp), intent(out), optional g_k,
real(wp), dimension(num_fluids), intent(in), optional g )

Dispatch to the s_convert_mixture_to_mixture_variables and s_convert_species_to_mixture_variables subroutines. Replaces a procedure pointer.

Parameters
q_vfConservative or primitive variables
iFirst-coordinate cell index
jSecond-coordinate cell index
kThird-coordinate cell index
rhoDensity
gammaSpecific heat ratio function
pi_infLiquid stiffness function
qvFluid reference energy
Re_KReynolds number (optional)
G_KShear modulus (optional)
GShear moduli of the fluids (optional)

Definition at line 407 of file m_variables_conversion.fpp.f90.

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

◆ s_finalize_variables_conversion_module()

impure subroutine m_variables_conversion::s_finalize_variables_conversion_module

Deallocates fluid property arrays and post-processing fields allocated during module initialization.

Definition at line 2566 of file m_variables_conversion.fpp.f90.

Here is the caller graph for this function:

◆ s_initialize_mv()

subroutine, public m_variables_conversion::s_initialize_mv ( type(scalar_field), dimension(sys_size), intent(in) qk_cons_vf,
real(stp), dimension(idwint(1)%beg:, idwint(2)%beg:, idwint(3)%beg:, 1:, 1:), intent(inout) mv )

Initializes bubble mass-vapor values at quadrature nodes from the conserved moment statistics.

Definition at line 1256 of file m_variables_conversion.fpp.f90.

Here is the caller graph for this function:

◆ s_initialize_pb()

subroutine, public m_variables_conversion::s_initialize_pb ( type(scalar_field), dimension(sys_size), intent(in) qk_cons_vf,
real(stp), dimension(idwint(1)%beg:, idwint(2)%beg:, idwint(3)%beg:, 1:, 1:), intent(in) mv,
real(stp), dimension(idwint(1)%beg:, idwint(2)%beg:, idwint(3)%beg:, 1:, 1:), intent(inout) pb )

Initializes bubble internal pressures at quadrature nodes using isothermal relations from the Preston model.

Definition at line 1299 of file m_variables_conversion.fpp.f90.

Here is the caller graph for this function:

◆ s_initialize_variables_conversion_module()

impure subroutine, public m_variables_conversion::s_initialize_variables_conversion_module

The computation of parameters, the allocation of memory, the association of pointers and/or the execution of any other procedures that are necessary to setup the module.

Definition at line 785 of file m_variables_conversion.fpp.f90.

Here is the caller graph for this function:

Variable Documentation

◆ bubrs_vc

integer, dimension(:), allocatable m_variables_conversion::bubrs_vc

Definition at line 359 of file m_variables_conversion.fpp.f90.

◆ cvs

real(wp), dimension(:), allocatable, public m_variables_conversion::cvs

Definition at line 344 of file m_variables_conversion.fpp.f90.

◆ gamma_sf

real(wp), dimension(:, :, :), allocatable, public m_variables_conversion::gamma_sf

Scalar sp. heat ratio function.

Definition at line 387 of file m_variables_conversion.fpp.f90.

◆ gammas

real(wp), dimension(:), allocatable, public m_variables_conversion::gammas

Definition at line 344 of file m_variables_conversion.fpp.f90.

◆ gs_min

real(wp), dimension(:), allocatable, public m_variables_conversion::gs_min

Definition at line 344 of file m_variables_conversion.fpp.f90.

◆ gs_vc

real(wp), dimension(:), allocatable m_variables_conversion::gs_vc

Definition at line 358 of file m_variables_conversion.fpp.f90.

◆ is1b

integer m_variables_conversion::is1b

Definition at line 373 of file m_variables_conversion.fpp.f90.

◆ is1e

integer m_variables_conversion::is1e

Definition at line 373 of file m_variables_conversion.fpp.f90.

◆ is2b

integer m_variables_conversion::is2b

Definition at line 373 of file m_variables_conversion.fpp.f90.

◆ is2e

integer m_variables_conversion::is2e

Definition at line 373 of file m_variables_conversion.fpp.f90.

◆ is3b

integer m_variables_conversion::is3b

Definition at line 373 of file m_variables_conversion.fpp.f90.

◆ is3e

integer m_variables_conversion::is3e

Definition at line 373 of file m_variables_conversion.fpp.f90.

◆ pi_inf_sf

real(wp), dimension(:, :, :), allocatable, public m_variables_conversion::pi_inf_sf

Scalar liquid stiffness function.

Definition at line 388 of file m_variables_conversion.fpp.f90.

◆ pi_infs

real(wp), dimension(:), allocatable, public m_variables_conversion::pi_infs

Definition at line 344 of file m_variables_conversion.fpp.f90.

◆ ps_inf

real(wp), dimension(:), allocatable, public m_variables_conversion::ps_inf

Definition at line 344 of file m_variables_conversion.fpp.f90.

◆ qv_sf

real(wp), dimension(:, :, :), allocatable, public m_variables_conversion::qv_sf

Scalar liquid energy reference function.

Definition at line 389 of file m_variables_conversion.fpp.f90.

◆ qvps

real(wp), dimension(:), allocatable, public m_variables_conversion::qvps

Definition at line 344 of file m_variables_conversion.fpp.f90.

◆ qvs

real(wp), dimension(:), allocatable, public m_variables_conversion::qvs

Definition at line 344 of file m_variables_conversion.fpp.f90.

◆ res_vc

real(wp), dimension(:, :), allocatable m_variables_conversion::res_vc

Definition at line 360 of file m_variables_conversion.fpp.f90.

◆ rho_sf

real(wp), dimension(:, :, :), allocatable, public m_variables_conversion::rho_sf

Scalar density function.

Definition at line 386 of file m_variables_conversion.fpp.f90.