Skip to content

Commit

Permalink
Merge pull request #9467 from rmcdermo/master
Browse files Browse the repository at this point in the history
FDS Source: fix FAVRE AVERAGE
  • Loading branch information
rmcdermo committed Apr 29, 2021
2 parents 0c53cde + c1cc235 commit 9ca15b0
Showing 1 changed file with 10 additions and 5 deletions.
15 changes: 10 additions & 5 deletions Source/dump.f90
Expand Up @@ -6420,11 +6420,6 @@ SUBROUTINE UPDATE_DEVICES_2(T,DT)
CYCLE DEVICE_LOOP
ENDIF

! Weight factor for time-averaging

WGT = DT/MAX(DT,T-DV%STATISTICS_START)
DV%AVERAGE_VALUE = (1._EB-WGT)*DV%AVERAGE_VALUE + WGT*DV%INSTANT_VALUE

! Apply the various temporal statistics

SELECT CASE (DV%TEMPORAL_STATISTIC)
Expand All @@ -6435,9 +6430,13 @@ SUBROUTINE UPDATE_DEVICES_2(T,DT)
DV%VALUE = DV%VALUE + DV%INSTANT_VALUE*DT
DV%TIME_INTERVAL = DV%TIME_INTERVAL + DT
CASE('RUNNING AVERAGE')
WGT = DT/MAX(DT,T-DV%STATISTICS_START)
DV%AVERAGE_VALUE = (1._EB-WGT)*DV%AVERAGE_VALUE + WGT*DV%INSTANT_VALUE
DV%VALUE = DV%AVERAGE_VALUE
DV%TIME_INTERVAL = 1._EB
CASE('TIME INTEGRAL')
WGT = DT/MAX(DT,T-DV%STATISTICS_START)
DV%AVERAGE_VALUE = (1._EB-WGT)*DV%AVERAGE_VALUE + WGT*DV%INSTANT_VALUE
DV%VALUE = DV%AVERAGE_VALUE*(T-DV%STATISTICS_START)
DV%TIME_INTERVAL = 1._EB
CASE('MAX')
Expand All @@ -6461,18 +6460,24 @@ SUBROUTINE UPDATE_DEVICES_2(T,DT)
DV%VALUE = DV%TIME_MIN_VALUE(INTERVAL_INDEX)
ENDIF
CASE('RMS')
WGT = DT/MAX(DT,T-DV%STATISTICS_START)
DV%AVERAGE_VALUE = (1._EB-WGT)*DV%AVERAGE_VALUE + WGT*DV%INSTANT_VALUE
WGT_UNBIASED = DT/MAX(DT,T-DV%STATISTICS_START+DT)
DV%RMS_VALUE = (1._EB-WGT_UNBIASED)*DV%RMS_VALUE + WGT_UNBIASED*(DV%INSTANT_VALUE-DV%AVERAGE_VALUE)**2
DV%VALUE = SQRT(DV%RMS_VALUE)
DV%TIME_INTERVAL = 1._EB
CASE('COV')
WGT = DT/MAX(DT,T-DV%STATISTICS_START)
DV%AVERAGE_VALUE = (1._EB-WGT)*DV%AVERAGE_VALUE + WGT*DV%INSTANT_VALUE
WGT_UNBIASED = DT/MAX(DT,T-DV%STATISTICS_START+DT)
DV%AVERAGE_VALUE2 = (1._EB-WGT)*DV%AVERAGE_VALUE2 + WGT*DV%VALUE_2
DV%COV_VALUE = (1._EB-WGT_UNBIASED)*DV%COV_VALUE + &
WGT_UNBIASED*(DV%INSTANT_VALUE-DV%AVERAGE_VALUE)*(DV%VALUE_2-DV%AVERAGE_VALUE2)
DV%VALUE = DV%COV_VALUE
DV%TIME_INTERVAL = 1._EB
CASE('CORRCOEF')
WGT = DT/MAX(DT,T-DV%STATISTICS_START)
DV%AVERAGE_VALUE = (1._EB-WGT)*DV%AVERAGE_VALUE + WGT*DV%INSTANT_VALUE
WGT_UNBIASED = DT/MAX(DT,T-DV%STATISTICS_START+DT)
DV%AVERAGE_VALUE2 = (1._EB-WGT)*DV%AVERAGE_VALUE2 + WGT*DV%VALUE_2
DV%COV_VALUE = (1._EB-WGT_UNBIASED)*DV%COV_VALUE + &
Expand Down

0 comments on commit 9ca15b0

Please sign in to comment.