Example 1D diffusion flame with a coupled boundary condition. The diffusion flame only uses the transport processes of the Navier–Stokes equations.

reactingFlow/sampleDiffusionFlame.yaml

---
test:
  # a unique test name for this integration tests
  name: sampleDiffusionFlameTchem
  # create a default assert that compares the log file
  assert: "inputs/reactingFlow/sampleDiffusionFlame.txt"

environment:
  title: _1DSampleDiffusionFlameTchem
  tagDirectory: false
arguments: {}
timestepper:
  arguments:
    ts_type: rk
    ts_max_time: 1
    ts_max_steps: 50
    ts_dt: 1.0e-10
    ts_adapt_safety: 0.75
  domain: !ablate::domain::BoxMeshBoundaryCells
    name: simpleBoxField
    faces: [50]
    lower: [ 0.0]
    upper: [ 0.01]
    options:
      dm_plex_hash_location: true
    preModifiers:
      # distribute the mesh across the mpi rank with ghost cells
      - !ablate::domain::modifiers::DistributeWithGhostCells
        ghostCellDepth: 2
    postModifiers:
      - !ablate::domain::modifiers::TagLabelInterface
        # tag the left boundary faces needed to remove the boundary from the interiorFlowRegion
        leftRegion:
          name: boundaryCellsLeft
        rightRegion:
          name: domain
        boundaryFaceRegion:
          name: boundaryFaceLeft
      - !ablate::domain::modifiers::SubtractLabel
        # remove the slabBurnerFace from the flowRegion
        differenceRegion:
          name: interiorFlowRegion
        minuendRegion:
          name: interiorCells
        subtrahendRegions:
          - name: boundaryFaceLeft
        incompleteLabel: true
      - !ablate::domain::modifiers::GhostBoundaryCells
          # the DmViewFromOptions should output once with full mesh/dm details
    fields:
      - !ablate::finiteVolume::CompressibleFlowFields
        eos: !ablate::eos::TChem  &eos
          mechFile: ../mechanisms/gri30.yml
          options:
            # set a minimum temperature for the chemical kinetics ode integration
            thresholdTemperature: 560
        conservedFieldOptions:
          petscfv_type: leastsquares
        region:
          name: domain
      - !ablate::domain::FieldDescription
        name: pressure
        type: FV
        location: aux
        region:
          name: domain
  initialization:
    - !ablate::finiteVolume::fieldFunctions::Euler
      state: &flowFieldState
        eos: *eos
        temperature:
          "x < 0 ? 653.0  : (x > .01 ? 300.0 : (x < 0.007 ? (306714.2857*x + 653): (-833333.3333*x + 8633.33)  ))"
        pressure: 101325.0
        velocity: "0.0"
        other: !ablate::finiteVolume::fieldFunctions::MassFractions
          &massFracs
          eos: *eos
          values:
            - fieldName: O2
              field: !ablate::mathFunctions::Linear
                startValues: [0.0]
                endValues: [1.0]
                end: .01
            - fieldName: H2
              field: !ablate::mathFunctions::Linear
                startValues: [2.6605252679403324e-08]
                endValues: [0.0]
                end: .01
            - fieldName: CH4
              field: !ablate::mathFunctions::Linear
                startValues: [0.03130099022620085]
                endValues: [0.0]
                end: .01
            - fieldName: C2H2
              field: !ablate::mathFunctions::Linear
                startValues: [0.019041133292868283]
                endValues: [0.0]
                end: .01
            - fieldName: C2H4
              field: !ablate::mathFunctions::Linear
                startValues: [0.9085604652430157]
                endValues: [0.0]
                end: .01
            - fieldName: C2H6
              field: !ablate::mathFunctions::Linear
                startValues: [0.012981434565768965]
                endValues: [0.0]
                end: .01
            - fieldName: C3H8
              field: !ablate::mathFunctions::Linear
                startValues: [0.02811595000348999]
                endValues: [0.0]
                end: .01
    - !ablate::finiteVolume::fieldFunctions::DensityMassFractions
      state: *flowFieldState

solvers:
  - !ablate::finiteVolume::CompressibleFlowSolver
    id: flowField
    region:
      name: interiorFlowRegion
    eos: *eos
    transport: &transportModel !ablate::eos::transport::Sutherland
      eos: *eos
    monitors:
    - !ablate::monitors::TimeStepMonitor
      interval: 10
    - !ablate::monitors::CurveMonitor
        interval: 25
    additionalProcesses:
      - !ablate::finiteVolume::processes::Chemistry
        eos: *eos
      - !ablate::finiteVolume::processes::ConstantPressureFix
        eos: *eos
        pressure: 101325.0
  - !ablate::boundarySolver::BoundarySolver
    id: walls
    region:
      name: boundaryCellsRight
    fieldBoundary:
      name: boundaryFaces
    mergeFaces: true
    processes:
      - !ablate::boundarySolver::lodi::Inlet
        eos: *eos
  - !ablate::boundarySolver::BoundarySolver
    id: slab boundary
    region:
      name: boundaryCellsLeft
    fieldBoundary:
      name: boundaryFaceLeft
    processes:
      - !ablate::boundarySolver::physics::Sublimation
        latentHeatOfFusion: 1462876.0
        transportModel: *transportModel
        eos: *eos
        massFractions: *massFracs
        diffusionFlame: true