source: issm/trunk/src/m/materials/nye.m@ 24313

Last change on this file since 24313 was 24313, checked in by Mathieu Morlighem, 5 years ago

merged trunk-jpl and trunk for revision 24310

File size: 1.6 KB
Line 
1function rigidity = nye(temperature,ice_type)
2%NYE - Nye viscosity coefficient
3%
4% Compute rigidity of ice (either CO2 or H2O) for a given temperature
5% rigidity (in s^(1/n)Pa) is the flow law parameter in the flow law
6% sigma=B*e(1/n) (Nye, p2000). temperature is in Kelvin degrees
7%
8% Usage:
9% rigidity=nye(temperature,ice_type) % ice_type = 1: CO2 ice // ice_type = 2: H2O ice
10
11 % Beyond-melting-point cases
12 warning OFF BACKTRACE
13 if (ice_type==1)
14 if (any(temperature>200&temperature<220))
15 warning('CO2 ICE - POSSIBLE MELTING. Some temperature values are between 200K and 220K.\nLook at indexes: %s', mat2str(find(temperature>200 & temperature<220))');
16 end
17 if (any(temperature>=220))
18 warning('CO2 ICE - GUARANTEED MELTING. Some temperature values are beyond 220K.\nLook at indexes: %s', mat2str(find(temperature>=220))');
19 end
20 elseif ((ice_type==2)&&(any(temperature>273.15)))
21 warning('H2O ICE - GUARANTEED MELTING. Some temperature values are beyond 273.15K.\nLook at indexes: %s', mat2str(find(temperature>273.15))');
22 end
23
24 % Coefficients
25 Rg=8.3144598; % J mol^-1 K^-1
26
27 if(ice_type==1) % CO2 ice
28 A_const = 10^(10.8); % s^-1 MPa
29 Q = 63000; % J mol^-1
30 n = 7; % Glen's exponent
31 elseif(ice_type==2) % H2O ice
32 A_const = 9e4; % s^-1 MPa
33 Q = 60000; % J mol^-1
34 n = 3; % Glen's exponent
35 else
36 error('Ice type not supported');
37 end
38
39 % Arrhenius Law
40 A=A_const*exp(-Q./(temperature*Rg)); % s^-1 MPa
41 rigidity=A.^(-1/n)*1e6; % s^(1/n) Pa
42
43end
Note: See TracBrowser for help on using the repository browser.