Skip to content

Cartesian Multiphase Solver

Theory guide

In LAVA, the multiphase model is the 4-eq Homogeneous Relaxation Model (HRM). This model assumes instantaneous mechanical and temperature relaxation between the species. When solved directly with stiffened-gas EOS for the liquid species, the numerical solution can fail for extreme cases with strong shocks and cavitation. This is due to the non-monotonic behavior of the speed of sound in a liquid/vapor mixture (see the formulation by Wood).

Thus, the LAVA solver employs a robust fractional method for time-stepping of the HRM model. Specifically, the 5-eq model of Allaire et al. (Allaire's model) is employed for the first hyperbolic step. In Allaire's model, the temperature of the species can be distinct from one another, resulting in the expansion of the thermodynamic degree of freedom (HRM: pressure, density, mass fractions; Allaire's: pressure, density, mass fractions, volume fractions). In the limit of infinitely fast temperature relaxation, an algebraic step is employed to relax the mixture into a single common temperature via modification of pressure and volume fractions 1. It is shown here that the Allaire's model + thermo-relaxation recovers the solution of the HRM model.

The model is further augmented with an approximate phase transfer model by Chiapolino et al.2.

A key consequence of the transition to Allaire's model for the hyperbolic step is that temperature information of all species must be present for consistency. This means that all mass and volume fractions must be strictly nonzero. In practice, we employ positivity-preserving limiters (PP) to enforce that partial densities and volume fractions are bounded from below by EPS = 1e-10 for double and 1e-6 for single precision. Input thermodynamic conditions are automatically adjusted so that this bound is met.

Specific Inputs

Mixture

Similar syntax to multi-species (MS), but first species must be liquid, and second species must be its corresponding vapor (optional), then the gas species in any order.

mixture = [liq_h2o, vap_h2o, engine, air]

Options for the governing equations are set in this section.

  navier stokes
  {
    viscous                = false # required for MP. Default false
    phase transition       = true  # Default false
    use approximate solver = true  # Default true
  }
  • Viscous flow is not supported with MP yet.

  • phase transition controls whether to perform phase transfer calculation or not. Then, use approximate solver controls whether to use the approximate model by Chiapolino et al. or perform root finding to exactly satisfy the Gibbs free energy balance.

Reference Conditions

The full set of thermodynamic variables required to specify the multiphase mixture is: pressure, temperature, and mass fractions.

reference conditions {
    pressure       = 1e5
    temperature    = 300.
    mass fractions = [0.1, 0.1, 0.8]
    multiphase equilibrium = true # default is false
    # Other non-thermodynamic reference properties...
}
This combination ensures that all species have the same specified temperature by computing volume fractions from pressure, temperature, and mass fractions. If the specified conditions result in a state that violates PP bounds, LAVA will also rescale the mass fractions so that the state falls into the PP bounds. When multiphase equilibrium = true, the first two components of the mass fractions vector will be recomputed so that the two liquid and vapor species have the same Gibbs free energy, i.e., the phases are in equilibrium with one another. This option is recommended when running with phase transition = true, see Navier Stokes.

Warning

For multiphase, there is no default values for the thermodynamic properties. The user must specify the complete state via one of the combinations above.

Initial Conditions

The user can specify regions in the domain where the initial conditions are modified from the reference condition. Details of this can be found in the Cartesian inputs documentation page. Multiphase requires more thermodynamic state information as described in Reference Conditions. Some examples of an initial condition patch for launch pad simulation, where we define a region of standing water, is shown below:

  • Fully-prescribed state

      ic_1
      {
        corner_1 = [-64.6, -1.0]
        corner_2 = [  0.0,  1.6]
        velocity        = [0.0,0.0,0.0]
    
        pressure        = 101325.000000
        temperature     = 300.
        multiphase equilibrium = true # Optional option to specify phase eq. Default is false
        mass fractions   = [9.9999997964053133e-01, 3.5946861473104996e-10, 1.0000000000000000e-08, 1.0000000000000000e-08]
      }
    
  • Modified state, where pressure field is omitted since it is the same as the reference condition

      ic_1
      {
        corner_1 = [-64.6, -1.0]
        corner_2 = [  0.0,  1.6]
        velocity        = [0.0,0.0,0.0]
    
        temperature     = 300.
        multiphase equilibrium = true # Optional option to specify phase eq. Default is false
        mass fractions   = [9.9999997964053133e-01, 3.5946861473104996e-10, 1.0000000000000000e-08, 1.0000000000000000e-08]
      }
    

The extra option multiphase equilibrium controls whether the mass fraction of the IC state is modified to satisfy phase equilibrium.

Standing Water Exact Q

For launch pad simulations, when prescribing an IC patch for the standing water, the standing water Exact Q option can be employed to spatially smooth the transition between the IC patch and the reference condition in the rest of the domain.

exact flow name = standingwater
interface thickness = 0.5
Here, the interface thickness is a required input (in meters) that dictates the thickness of the transition layer between the IC patch and the surrounding. The blending between IC and reference conditions is accomplished in the following manner, depending on the setting phase transition in Navier Stokes:
  • The blending is done on pressure, temperature, and mass fractions. Volume fractions are recomputed to match the single mixture temperature. Furthermore, if phasetransition = true, then the liquid/vapor compositions are also recomputed to achieve phase equilibrium.

Immersed Boundary Conditions

Wall Conditions

Since viscous=true is not supported with MP, only slip adiabatic wall is supported

BC_2
    {
      type = wall
      kind = [slip,adiabatic]
      components   = [2,3,4,5,6]
    }

mdot Inlet Condition

In the MP solver, the mdot inlet condition is typically used for aerated water injection. In contrast to the MS and NS1 case, the method for prescribing the thermodynamic condition of the injected flow is slightly different, with the addition of the multiphaseequilibrium option.

Info

To maintain robustness of the injected flows, LAVA will automatically modify the prescribed mass/volume fractions if needed to ensure that PP bounds are not violated.

BC_1 {
    type                  = inlet
    kind                  = [mdot]
    temperature           = 300
    multiphaseequilibrium = true # Default false
    massfractions         = [0.992442,1e-8,1e-8,0.007558]
    # Other non-thermodynamic inputs...
}

Nozzle Boundary Conditions

  BC_1
  {
     type = nozzle
     datafiletype = 4
     dostagnation = false
     multiphaseequilibrium = true
     components = [56]
     timeshift = 0.0
     asciiLineTimeStart = 0
     asciiLineTimeStop = 1
     asciiLineTimeSkip = 1
     asciiLineReadSpecies = true
     nozzle normal = [-0.9999416651122017, -0.010795763249607787, 3.4331981600350204E-4]
     numberofradialpoints = 200
     filename = rd181_exitplane.dat
     ispecies = 2
  }
The option multiphaseequilibrium = true is used to specify whether the injected state is required to be at phase equilibrium or not.
  • Automatic adjustments are in place to ensure that the specified state does not violate PP bounds. These guarantee features is available for reference condition, initial conditions with/without standing water exact Q, mdot Immersed BC, and nozzle BC.
  • Even then, to ensure robustness and avoid any unseen edge cases, make sure that each component of input mass fractions are at least 1e-8.

References


  1. Wong, M. L., Angel, J. B., Barad, M. F., and Kiris, C. C., "A Positivity-Preserving High-Order Weighted Compact Nonlinear Scheme for Compressible Gas-Liquid Flows," Journal of Computational Physics, Vol. 444, 2021, p. 110569. https://doi.org/10.1016/j.jcp.2021.110569 ↩

  2. Chiapolino, A., Boivin, P., and Saurel, R., "A Simple and Fast Phase Transition Relaxation Solver for Compressible Multicomponent Two-Phase Flows," Computers & Fluids, Vol. 150, 2017, pp. 31--45. https://doi.org/https://doi.org/10.1016/j.compfluid.2017.03.022 ↩