particles/tracerParticles2DRestart.yaml

---
test: !IntegrationRestartTest
  # specify the basic test parameters for restart test
  testParameters:
    # a unique test name for this integration tests
    name: tracerParticles2DRestart
    asserts:
      - "inputs/particles/tracerParticles2DRestart.txt"
  # upon restart, override some of the input parameters
  restartOverrides:
    timestepper::arguments::ts_max_steps: "10"

environment:
  title: _2DTracerParticles
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: 5
    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 + 7, t + 7"
      timeDerivative: "1.0, 1.0"
    - &pressureField
      fieldName: "pressure"
      field: "1.0 "
      timeDerivative: "0.0"
    - &temperatureField
      fieldName: "temperature"
      field: "1.0"
      timeDerivative: "0.0"
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::TimeStepMonitor
  - !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"
    monitors:
      - !ablate::monitors::ParticleCount
      - !ablate::monitors::ParticleAverage