Description
This test shows the full use of the simulated two-color pyrometry code. Two color pyrometry is employed as a monitor and is attached to a boundary which serves as a viewing window. The model is based on the black body spectrum and Rayleigh scattering approximation. The model requires the soot mechanism to be specified in the eos. Using the TCP monitor requires that Orthogonal radiation is used. This is specified in the solver list. Orthogonal radiation detects radiation through the domain as the camera would, assuming the camera is relatively far from the domain.
---
test:
# a unique test name for this integration tests
name: virtualTCP
# create a default assert that compares the log file
assert: "inputs/radiation/virtualTCP.txt"
environment:
title: _tcp
tagDirectory: truev
arguments: { }
timestepper:
name: theMainTimeStepper
arguments:
ts_type: rk
ts_max_steps: 2
io: !ablate::io::Hdf5MultiFileSerializer
interval: 0
domain: !ablate::domain::BoxMeshBoundaryCells
name: simpleBoxField
faces: [ 5, 5, 5 ]
lower: [ -0.25 , -0.25, -0.25 ]
upper: [ 0.25, 0.25, 0.25 ]
options:
dm_refine: 0
dm_plex_hash_location: true
preModifiers:
- !ablate::domain::modifiers::DistributeWithGhostCells
postModifiers:
- !ablate::domain::modifiers::GhostBoundaryCells
fields:
- !ablate::finiteVolume::CompressibleFlowFields
eos: !ablate::eos::TChem &eos
mechFile: ../mechanisms/MMAReduced.soot.yml
# use a higher order field for the conserved field transport options
conservedFieldOptions:
petscfv_type: leastsquares
petsclimiter_type: vanleer
region:
name: domain
# create a conserved field to track ndd
- !ablate::finiteVolume::ExtraVariable
name: "Progress"
components: [ "NDD" ]
region:
name: domain
# by adding a pressure field the code will compute and output pressure
- !ablate::domain::FieldDescription
name: pressure
type: FV
location: aux
region:
name: domain
initialization:
- !ablate::finiteVolume::fieldFunctions::Euler
state:
&initState
eos: *eos
temperature: 1200.0
pressure: 101325.0
velocity: 0.0, 0.0, 0.0
# the mass fractions must be specified to compute rho, e, etc.
other: !ablate::finiteVolume::fieldFunctions::MassFractions
# the mass fraction class allows for a subset of mass fractions to be specified. The rest are assumed zero.
eos: *eos
values:
- fieldName: N2
field: 0.724672103
- fieldName: MMETHAC_C5H8O2
field: 0.055186656
- fieldName: O2
field: 0.220141239
# the DensityMassFractions reuses the initState to set the densityMassFractions for all species
- !ablate::finiteVolume::fieldFunctions::DensityMassFractions
state: *initState
# Set the number density to zero
- fieldName: densityProgress
field: "0.0"
solvers:
- !ablate::finiteVolume::CompressibleFlowSolver
id: flowField
region:
name: interiorCells
eos: *eos
monitors:
- !ablate::monitors::RadiationFlux
region:
name: boundaryFaces
radiation:
- !ablate::radiation::OrthogonalRadiation
id: tcp
region:
name: interiorCells
properties: !ablate::eos::radiationProperties::SootSpectrumProperties
eos: *eos
wavelengths: [ 650.0E-9, 532.0E-9, 470.0E-9 ] # Red wavelength, Green wavelength, Blue wavelength
bandwidths: [ 10E-9, 10E-9 , 10E-9 ]
log: !<!ablate::monitors::logs::StdOut> ""
- !ablate::boundarySolver::BoundarySolver
id: boundary
region:
name: boundaryCells
fieldBoundary:
name: boundaryFaces
processes:
- !ablate::boundarySolver::lodi::Inlet
eos: *eos