source:
issm/oecreview/Archive/23390-24306/ISSM-24103-24104.diff@
24307
Last change on this file since 24307 was 24307, checked in by , 5 years ago | |
---|---|
File size: 1.9 KB |
-
../trunk-jpl/src/c/shared/Elements/NyeCO2.cpp
4 4 * where rigidigty (in s^(1/n)Pa) is the flow law paramter in the flow law sigma=B*e(1/n) (Nye, p2000). 5 5 */ 6 6 7 #include "../io/io.h" #include <math.h> #include "../Numerics/types.h" 7 #include "../io/io.h" 8 #include <math.h> 9 #include "../Numerics/types.h" 8 10 9 11 IssmDouble NyeCO2(IssmDouble temperature){ 10 12 11 13 /*Coefficients*/ 12 const IssmPDouble Rg = 8.3144598; /* J mol^-1 K^-1 */ const13 IssmPDouble A_const = pow(10.,10.8); /*s^-1 MPa */ const IssmPDouble14 Q = 63000.; /*J mol^-1 */ const IssmPDouble n =15 14 const IssmPDouble Rg = 8.3144598; /* J mol^-1 K^-1 */ 15 const IssmPDouble A_const = pow(10.,10.8); /*s^-1 MPa */ 16 const IssmPDouble Q = 63000.; /*J mol^-1 */ 17 const IssmPDouble n = 7.; /*Glen's exponent*/ 16 18 17 19 /*Arrhenius Law*/ 18 20 IssmDouble A = A_const *exp(-Q/(temperature*Rg)); /*s^-1 MPa */ … … 19 21 IssmDouble B = 1e6*pow(A,-1/n); /*s^(1/n) Pa */ 20 22 21 23 /*Beyond-melting-point cases*/ 22 if((temperature>200.)&&(temperature<220.)) printf("CO2 ICE - POSSIBLE 23 MELTING. Some temperature values are between 200K and 220K.\n"); 24 else if(temperature>=220.) _printf0_("CO2 ICE - GUARANTEED MELTING. Some 25 temperature values are beyond 220K.\n"); 24 if((temperature>200.)&&(temperature<220.)) _printf0_("CO2 ICE - POSSIBLE MELTING. Some temperature values are between 200K and 220K.\n"); 25 else if(temperature>=220.) _printf0_("CO2 ICE - GUARANTEED MELTING. Some temperature values are beyond 220K.\n"); 26 26 27 27 /*Return output*/ 28 28 return B;
Note:
See TracBrowser
for help on using the repository browser.