Skip to content

Commit dcbb40d

Browse files
authored
Merge pull request #15105 from drjfloyd/master
FDS Source: Fix error applying INIT for duct nodes.
2 parents 9a985b6 + 43dcc08 commit dcbb40d

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

Source/hvac.f90

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1297,9 +1297,11 @@ SUBROUTINE INIT_DUCT_NODE
12971297
USE PHYSICAL_FUNCTIONS, ONLY: GET_ENTHALPY
12981298
USE MATH_FUNCTIONS, ONLY: EVALUATE_RAMP
12991299
REAL(EB) :: ZZ_GET(1:N_TRACKED_SPECIES) !< Species mass fraction array.
1300+
REAL(EB) :: VF(1:N_TRACKED_SPECIES) !< Species volunme fraction array.
13001301
REAL(EB) :: TNOW !< Current CPU time (s) used in computing length of time spent in HVAC routines.
13011302
INTEGER :: NN,N
13021303
TYPE(DUCTNODE_TYPE), POINTER :: DN
1304+
TYPE(INITIALIZATION_TYPE), POINTER :: IN
13031305

13041306
TNOW = CURRENT_TIME()
13051307

@@ -1332,11 +1334,18 @@ SUBROUTINE INIT_DUCT_NODE
13321334

13331335
INIT_LOOP: DO N = 1,N_INIT
13341336
IF (TRIM(INITIALIZATION(N)%NODE_ID)==TRIM(DN%ID)) THEN
1335-
DN%ZZ0 = INITIALIZATION(N)%MASS_FRACTION
1336-
IF (INITIALIZATION(N)%TEMPERATURE > 0._EB) THEN
1337-
DN%TMP0 = INITIALIZATION(N)%TEMPERATURE
1338-
ELSE
1339-
DN%TMP0 = DN%TMP
1337+
IN => INITIALIZATION(N)
1338+
IF (IN%VOLUME_FRACTIONS_SPECIFIED) THEN
1339+
VF(2:N_TRACKED_SPECIES) = IN%VOLUME_FRACTION(2:N_TRACKED_SPECIES)
1340+
VF(1) = 1._EB - SUM(VF)
1341+
DN%ZZ0 = VF(1:N_TRACKED_SPECIES)*SPECIES_MIXTURE(1:N_TRACKED_SPECIES)%MW / &
1342+
SUM(VF(1:N_TRACKED_SPECIES)*SPECIES_MIXTURE(1:N_TRACKED_SPECIES)%MW)
1343+
ELSEIF (IN%MASS_FRACTIONS_SPECIFIED) THEN
1344+
DN%ZZ0(2:N_TRACKED_SPECIES) = IN%MASS_FRACTION(2:N_TRACKED_SPECIES)
1345+
DN%ZZ0(1) = 1._EB - SUM(DN%ZZ0(2:N_TRACKED_SPECIES))
1346+
ENDIF
1347+
IF (IN%TEMPERATURE > 0._EB) THEN
1348+
DN%TMP0 = IN%TEMPERATURE
13401349
ENDIF
13411350
EXIT INIT_LOOP
13421351
ENDIF

0 commit comments

Comments
 (0)