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.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(DGModel2D_t), | intent(inout) | :: | this |
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