diff --git a/Source/hvac.f90 b/Source/hvac.f90 index 8bfcac63fc2..90d4457570b 100644 --- a/Source/hvac.f90 +++ b/Source/hvac.f90 @@ -1297,9 +1297,11 @@ SUBROUTINE INIT_DUCT_NODE USE PHYSICAL_FUNCTIONS, ONLY: GET_ENTHALPY USE MATH_FUNCTIONS, ONLY: EVALUATE_RAMP REAL(EB) :: ZZ_GET(1:N_TRACKED_SPECIES) !< Species mass fraction array. +REAL(EB) :: VF(1:N_TRACKED_SPECIES) !< Species volunme fraction array. REAL(EB) :: TNOW !< Current CPU time (s) used in computing length of time spent in HVAC routines. INTEGER :: NN,N TYPE(DUCTNODE_TYPE), POINTER :: DN +TYPE(INITIALIZATION_TYPE), POINTER :: IN TNOW = CURRENT_TIME() @@ -1332,11 +1334,18 @@ SUBROUTINE INIT_DUCT_NODE INIT_LOOP: DO N = 1,N_INIT IF (TRIM(INITIALIZATION(N)%NODE_ID)==TRIM(DN%ID)) THEN - DN%ZZ0 = INITIALIZATION(N)%MASS_FRACTION - IF (INITIALIZATION(N)%TEMPERATURE > 0._EB) THEN - DN%TMP0 = INITIALIZATION(N)%TEMPERATURE - ELSE - DN%TMP0 = DN%TMP + IN => INITIALIZATION(N) + IF (IN%VOLUME_FRACTIONS_SPECIFIED) THEN + VF(2:N_TRACKED_SPECIES) = IN%VOLUME_FRACTION(2:N_TRACKED_SPECIES) + VF(1) = 1._EB - SUM(VF) + DN%ZZ0 = VF(1:N_TRACKED_SPECIES)*SPECIES_MIXTURE(1:N_TRACKED_SPECIES)%MW / & + SUM(VF(1:N_TRACKED_SPECIES)*SPECIES_MIXTURE(1:N_TRACKED_SPECIES)%MW) + ELSEIF (IN%MASS_FRACTIONS_SPECIFIED) THEN + DN%ZZ0(2:N_TRACKED_SPECIES) = IN%MASS_FRACTION(2:N_TRACKED_SPECIES) + DN%ZZ0(1) = 1._EB - SUM(DN%ZZ0(2:N_TRACKED_SPECIES)) + ENDIF + IF (IN%TEMPERATURE > 0._EB) THEN + DN%TMP0 = IN%TEMPERATURE ENDIF EXIT INIT_LOOP ENDIF