particles/tracerParticles2DHDF5Monitor.yaml
---
test:
# a unique test name for this integration tests
name: tracerParticles2DHDF5Monitor
# the number of ranks to run with mpi
ranks: 2
# create a list of asserts to compare
asserts:
# create a default assert that compares the log file
- "inputs/particles/tracerParticles2DHDF5Monitor/tracerParticles2DHDF5Monitor.txt"
- !testingResources::asserts::TextFileAssert
expected: "inputs/particles/tracerParticles2DHDF5Monitor/flowTracerParticles.xmf"
actual: "flowTracerParticles.xmf"
- !testingResources::asserts::TextFileAssert
expected: "inputs/particles/tracerParticles2DHDF5Monitor/domain.xmf"
actual: "domain.xmf"
# example incompressible flow with tracer particles and hdf5 output
environment:
title: _2DTracerParticles
tagDirectory: false
arguments:
dm_plex_separate_marker: ""
vel_petscspace_degree: 2
pres_petscspace_degree: 1
temp_petscspace_degree: 1
timestepper:
name: theMainTimeStepper
io:
interval: 0
arguments:
ts_dt: .01
ts_max_steps: 15
ksp_type: fgmres
ksp_gmres_restart: 10
ksp_rtol: 1.0e-9
ksp_atol: 1.0e-14
ksp_error_if_not_converged: ""
pc_type: fieldsplit
pc_fieldsplit_0_fields: 0,2
pc_fieldsplit_1_fields: 1
pc_fieldsplit_type: schur
pc_fieldsplit_schur_factorization_type: "full"
fieldsplit_0_pc_type: lu
fieldsplit_pressure_ksp_rtol: 1E-10
fieldsplit_pressure_pc_type: jacobi
domain: !ablate::domain::BoxMesh
name: simpleBoxField
faces: [ 4, 4 ]
lower: [ 0, 0 ]
upper: [ 1, 1 ]
options:
dm_refine: 0
dm_distribute: true
fields:
- !ablate::finiteElement::LowMachFlowFields
initialization:
- &velocityField
fieldName: "velocity"
field: "t + x^2 + y^2, t + 2*x^2 - 2*x*y"
timeDerivative: "1.0, 1.0"
- &pressureField
fieldName: "pressure"
field: "x + y - 1"
timeDerivative: "0.0"
- &temperatureField
fieldName: "temperature"
field: "t + x + y"
timeDerivative: "1.0"
exactSolution:
- *velocityField
- *pressureField
- *temperatureField
solvers:
- !ablate::finiteElement::IncompressibleFlowSolver
id: theFlowField
options: { }
parameters:
strouhal: 1.0
reynolds: 1.0
peclet: 1.0
mu: 1.0
k: 1.0
cp: 1.0
boundaryConditions:
- !ablate::finiteElement::boundaryConditions::Essential
boundaryName: "wall velocity"
labelIds: [3, 1, 2, 4]
boundaryValue: *velocityField
- !ablate::finiteElement::boundaryConditions::Essential
boundaryName: "wall temp"
labelIds: [3, 1, 2, 4]
boundaryValue: *temperatureField
monitors:
- !ablate::monitors::FieldErrorMonitor
- !ablate::particles::ParticleSolver
id: flowTracerParticles
options:
ts_dt: 0.005
processes:
- !ablate::particles::processes::Tracer
initializer: !ablate::particles::initializers::BoxInitializer
lower: [0.25,0.25]
upper: [0.75,0.75]
particlesPerDim: 10
exactSolutions:
- fieldName: coordinates
field: "t + x + y"