summaryrefslogtreecommitdiff
path: root/Dragon/src/INFWAN.f
diff options
context:
space:
mode:
Diffstat (limited to 'Dragon/src/INFWAN.f')
-rw-r--r--Dragon/src/INFWAN.f62
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