Stops when a volume and a surface field do not match the extruded mesh the operators were initialized for, or each other.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ColumnOperators3D_t), | intent(in) | :: | this | |||
| class(Scalar3D), | intent(in) | :: | volume | |||
| class(Scalar2D), | intent(in) | :: | surface | |||
| character, | intent(in) | :: | caller |
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