diff options
Diffstat (limited to 'Dragon/src/INFWAN.f')
| -rw-r--r-- | Dragon/src/INFWAN.f | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/Dragon/src/INFWAN.f b/Dragon/src/INFWAN.f new file mode 100644 index 0000000..008ec7a --- /dev/null +++ b/Dragon/src/INFWAN.f @@ -0,0 +1,62 @@ +*DECK INFWAN + SUBROUTINE INFWAN(TEMPK,PURWGT,PRES,DENSITY) +* +*----------------------------------------------------------------------- +* +*Purpose: +* Compute water density as a function of temperature and pressure. +* +*Copyright: +* Copyright (C) 2016 Ecole Polytechnique de Montreal +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU Lesser General Public +* License as published by the Free Software Foundation; either +* version 2.1 of the License, or (at your option) any later version. +* +*Author(s): R. Roy and C. Kieffer +* +*Parameters: input +* TEMPK temperature (kelvin). +* PURWGT D2O purity (in wgt%). +* PRES pressure (Pa). +* +*Parameters: output +* DENSITY density (G/CM**3). +* +*----------------------------------------------------------------------- +* + IMPLICIT NONE + REAL TEMPK,PRES,PURWGT,DENSITY,R2,R3,R4,R5 + REAL TEMPC,h, zk, zmu, cp + REAL DEND2O, DENH2O, WGTD2O, WGTH2O +*---------------------------------------------------------- +* Light water density +*---------------------------------------------------------- + CALL THMPT(PRES,TEMPK,DENH2O,h, zk, zmu, cp) + IF(DENH2O .EQ.0 ) THEN + DENH2O=0.00000001 + ENDIF +*---------------------------------------------------------- +* Heavy water density +*---------------------------------------------------------- + TEMPC=TEMPK-273.15 + IF(TEMPC.GT.358.5 .OR. TEMPC.LT.90.5 .OR. PRES .GT. 22.0E6) THEN + DEND2O = 1.11 * DENH2O + ELSE + CALL THMHPT(PRES,TEMPK,DEND2O,R2,R3,R4,R5) + ENDIF +*---------------------------------------------------------- +* Global density for the mixture +*---------------------------------------------------------- + WGTD2O = 0.01 * PURWGT + WGTH2O = 1.00 - WGTD2O + IF(PURWGT .EQ. 1.0) THEN + DENSITY=DEND2O + ELSE IF(PURWGT .EQ. 0.0) THEN + DENSITY=DENH2O + ELSE + DENSITY=DENH2O*DEND2O/(WGTH2O*DEND2O+WGTD2O*DENH2O) + ENDIF + DENSITY=DENSITY/1000.0 + RETURN + END |
