shocktube/shockTube2Gas2D.yaml

---
testingIgnore: true
#test:
#  # a unique test name for this integration tests
#  name: shockTube2Gas2D
#  # create a default assert that compares the log file
#  assert: "inputs/shocktube/shockTube2Gas2D.txt"

environment:
  title: SOD_2Gas_6x6_ArAir
  tagDirectory: true
arguments: { }
timestepper:
  name: theMainTimeStepper
  arguments:
    ts_type: rk
    ts_max_time: 0.01
    ts_dt: 1e-3
    ts_adapt_type: none
  io:
    interval: 10
  domain: !ablate::domain::BoxMesh
    name: simpleBoxField
    faces: [ 3,3 ]
    lower: [ 0,0 ]
    upper: [ 1,1 ]
    boundary: [ 'NONE','PERIODIC' ]
    options:
      dm_refine: 1
    modifiers:
      - !ablate::domain::modifiers::DistributeWithGhostCells
      - !ablate::domain::modifiers::GhostBoundaryCells
    fields:
      - !ablate::finiteVolume::CompressibleFlowFields
        eos: !ablate::eos::PerfectGas
          parameters:
            gamma: 0
            Rgas: 0
      - name: densityvolumeFraction
        type: FVM
      - name: volumeFraction
        type: FVM
      - name: pressure
        location: AUX
        type: FVM
  initialization:
    - &eulerField
      fieldName: "euler" # rho, rhoE, rhoU: sod rho/p 1.0/1.0 - 0.125/0.1
      field: >-
        x < 0.5 ? 1.0 : 0.125,
        x < 0.5 ? 1.492537313432836 : 0.25,
        0,
        0
    - &rhoAlpha
      fieldName: densityvolumeFraction
      field: "x < 0.5 ? 0.0 : 0.125"
    - &alpha
      fieldName: volumeFraction
      field: "x < 0.5 ? 0.0 : 1.0"
solver: !ablate::finiteVolume::FiniteVolumeSolver
  id: SOD Problem
  processes:
    - !ablate::finiteVolume::processes::TwoPhaseEulerAdvection
      eos: !ablate::eos::TwoPhase
        eos1: !ablate::eos::PerfectGas &eosAir
          parameters: # air
            gamma: 1.4
            Rgas: 287.0
        eos2: !ablate::eos::PerfectGas &eosArgon
          parameters: # argon
            gamma: 1.67
            Rgas: 208.1
      fluxCalculatorGasGas: !ablate::finiteVolume::fluxCalculator::Riemann2Gas
        eosL: *eosAir
        eosR: *eosAir
      fluxCalculatorGasLiquid: !ablate::finiteVolume::fluxCalculator::Riemann2Gas
        eosL: *eosAir
        eosR: *eosArgon
      fluxCalculatorLiquidGas: !ablate::finiteVolume::fluxCalculator::Riemann2Gas
        eosL: *eosArgon
        eosR: *eosAir
      fluxCalculatorLiquidLiquid: !ablate::finiteVolume::fluxCalculator::Riemann2Gas
        eosL: *eosArgon
        eosR: *eosArgon

  boundaryConditions:
    - !ablate::finiteVolume::boundaryConditions::EssentialGhost
      boundaryName: "air walls euler"
      labelIds: [ 2, 4 ]
      boundaryValue: *eulerField
    - !ablate::finiteVolume::boundaryConditions::EssentialGhost
      boundaryName: "vf walls"
      labelIds: [ 2, 4 ]
      boundaryValue: *rhoAlpha
    - !ablate::finiteVolume::boundaryConditions::EssentialGhost
      boundaryName: "alpha walls"
      labelIds: [ 2, 4 ]
      boundaryValue: *alpha

  monitors:
    - !ablate::monitors::TimeStepMonitor