Nodes of different colours represent the following:
Solid arrows point from a parent (sub)module to the submodule which is descended from it. Dashed arrows point from a module being used to the module or program unit using it. Where possible, edges connecting nodes are given different colours to make them easier to distinguish in large graphs.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed arrows point from an interface to procedures which implement that interface. This could include the module procedures in a generic interface or the implementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are given different colours to make them easier to distinguish in large graphs.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed arrows point from an interface to procedures which implement that interface. This could include the module procedures in a generic interface or the implementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are given different colours to make them easier to distinguish in large graphs.
subroutine TimestepInitComplexFenestration
! SUBROUTINE INFORMATION:
! AUTHOR Simon Vidanovic
! DATE WRITTEN May 2012
! MODIFIED May 2012 (Initialize complex fenestration in case of EMS)
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! Performs initialization of complex fenestration. It also performs check if current surface containing
! complex fenestration have construction changed (by EMS) in which case performs addition of current states
! into complex fenestration array
! METHODOLOGY EMPLOYED:
! na
! REFERENCES:
! na
! USE STATEMENTS:
use WindowComplexManager, only: CheckCFSStates
integer iSurf ! Current surface number
integer iState ! current state number
integer NumOfStates ! number of states for current window
do iSurf = 1, TotSurfaces
if (SurfaceWindow(iSurf)%WindowModelType == WindowBSDFModel) then
! This will check complex fenestrations state and add new one if necessary (EMS case)
call CheckCFSStates(iSurf)
NumOfStates = ComplexWind(iSurf)%NumStates
! Check for overlap areas and initialize if necessary
do iState = 1, NumOfStates
! do initialization only once
if (ComplexWind(iSurf)%Geom(iState)%InitState) then
call CalcComplexWindowOverlap(ComplexWind(iSurf)%Geom(iState), ComplexWind(iSurf), iSurf)
ComplexWind(iSurf)%Geom(iState)%InitState = .FALSE.
end if
end do
end if
end do
end subroutine TimestepInitComplexFenestration