ReportUnmappedBoundaries_DGModel2D_t Subroutine

public subroutine ReportUnmappedBoundaries_DGModel2D_t(this)

Warn, once, about mesh boundary edges whose bcid has no registered boundary condition. MapBoundaryConditions establishes the count; ForwardStep calls this.

This is deliberately a warning and not an error. An exterior state of zero is a meaningful condition for some systems - for linear Euler it is effectively a radiation condition - so the run is allowed to continue.

Arguments

TypeIntentOptionalAttributesName
class(DGModel2D_t), intent(inout) :: this

Contents


Source Code

  subroutine ReportUnmappedBoundaries_DGModel2D_t(this)
    !! Warn, once, about mesh boundary edges whose bcid has no registered boundary
    !! condition. MapBoundaryConditions establishes the count; ForwardStep calls this.
    !!
    !! This is deliberately a warning and not an error. An exterior state of zero is a
    !! meaningful condition for some systems - for linear Euler it is effectively a
    !! radiation condition - so the run is allowed to continue.
    implicit none
    class(DGModel2D_t),intent(inout) :: this

    if(this%nUnmappedBoundaries <= 0) return
    if(this%unmappedBoundariesReported) return
    this%unmappedBoundariesReported = .true.
    ! The count is already global; one rank reports it.
    if(this%mesh%decomp%rankId /= 0) return

    print*,__FILE__,' : Warning : ',this%nUnmappedBoundaries, &
      ' mesh boundary edges carry a bcid with no boundary condition registered on'// &
      ' hyperbolicBCs.'
    print*,__FILE__,' : Warning : One such bcid is ',this%unmappedBoundaryID
    print*,__FILE__,' : Warning : A registration on parabolicBCs alone does not count:'// &
      ' that list is dispatched by SetGradientBoundaryCondition and writes'// &
      ' solutionGradient%extBoundary, not the solution trace the Riemann solver reads.'
    print*,__FILE__,' : Warning : Nothing writes the exterior state on those edges, so the'// &
      ' Riemann solver uses solution%extBoundary as it stands - zero on the first step, and'// &
      ' the previous step values afterwards.'
    print*,__FILE__,' : Warning : Register a boundary condition for that bcid on'// &
      ' hyperbolicBCs in'// &
      ' AdditionalInit, or re-tag the mesh faces (see mesh%ResetBoundaryConditionType).'

  endsubroutine ReportUnmappedBoundaries_DGModel2D_t