| 1 | !*********************************************************************
|
|---|
| 2 | !* Illinois Open Source License *
|
|---|
| 3 | !* *
|
|---|
| 4 | !* University of Illinois/NCSA *
|
|---|
| 5 | !* Open Source License *
|
|---|
| 6 | !* *
|
|---|
| 7 | !* Copyright@2008, University of Illinois. All rights reserved. *
|
|---|
| 8 | !* *
|
|---|
| 9 | !* Developed by: *
|
|---|
| 10 | !* *
|
|---|
| 11 | !* Center for Simulation of Advanced Rockets *
|
|---|
| 12 | !* *
|
|---|
| 13 | !* University of Illinois *
|
|---|
| 14 | !* *
|
|---|
| 15 | !* www.csar.uiuc.edu *
|
|---|
| 16 | !* *
|
|---|
| 17 | !* Permission is hereby granted, free of charge, to any person *
|
|---|
| 18 | !* obtaining a copy of this software and associated documentation *
|
|---|
| 19 | !* files (the "Software"), to deal with the Software without *
|
|---|
| 20 | !* restriction, including without limitation the rights to use, *
|
|---|
| 21 | !* copy, modify, merge, publish, distribute, sublicense, and/or *
|
|---|
| 22 | !* sell copies of the Software, and to permit persons to whom the *
|
|---|
| 23 | !* Software is furnished to do so, subject to the following *
|
|---|
| 24 | !* conditions: *
|
|---|
| 25 | !* *
|
|---|
| 26 | !* *
|
|---|
| 27 | !* @ Redistributions of source code must retain the above copyright *
|
|---|
| 28 | !* notice, this list of conditions and the following disclaimers. *
|
|---|
| 29 | !* *
|
|---|
| 30 | !* @ Redistributions in binary form must reproduce the above *
|
|---|
| 31 | !* copyright notice, this list of conditions and the following *
|
|---|
| 32 | !* disclaimers in the documentation and/or other materials *
|
|---|
| 33 | !* provided with the distribution. *
|
|---|
| 34 | !* *
|
|---|
| 35 | !* @ Neither the names of the Center for Simulation of Advanced *
|
|---|
| 36 | !* Rockets, the University of Illinois, nor the names of its *
|
|---|
| 37 | !* contributors may be used to endorse or promote products derived *
|
|---|
| 38 | !* from this Software without specific prior written permission. *
|
|---|
| 39 | !* *
|
|---|
| 40 | !* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, *
|
|---|
| 41 | !* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES *
|
|---|
| 42 | !* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND *
|
|---|
| 43 | !* NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR *
|
|---|
| 44 | !* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER *
|
|---|
| 45 | !* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, *
|
|---|
| 46 | !* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE *
|
|---|
| 47 | !* USE OR OTHER DEALINGS WITH THE SOFTWARE. *
|
|---|
| 48 | !*********************************************************************
|
|---|
| 49 | !* Please acknowledge The University of Illinois Center for *
|
|---|
| 50 | !* Simulation of Advanced Rockets in works and publications *
|
|---|
| 51 | !* resulting from this software or its derivatives. *
|
|---|
| 52 | !*********************************************************************
|
|---|
| 53 | !******************************************************************************
|
|---|
| 54 | !
|
|---|
| 55 | ! Purpose: Collect relations for static and total speed of sound for perfect
|
|---|
| 56 | ! gases.
|
|---|
| 57 | !
|
|---|
| 58 | ! Description: None.
|
|---|
| 59 | !
|
|---|
| 60 | ! Notes: None.
|
|---|
| 61 | !
|
|---|
| 62 | !******************************************************************************
|
|---|
| 63 | !
|
|---|
| 64 | ! $Id: MixtPerf.f,v 1.5 2015/07/17 15:58:14 mrugeshs Exp $
|
|---|
| 65 | !
|
|---|
| 66 | ! Copyright: (c) 2002 by the University of Illinois
|
|---|
| 67 | !
|
|---|
| 68 | !******************************************************************************
|
|---|
| 69 |
|
|---|
| 70 | FUNCTION MixtJWL_Enthalpy(DE,PRES,VEL1,VEL2,VEL3,EN)
|
|---|
| 71 | IMPLICIT NONE
|
|---|
| 72 | REAL DE,PRES,VEL1,VEL2,VEL3,EN
|
|---|
| 73 | REAL MixtJWL_Enthalpy
|
|---|
| 74 | MixtJWL_Enthalpy = 0.5*(VEL1*VEL1+VEL2*VEL2+VEL3*VEL3)
|
|---|
| 75 | > + EN+PRES/DE
|
|---|
| 76 | END
|
|---|
| 77 | FUNCTION MixtPerf_C_Co2GUVW(Co2,G,U,V,W)
|
|---|
| 78 | IMPLICIT NONE
|
|---|
| 79 | REAL Co2,G,U,V,W ! INTENT(IN) W
|
|---|
| 80 | REAL MixtPerf_C_Co2GUVW
|
|---|
| 81 | MixtPerf_C_Co2GUVW = SQRT(Co2 - 0.5*(G - 1.0)*(U*U + V*V + W*W))
|
|---|
| 82 | END
|
|---|
| 83 |
|
|---|
| 84 | FUNCTION MixtPerf_C_DGP(D,G,P)
|
|---|
| 85 | IMPLICIT NONE
|
|---|
| 86 | REAL D,G,P! INTENT(IN)
|
|---|
| 87 | REAL MixtPerf_C_DGP
|
|---|
| 88 | MixtPerf_C_DGP = SQRT(G*P/D)
|
|---|
| 89 | END
|
|---|
| 90 |
|
|---|
| 91 | FUNCTION MixtPerf_C_GHoVm2(G,Ho,Vm2)
|
|---|
| 92 | IMPLICIT NONE
|
|---|
| 93 | REAL G,Ho,Vm2! INTENT(IN)
|
|---|
| 94 | REAL MixtPerf_C_GHoVm2
|
|---|
| 95 | MixtPerf_C_GHoVm2 = SQRT((G - 1.0)*(Ho - 0.5*Vm2))
|
|---|
| 96 | END
|
|---|
| 97 |
|
|---|
| 98 | FUNCTION MixtPerf_C_GRT(G,R,T)
|
|---|
| 99 | IMPLICIT NONE
|
|---|
| 100 | REAL G,R,T! INTENT(IN)
|
|---|
| 101 | REAL MixtPerf_C_GRT
|
|---|
| 102 | MixtPerf_C_GRT = SQRT(G*R*T)
|
|---|
| 103 | END
|
|---|
| 104 |
|
|---|
| 105 | FUNCTION MixtPerf_C2_GRT(G,R,T)
|
|---|
| 106 | IMPLICIT NONE
|
|---|
| 107 | REAL G,R,T! INTENT(IN)
|
|---|
| 108 | REAL MixtPerf_C2_GRT
|
|---|
| 109 | MixtPerf_C2_GRT = G*R*T
|
|---|
| 110 | END
|
|---|
| 111 |
|
|---|
| 112 | FUNCTION MixtPerf_Co2_CGUVW(C,G,U,V,W)
|
|---|
| 113 | IMPLICIT NONE
|
|---|
| 114 | REAL C,G,U,V,W! INTENT(IN)
|
|---|
| 115 | REAL MixtPerf_Co2_CGUVW
|
|---|
| 116 | MixtPerf_Co2_CGUVW = C*C + 0.5*(G - 1.0)*(U*U + V*V + W*W)
|
|---|
| 117 | END
|
|---|
| 118 |
|
|---|
| 119 | FUNCTION MixtPerf_Cv_CpR(Cp,R)
|
|---|
| 120 | IMPLICIT NONE
|
|---|
| 121 | REAL Cp,R! INTENT(IN)
|
|---|
| 122 | REAL MixtPerf_Cv_CpR
|
|---|
| 123 | MixtPerf_Cv_CpR = Cp - R
|
|---|
| 124 | END
|
|---|
| 125 |
|
|---|
| 126 | FUNCTION MixtPerf_Cp_CvR(Cv,R)
|
|---|
| 127 | IMPLICIT NONE
|
|---|
| 128 | REAL Cv,R! INTENT(IN)
|
|---|
| 129 | REAL MixtPerf_Cp_CvR
|
|---|
| 130 | MixtPerf_Cp_CvR = Cv + R
|
|---|
| 131 | END
|
|---|
| 132 |
|
|---|
| 133 | FUNCTION MixtPerf_D_CGP(C,G,P)
|
|---|
| 134 | IMPLICIT NONE
|
|---|
| 135 | REAL C,G,P! INTENT(IN)
|
|---|
| 136 | REAL MixtPerf_D_CGP
|
|---|
| 137 | MixtPerf_D_CGP = G*P/(C*C)
|
|---|
| 138 | END
|
|---|
| 139 |
|
|---|
| 140 | FUNCTION MixtPerf_D_DoGMa(D,G,Ma)
|
|---|
| 141 | IMPLICIT NONE
|
|---|
| 142 | REAL D,G,Ma! INTENT(IN)
|
|---|
| 143 | REAL MixtPerf_D_DoGMa
|
|---|
| 144 | MixtPerf_D_DoGMa = D/ (1.0 + 0.5*(G-1.0)*Ma*Ma)**(1.0/(G-1.0))
|
|---|
| 145 | END
|
|---|
| 146 |
|
|---|
| 147 | FUNCTION MixtPerf_D_PRT(P,R,T)
|
|---|
| 148 | IMPLICIT NONE
|
|---|
| 149 | REAL P,R,T ! INTENT(IN)
|
|---|
| 150 | REAL MixtPerf_D_PRT
|
|---|
| 151 | MixtPerf_D_PRT = P/(R*T)
|
|---|
| 152 | END
|
|---|
| 153 |
|
|---|
| 154 | FUNCTION MixtPerf_Eo_DGPUVW(D,G,P,U,V,W)
|
|---|
| 155 | IMPLICIT NONE
|
|---|
| 156 | REAL D,G,P,U,V,W! INTENT(IN)
|
|---|
| 157 | REAL MixtPerf_Eo_DGPUVW
|
|---|
| 158 | MixtPerf_Eo_DGPUVW = P/(D*(G - 1.0)) + 0.5*(U*U + V*V + W*W)
|
|---|
| 159 | END
|
|---|
| 160 |
|
|---|
| 161 | FUNCTION MixtPerf_Eo_DGPVm(D,G,P,Vm)
|
|---|
| 162 | IMPLICIT NONE
|
|---|
| 163 | REAL D,G,P,Vm! INTENT(IN)
|
|---|
| 164 | REAL MixtPerf_Eo_DGPVm
|
|---|
| 165 | MixtPerf_Eo_DGPVm = P/(D*(G - 1.0)) + 0.5*Vm*Vm
|
|---|
| 166 | END
|
|---|
| 167 |
|
|---|
| 168 | FUNCTION MixtPerf_Eo_GRTUVW(G,R,T,U,V,W)
|
|---|
| 169 | IMPLICIT NONE
|
|---|
| 170 | REAL G,R,T,U,V,W
|
|---|
| 171 | REAL MixtPerf_Eo_GRTUVW
|
|---|
| 172 | MixtPerf_Eo_GRTUVW = R*T/(G - 1.0) + 0.5*(U*U + V*V + W*W)
|
|---|
| 173 | END
|
|---|
| 174 |
|
|---|
| 175 | FUNCTION MixtPerf_G_CpR(Cp,R)
|
|---|
| 176 | IMPLICIT NONE
|
|---|
| 177 | REAL Cp,R
|
|---|
| 178 | REAL MixtPerf_G_CpR
|
|---|
| 179 | MixtPerf_G_CpR = Cp/(Cp - R)
|
|---|
| 180 | END
|
|---|
| 181 |
|
|---|
| 182 | FUNCTION MixtPerf_Ho_CpTUVW(Cp,T,U,V,W)
|
|---|
| 183 | IMPLICIT NONE
|
|---|
| 184 | REAL Cp,T,U,V,W
|
|---|
| 185 | REAL MixtPerf_Ho_CpTUVW
|
|---|
| 186 | MixtPerf_Ho_CpTUVW = Cp*T + 0.5*(U*U + V*V + W*W)
|
|---|
| 187 | END
|
|---|
| 188 |
|
|---|
| 189 | FUNCTION MixtPerf_M_R(R)
|
|---|
| 190 | IMPLICIT NONE
|
|---|
| 191 | REAL R
|
|---|
| 192 | REAL MixtPerf_M_R
|
|---|
| 193 | MixtPerf_M_R = 8314.3/R
|
|---|
| 194 | END
|
|---|
| 195 |
|
|---|
| 196 | FUNCTION MixtPerf_P_DEoGVm2(D,Eo,G,Vm2)
|
|---|
| 197 | IMPLICIT NONE
|
|---|
| 198 | REAL D,Eo,G,Vm2
|
|---|
| 199 | REAL MixtPerf_P_DEoGVm2
|
|---|
| 200 | MixtPerf_P_DEoGVm2 = (G - 1.0)*D*(Eo - 0.5*Vm2)
|
|---|
| 201 | END
|
|---|
| 202 |
|
|---|
| 203 | FUNCTION MixtPerf_P_DRT(D,R,T)
|
|---|
| 204 | IMPLICIT NONE
|
|---|
| 205 | REAL D,R,T
|
|---|
| 206 | REAL MixtPerf_P_DRT
|
|---|
| 207 | MixtPerf_P_DRT = D*R*T
|
|---|
| 208 | END
|
|---|
| 209 |
|
|---|
| 210 | FUNCTION MixtPerf_P_GMaPo(G,Ma,Po)
|
|---|
| 211 | IMPLICIT NONE
|
|---|
| 212 | REAL G,Ma,Po
|
|---|
| 213 | REAL MixtPerf_P_GMaPo
|
|---|
| 214 | MixtPerf_P_GMaPo = Po/((1.0 + 0.5*(G - 1.0)*Ma*Ma)**(G/(G - 1.0)))
|
|---|
| 215 | END
|
|---|
| 216 |
|
|---|
| 217 | FUNCTION MixtPerf_P_DDoGPo(D,Do,G,Po)
|
|---|
| 218 | IMPLICIT NONE
|
|---|
| 219 | REAL D,Do,G,Po
|
|---|
| 220 | REAL MixtPerf_P_DDoGPo
|
|---|
| 221 | MixtPerf_P_DDoGPo = Po*(D/Do)**G
|
|---|
| 222 | END
|
|---|
| 223 |
|
|---|
| 224 | FUNCTION MixtPerf_P_GPoTTo(G,Po,T,To)
|
|---|
| 225 | IMPLICIT NONE
|
|---|
| 226 | REAL G,Po,T,To
|
|---|
| 227 | REAL MixtPerf_P_GPoTTo
|
|---|
| 228 | MixtPerf_P_GPoTTo = Po*(T/To)**(G/(G - 1.0))
|
|---|
| 229 | END
|
|---|
| 230 |
|
|---|
| 231 | FUNCTION MixtPerf_Po_GPTTo(G,P,T,To)
|
|---|
| 232 | IMPLICIT NONE
|
|---|
| 233 | REAL G,P,T,To
|
|---|
| 234 | REAL MixtPerf_Po_GPTTo
|
|---|
| 235 | MixtPerf_Po_GPTTo = P*(To/T)**(G/(G - 1.0))
|
|---|
| 236 | END
|
|---|
| 237 |
|
|---|
| 238 | FUNCTION MixtPerf_Po_CGPUVW(C,G,P,U,V,W)
|
|---|
| 239 | IMPLICIT NONE
|
|---|
| 240 | REAL C,G,P,U,V,W
|
|---|
| 241 | REAL MixtPerf_Po_CGPUVW
|
|---|
| 242 | MixtPerf_Po_CGPUVW =
|
|---|
| 243 | > P*(1.0 + 0.5*(G - 1.0)*(U*U+V*V+W*W)/(C*C))**(G/(G - 1.0))
|
|---|
| 244 | END
|
|---|
| 245 |
|
|---|
| 246 | FUNCTION MixtPerf_R_CpG(Cp,G)
|
|---|
| 247 | IMPLICIT NONE
|
|---|
| 248 | REAL Cp,G
|
|---|
| 249 | REAL MixtPerf_R_CpG
|
|---|
| 250 | MixtPerf_R_CpG = Cp - Cp/G
|
|---|
| 251 | END
|
|---|
| 252 |
|
|---|
| 253 | FUNCTION MixtPerf_R_M(M,whatev)
|
|---|
| 254 | IMPLICIT NONE
|
|---|
| 255 | REAL M,whatev
|
|---|
| 256 | REAL MixtPerf_R_M
|
|---|
| 257 | MixtPerf_R_M = 8314.3/M
|
|---|
| 258 | END
|
|---|
| 259 |
|
|---|
| 260 | FUNCTION MixtPerf_T_CGR(C,G,R)
|
|---|
| 261 | IMPLICIT NONE
|
|---|
| 262 | REAL C,G,R
|
|---|
| 263 | REAL MixtPerf_T_CGR
|
|---|
| 264 | MixtPerf_T_CGR = C*C/(G*R)
|
|---|
| 265 | END
|
|---|
| 266 |
|
|---|
| 267 | FUNCTION MixtPerf_T_CpHoVm2(Cp,Ho,Vm2)
|
|---|
| 268 | IMPLICIT NONE
|
|---|
| 269 | REAL Cp,Ho,Vm2
|
|---|
| 270 | REAL MixtPerf_T_CpHoVm2
|
|---|
| 271 | MixtPerf_T_CpHoVm2 = (Ho-0.5*Vm2)/Cp
|
|---|
| 272 | END
|
|---|
| 273 |
|
|---|
| 274 | FUNCTION MixtPerf_T_CvEoVm2(Cv,Eo,Vm2)
|
|---|
| 275 | IMPLICIT NONE
|
|---|
| 276 | REAL Cv,Eo,Vm2
|
|---|
| 277 | REAL MixtPerf_T_CvEoVm2
|
|---|
| 278 | MixtPerf_T_CvEoVm2 = (Eo-0.5*Vm2)/Cv
|
|---|
| 279 | END
|
|---|
| 280 |
|
|---|
| 281 | FUNCTION MixtPerf_T_DPR(D,P,R)
|
|---|
| 282 | IMPLICIT NONE
|
|---|
| 283 | REAL D,P,R
|
|---|
| 284 | REAL MixtPerf_T_DPR
|
|---|
| 285 | MixtPerf_T_DPR = P/(D*R)
|
|---|
| 286 | END
|
|---|
| 287 |
|
|---|
| 288 | FUNCTION MixtPerf_HM_T_DGMP(D,G,M,P)
|
|---|
| 289 | IMPLICIT NONE
|
|---|
| 290 | REAL D,G,M,P
|
|---|
| 291 | REAL MixtPerf_HM_T_DGMP
|
|---|
| 292 | MixtPerf_HM_T_DGMP = (G*M*M*P + 1.0)/D
|
|---|
| 293 | END
|
|---|
| 294 |
|
|---|
| 295 | FUNCTION MixtPerf_T_GMaTo(G,Ma,To)
|
|---|
| 296 | IMPLICIT NONE
|
|---|
| 297 | REAL G,Ma,To
|
|---|
| 298 | REAL MixtPerf_T_GMaTo
|
|---|
| 299 | MixtPerf_T_GMaTo = To/(1.0 + 0.5*(G - 1.0)*Ma*Ma)
|
|---|
| 300 | END
|
|---|
| 301 |
|
|---|
| 302 | FUNCTION MixtPerf_To_CpTUVW(Cp,T,U,V,W)
|
|---|
| 303 | IMPLICIT NONE
|
|---|
| 304 | REAL Cp,T,U,V,W
|
|---|
| 305 | REAL MixtPerf_To_CpTUVW
|
|---|
| 306 | MixtPerf_To_CpTUVW = T + 0.5*(U*U + V*V + W*W)/Cp
|
|---|
| 307 | END
|
|---|
| 308 |
|
|---|
| 309 | FUNCTION MixtPerf_Vm_C2Co2G(C2,Co2,G)
|
|---|
| 310 | IMPLICIT NONE
|
|---|
| 311 | REAL C2,Co2,G
|
|---|
| 312 | REAL MixtPerf_Vm_C2Co2G
|
|---|
| 313 | IF ( Co2 .gt. C2 ) THEN
|
|---|
| 314 | MixtPerf_Vm_C2Co2G = SQRT(2.0/(G - 1.0)*(Co2 - C2))
|
|---|
| 315 | ELSE
|
|---|
| 316 | MixtPerf_Vm_C2Co2G = 0.0
|
|---|
| 317 | END IF ! Co2
|
|---|
| 318 | END
|
|---|
| 319 |
|
|---|
| 320 | ! JH060614 stitched bloodily into cmt-nek. Before that,
|
|---|
| 321 | !******************************************************************************
|
|---|
| 322 | !
|
|---|
| 323 | ! RCS Revision history:
|
|---|
| 324 | !
|
|---|
| 325 | ! $Log: MixtPerf.f,v $
|
|---|
| 326 | ! Revision 1.5 2015/07/17 15:58:14 mrugeshs
|
|---|
| 327 | ! - MS making the code fortran 77 compatible -- not there yet. regression
|
|---|
| 328 | ! testing going on
|
|---|
| 329 | !
|
|---|
| 330 | ! Revision 1.4 2015/07/17 15:21:36 jhackl
|
|---|
| 331 | ! JH071715 more fortran 77 goodness
|
|---|
| 332 | !
|
|---|
| 333 | ! Revision 1.3 2015/03/03 21:09:25 jhackl
|
|---|
| 334 | ! compiles gfortran 4.8.2
|
|---|
| 335 | !
|
|---|
| 336 | ! Revision 1.2 2015/02/27 22:13:27 mrugeshs
|
|---|
| 337 | ! - MS022715 - Added function to compute Cp when Cv and R are known
|
|---|
| 338 | !
|
|---|
| 339 | ! Revision 1.1 2014/06/30 16:42:11 mrugeshs
|
|---|
| 340 | ! - Add CMT souce code
|
|---|
| 341 | !
|
|---|
| 342 | ! Revision 1.1.1.1 2014/05/05 21:47:47 tmish
|
|---|
| 343 | ! Initial checkin for rocflu macro.
|
|---|
| 344 | !
|
|---|
| 345 | ! Revision 1.3 2008/12/06 08:43:31 mtcampbe
|
|---|
| 346 | ! Updated license.
|
|---|
| 347 | !
|
|---|
| 348 | ! Revision 1.2 2008/11/19 22:16:47 mtcampbe
|
|---|
| 349 | ! Added Illinois Open Source License/Copyright
|
|---|
| 350 | !
|
|---|
| 351 | ! Revision 1.1 2007/04/09 18:48:32 haselbac
|
|---|
| 352 | ! Initial revision after split from RocfloMP
|
|---|
| 353 | !
|
|---|
| 354 | ! Revision 1.1 2007/04/09 17:59:25 haselbac
|
|---|
| 355 | ! Initial revision after split from RocfloMP
|
|---|
| 356 | !
|
|---|
| 357 | ! Revision 1.1 2004/12/01 16:48:47 haselbac
|
|---|
| 358 | ! Initial revision after changing case
|
|---|
| 359 | !
|
|---|
| 360 | ! Revision 1.2 2002/05/28 13:44:44 haselbac
|
|---|
| 361 | ! Added new functions
|
|---|
| 362 | !
|
|---|
| 363 | ! Revision 1.1 2002/05/04 16:16:52 haselbac
|
|---|
| 364 | ! Initial revision
|
|---|
| 365 | !
|
|---|
| 366 | !******************************************************************************
|
|---|
| 367 | !NTN-----------JWL
|
|---|
| 368 | FUNCTION MixtJWL_SO(DE,EN,pres,AA,BB,R1,R2,MW,MA,MB,OM,rho0)
|
|---|
| 369 | IMPLICIT NONE
|
|---|
| 370 | REAL DE,EN,pres,AA,BB,R1,R2,MW,MA,MB,OM,rho0
|
|---|
| 371 | REAL MixtJWL_SO
|
|---|
| 372 | MixtJWL_SO =SQRT((AA*(R1*(rho0/DE)/DE-OM/DE-OM/(R1*rho0)-
|
|---|
| 373 | > MW/(R1*rho0/DE))+
|
|---|
| 374 | > MA*pres/(DE*DE)*(1.-OM/(R1*rho0/DE)))*exp(-R1*rho0/DE)+
|
|---|
| 375 | > (BB*(R2*(rho0/DE)/DE-OM/DE-OM/(R2*rho0)-MW/(R2*rho0/DE))+
|
|---|
| 376 | > MB*pres/(DE*DE)*(1.-OM/(R2*rho0/DE)))*exp(-R2*rho0/DE)+
|
|---|
| 377 | > OM*(EN+pres/DE)+MW*DE*EN)
|
|---|
| 378 | END
|
|---|
| 379 |
|
|---|
| 380 | FUNCTION MixtJWL_PR(DE,EN,AA,BB,R1,R2,OM,rho0)
|
|---|
| 381 | IMPLICIT NONE
|
|---|
| 382 | REAL DE,EN,AA,BB,R1,R2,OM,rho0
|
|---|
| 383 | REAL MixtJWL_PR
|
|---|
| 384 | MixtJWL_PR =AA*(1.-(OM*DE)/(R1*rho0))*exp(-R1*rho0/DE)+
|
|---|
| 385 | > BB*(1.-(OM*DE)/(R2*rho0))*exp(-R2*rho0/DE)+OM*DE*EN
|
|---|
| 386 | END
|
|---|
| 387 |
|
|---|
| 388 | FUNCTION MixtJWL_TE(cv,DE,EN,AA,BB,R1,R2,rho0)
|
|---|
| 389 | IMPLICIT NONE
|
|---|
| 390 | REAL cv,DE,EN,AA,R1,R2,rho0,BB
|
|---|
| 391 | REAL MixtJWL_TE
|
|---|
| 392 | MixtJWL_TE = 1./cv*(EN-AA/(R1*rho0)*exp(-R1*rho0/DE)-
|
|---|
| 393 | > BB/(R2*rho0)*exp(-R2*rho0/DE))
|
|---|
| 394 | END
|
|---|
| 395 | !Temperature as a function of pressure and density
|
|---|
| 396 | ! FUNCTION MixtJWL_TE(cv,DE,pres,AA,BB,R1,R2,rho0,OM)
|
|---|
| 397 | ! IMPLICIT NONE
|
|---|
| 398 | ! REAL cv,DE,pres,AA,BB,R1,R2,rho0,OM
|
|---|
| 399 | ! REAL MixtJWL_TE
|
|---|
| 400 | ! MixtJWL_TE=1./OM/cv/DE*(pres-AA*exp(-R1*rho0/DE)-
|
|---|
| 401 | ! > BB*exp(-R2*rho0/DE))
|
|---|
| 402 | ! END
|
|---|
| 403 | FUNCTION MixtJWL_I_ENE(DE,PRES,AA,BB,R1,R2,rho0,OM)
|
|---|
| 404 | IMPLICIT NONE
|
|---|
| 405 | REAL DE,PRES,AA,BB,R1,R2,rho0,OM
|
|---|
| 406 | REAL MixtJWL_I_ENE
|
|---|
| 407 | MixtJWL_I_ENE =(pres-(AA*(1.-OM/(R1*rho0/DE))
|
|---|
| 408 | > *exp(-R1*rho0/DE)+BB*(1.-OM/(R2*rho0/DE))
|
|---|
| 409 | > *exp(-R2*rho0/DE)))/(OM*DE)
|
|---|
| 410 | END
|
|---|