CheckFields_ColumnOperators3D_t Subroutine

public subroutine CheckFields_ColumnOperators3D_t(this, volume, surface, caller)

Stops when a volume and a surface field do not match the extruded mesh the operators were initialized for, or each other.

Arguments

TypeIntentOptionalAttributesName
class(ColumnOperators3D_t), intent(in) :: this
class(Scalar3D), intent(in) :: volume
class(Scalar2D), intent(in) :: surface
character, intent(in) :: caller

Called by

proc~~checkfields_columnoperators3d_t~~CalledByGraph proc~checkfields_columnoperators3d_t CheckFields_ColumnOperators3D_t proc~broadcast_columnoperators3d_t Broadcast_ColumnOperators3D_t proc~broadcast_columnoperators3d_t->proc~checkfields_columnoperators3d_t proc~columnintegral_columnoperators3d_t ColumnIntegral_ColumnOperators3D_t proc~columnintegral_columnoperators3d_t->proc~checkfields_columnoperators3d_t proc~checksweep_columnoperators3d_t CheckSweep_ColumnOperators3D_t proc~checksweep_columnoperators3d_t->proc~checkfields_columnoperators3d_t proc~columnintegral_columnoperators3d ColumnIntegral_ColumnOperators3D proc~columnintegral_columnoperators3d->proc~checkfields_columnoperators3d_t proc~broadcast_columnoperators3d Broadcast_ColumnOperators3D proc~broadcast_columnoperators3d->proc~checkfields_columnoperators3d_t proc~verticalsweepdown_columnoperators3d_t VerticalSweepDown_ColumnOperators3D_t proc~verticalsweepdown_columnoperators3d_t->proc~checksweep_columnoperators3d_t proc~verticalsweepup_columnoperators3d_t VerticalSweepUp_ColumnOperators3D_t proc~verticalsweepup_columnoperators3d_t->proc~checksweep_columnoperators3d_t proc~verticalsweepdown_columnoperators3d VerticalSweepDown_ColumnOperators3D proc~verticalsweepdown_columnoperators3d->proc~checksweep_columnoperators3d_t proc~verticalsweepup_columnoperators3d VerticalSweepUp_ColumnOperators3D proc~verticalsweepup_columnoperators3d->proc~checksweep_columnoperators3d_t

Contents


Source Code

  subroutine CheckFields_ColumnOperators3D_t(this,volume,surface,caller)
    !! Stops when a volume and a surface field do not match the extruded mesh the
    !! operators were initialized for, or each other.
    implicit none
    class(ColumnOperators3D_t),intent(in) :: this
    class(Scalar3D),intent(in) :: volume
    class(Scalar2D),intent(in) :: surface
    character(*),intent(in) :: caller

    if(this%nLayers <= 0) then
      print*,"ColumnOperators3D%",caller," : Error : the column operators are not initialized"
      error stop 1
    endif
    if(volume%N /= this%N .or. surface%N /= this%N) then
      print*,"ColumnOperators3D%",caller," : Error : field degree differs from the operators' degree ",this%N
      error stop 1
    endif
    if(volume%nElem /= this%nElem) then
      print*,"ColumnOperators3D%",caller," : Error : volume field has ",volume%nElem," elements, the mesh ",this%nElem
      error stop 1
    endif
    if(surface%nElem /= this%nColumns) then
      print*,"ColumnOperators3D%",caller," : Error : surface field has ",surface%nElem," elements, the mesh ", &
        this%nColumns," columns"
      error stop 1
    endif
    if(volume%nVar /= surface%nVar) then
      print*,"ColumnOperators3D%",caller," : Error : volume field has ",volume%nVar," variables, the surface field ", &
        surface%nVar
      error stop 1
    endif

  endsubroutine CheckFields_ColumnOperators3D_t