Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | SurfaceGHENum | |||
real(kind=r64), | intent(in) | :: | TopFlux | |||
real(kind=r64), | intent(in) | :: | BottomFlux | |||
real(kind=r64), | intent(in) | :: | SourceFlux | |||
real(kind=r64), | intent(in) | :: | SourceTemp |
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 UpdateHistories(SurfaceGHENum, TopFlux, BottomFlux, SourceFlux, &
SourceTemp)
! AUTHOR Simon Rees
! DATE WRITTEN August 2002
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! This is used to update the temperature and flux records for the QTF
! calculations. This is called at the start of each zone timestep.
! METHODOLOGY EMPLOYED:
! Just shift along and replace zero index element with current value.
! REFERENCES:
! n/a
! USE STATEMENTS:
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
INTEGER, INTENT(IN) :: SurfaceGHENum ! component number
REAL(r64), INTENT(IN) :: TopFlux ! current top (top) surface flux
REAL(r64), INTENT(IN) :: BottomFlux ! current bottom (bottom) surface flux
REAL(r64), INTENT(IN) :: SourceFlux ! current source surface flux
REAL(r64), INTENT(IN) :: SourceTemp ! current source temperature
! SUBROUTINE PARAMETER DEFINITIONS:
! INTERFACE BLOCK SPECIFICATIONS
! na
! DERIVED TYPE DEFINITIONS
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
! update top surface temps
SurfaceGHEQTF(SurfaceGHENum)%TtopHistory = EOSHIFT(SurfaceGHEQTF(SurfaceGHENum)%TtopHistory,SHIFT= -1)
! update bottom surface temps
SurfaceGHEQTF(SurfaceGHENum)%TbtmHistory = EOSHIFT(SurfaceGHEQTF(SurfaceGHENum)%TbtmHistory, SHIFT= -1)
! update bottom surface temps
SurfaceGHEQTF(SurfaceGHENum)%TsrcHistory = EOSHIFT(SurfaceGHEQTF(SurfaceGHENum)%TsrcHistory,SHIFT= -1)
SurfaceGHEQTF(SurfaceGHENum)%TsrcHistory(1) = SourceTemp
! update bottom surface fluxes
SurfaceGHEQTF(SurfaceGHENum)%QbtmHistory = EOSHIFT(SurfaceGHEQTF(SurfaceGHENum)%QbtmHistory, SHIFT= -1)
SurfaceGHEQTF(SurfaceGHENum)%QbtmHistory(1) = BottomFlux
! update bottom surface fluxes
SurfaceGHEQTF(SurfaceGHENum)%QtopHistory = EOSHIFT(SurfaceGHEQTF(SurfaceGHENum)%QtopHistory, SHIFT= -1)
SurfaceGHEQTF(SurfaceGHENum)%QtopHistory(1) = TopFlux
! update bottom surface fluxes
SurfaceGHEQTF(SurfaceGHENum)%QsrcHistory = EOSHIFT(SurfaceGHEQTF(SurfaceGHENum)%QsrcHistory,SHIFT= -1)
SurfaceGHEQTF(SurfaceGHENum)%QsrcHistory(1) = SourceFlux
END SUBROUTINE UpdateHistories