Simple test for mapping the mesh using a simple function

domain/meshMappingTest.yaml

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

# metadata for the simulation
environment:
  title: _meshMappingTest
  tagDirectory: false
# global arguments that can be used by petsc
arguments:
  # ask petsc to label the boundary values
  dm_plex_separate_marker: ""
# set up the time stepper responsible for marching in time
timestepper:
  # for this example there are no time stepper arguments (empty simulation)
  arguments: { }
  # create a simple box mesh for simulation
  domain: !ablate::domain::BoxMesh
    name: mappingMesh
    # keep the mesh simple with only 4 faces in each direction
    faces: [ 4, 4 ]
    # range the mesh between 0.0, 0.0 to 1.0, 1.0
    lower: [ 0, 0 ]
    upper: [ 1, 1 ]
    # create a dummy example fild
    fields:
      - name: exampleFVField
        components: [ "xx", "yy" ]
        type: FVM
    modifiers:
      # define a simple mesh mapper that translate in x and y
      - !ablate::domain::modifiers::MeshMapper
        "x+1.0, y+2.0"
      # extrude the boundary cells crea
      - !ablate::domain::modifiers::ExtrudeLabel
        # use the labels defined by the dm_plex_separate_marker option
        regions:
          - name: marker
            value: 1 # this is the bottom boundary value
          - name: marker
            value: 4 # this is the left boundary value
        # define a region for the new interface between the originalRegion and extrudedRegion
        boundaryRegion:
          name: boundaryRegion
        # for all cells/faces/points that were in the original mesh before extrusion
        originalRegion:
          name: interiorCells
        # for all cells/faces/points that were extruded.  This does include overlap faces that are in the boundaryRegion, originalRegion, and extrudedRegion regions
        extrudedRegion:
          name: boundaryCells
      # the $OutputDirectory is a special keyword that gets parsed by ablate to update to the output directory
      - !ablate::monitors::DmViewFromOptions
        options: "hdf5:$OutputDirectory/dm.h5"
      - !ablate::monitors::DmViewFromOptions
        options: ascii::ascii_info_detail  
  initialization:
    - fieldName: "exampleFVField"
      field: "x, y"

# this is a test input file with no solvers
solvers: [ ]