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.
SUBROUTINE UpdateComplexWindows
! SUBROUTINE INFORMATION:
! AUTHOR Joe Klems
! DATE WRITTEN August 2011
! MODIFIED B. Griffith, Nov. 2012 revised for detailed timestep integration mode
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! Performs the shading-dependent initialization of the Complex Fenestration data;
! On first call, calls the one-time initializition
! METHODOLOGY EMPLOYED:
! <description>
! REFERENCES:
! na
! USE STATEMENTS:
USE DataGlobals, ONLY: KickoffSizing, KickoffSimulation
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
! na
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS:
! na
! DERIVED TYPE DEFINITIONS:
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
! LOGICAL,SAVE :: Once =.TRUE. !Flag for insuring things happen once
INTEGER :: NumStates ! Number of states for a given complex fen
INTEGER :: ISurf !Index for sorting thru Surface array
INTEGER :: IConst !Index for accessing Construct array
INTEGER :: IState !Index identifying the window state for a particular window
INTEGER :: IWind !Index identifying a window in the WindowList
!
!
! !One-time initialization
! IF (Once) THEN
! ONCE = .FALSE.
! CALL InitBSDFWindows
! CALL CalcStaticProperties
! ENDIF
IF (NumComplexWind == 0) RETURN
IF (KickoffSizing .or. KickoffSimulation) RETURN
!Shading-dependent initialization; performed once for each shading period
! Initialize the geometric quantities
DO IWind = 1 , NumComplexWind
ISurf = WindowList( IWind )%SurfNo
NumStates = ComplexWind( ISurf )%NumStates
DO IState = 1 , NumStates
CALL CFSShadeAndBeamInitialization(ISurf, IState, ComplexWind(ISurf), &
ComplexWind(ISurf)%Geom(IState), SurfaceWindow(ISurf)%ComplexFen%State(IState))
END DO !State loop
END DO !window loop
RETURN
END SUBROUTINE UpdateComplexWindows