[22755] | 1 | Index: ../trunk-jpl/test/NightlyRun/test2084.m
|
---|
| 2 | ===================================================================
|
---|
| 3 | --- ../trunk-jpl/test/NightlyRun/test2084.m (nonexistent)
|
---|
| 4 | +++ ../trunk-jpl/test/NightlyRun/test2084.m (revision 22060)
|
---|
| 5 | @@ -0,0 +1,162 @@
|
---|
| 6 | +
|
---|
| 7 | +%Test Name: GiaCaron.
|
---|
| 8 | +%Forward Love number solution for a viscoelastic earth, model M3-L70-V01 from Spada, G., Barletta, V. R., Klemann, V., Riva, R. E. M., Martinec, Z., Gasperini, P., Lund, B., Wolf, D., Vermeersen, L. L. A. and King, M. A. (2011), A benchmark study for glacial isostatic adjustment codes. Geophysical Journal International, 185: 106–132. doi:10.1111/j.1365-246X.2011.04952.x
|
---|
| 9 | +
|
---|
| 10 | +md=model();
|
---|
| 11 | +md.cluster=generic('name',oshostname(),'np',1);
|
---|
| 12 | +
|
---|
| 13 | +md.materials=materials('litho');
|
---|
| 14 | +md.miscellaneous.name='FourierLoveTest';
|
---|
| 15 | +
|
---|
| 16 | +md.verbose=verbose('111111101');
|
---|
| 17 | +cst=365.25*24*3600*1000;
|
---|
| 18 | +
|
---|
| 19 | + md.materials.numlayers=6;
|
---|
| 20 | + md.materials.radius = [10 1222.5 3.4800e+03 5.7010e+03 5.9510e+03 6.3010e+03 6.3710e+03]'*1e3;
|
---|
| 21 | + md.materials.density= [1.0750e4 1.0750e+04 4.9780e+03 3.8710e+03 3.4380e+03 3.0370e+03]';
|
---|
| 22 | + md.materials.lame_mu= [1e-5 0 2.2834e+00 1.0549e+00 7.0363e-01 5.0605e-01]'*1e11;
|
---|
| 23 | + md.materials.viscosity=[0 0 2.0000e+00 1.0000e+00 1.0000e+00 1.0000e+25]'*1e21;
|
---|
| 24 | + md.materials.lame_lambda=md.materials.lame_mu*0+5e14;
|
---|
| 25 | + md.materials.issolid=[1 0 1 1 1 1]';
|
---|
| 26 | + md.materials.isburgers=zeros(md.materials.numlayers,1);
|
---|
| 27 | +
|
---|
| 28 | +md.love.allow_layer_deletion=1;
|
---|
| 29 | +md.love.frequencies=([0]*2*pi)'/cst;
|
---|
| 30 | +md.love.nfreq=length(md.love.frequencies);
|
---|
| 31 | +md.love.sh_nmax=256;
|
---|
| 32 | +
|
---|
| 33 | +md.materials.burgers_mu=md.materials.lame_mu;
|
---|
| 34 | +md.materials.burgers_viscosity=md.materials.viscosity;
|
---|
| 35 | +
|
---|
| 36 | +md=solve(md,'lv');
|
---|
| 37 | +
|
---|
| 38 | +
|
---|
| 39 | +
|
---|
| 40 | +%Fields and tolerances to track changes
|
---|
| 41 | +%loading love numbers
|
---|
| 42 | +field_names ={'LoveH_loading_elastic','LoveK_loading_elastic','LoveL_loading_elastic'};
|
---|
| 43 | +field_tolerances={1e-13,1e-13,1e-13};
|
---|
| 44 | +field_values={...
|
---|
| 45 | + (md.results.LoveSolution.LoveHr(:,1)),...
|
---|
| 46 | + (md.results.LoveSolution.LoveKr(:,1)),...
|
---|
| 47 | + (md.results.LoveSolution.LoveLr(:,1)),...
|
---|
| 48 | + };
|
---|
| 49 | +
|
---|
| 50 | +
|
---|
| 51 | +md.love.frequencies=([1e-3 1e-2 1e-1 1 -1e-3 -1e-2 -1e-1 -1]*2*pi)'/cst;
|
---|
| 52 | +md.love.nfreq=length(md.love.frequencies);
|
---|
| 53 | +md.love.sh_nmax=256;
|
---|
| 54 | +md.materials.burgers_mu=md.materials.lame_mu;
|
---|
| 55 | +md.materials.burgers_viscosity=md.materials.viscosity;
|
---|
| 56 | +
|
---|
| 57 | +md=solve(md,'lv');
|
---|
| 58 | +%Fields and tolerances to track changes
|
---|
| 59 | +%loading love numbers
|
---|
| 60 | +field_names ={field_names{:},'LoveH_loading_realpart','LoveK_loading_realpart','LoveL_loading_realpart','LoveH_loading_imagpart','LoveK_loading_imagpart','LoveL_loading_imagpart'};
|
---|
| 61 | +field_tolerances={field_tolerances{:},1e-13,1e-13,1e-13,1e-13,1e-13,1e-13};
|
---|
| 62 | +field_values={field_values{:},...
|
---|
| 63 | + (md.results.LoveSolution.LoveHr(:,:)),...
|
---|
| 64 | + (md.results.LoveSolution.LoveKr(:,:)),...
|
---|
| 65 | + (md.results.LoveSolution.LoveLr(:,:)),...
|
---|
| 66 | + (md.results.LoveSolution.LoveHi(:,:)),...
|
---|
| 67 | + (md.results.LoveSolution.LoveKi(:,:)),...
|
---|
| 68 | + (md.results.LoveSolution.LoveLi(:,:)),...
|
---|
| 69 | + };
|
---|
| 70 | +
|
---|
| 71 | +
|
---|
| 72 | +return
|
---|
| 73 | +md.love.forcing_type=9;
|
---|
| 74 | +md.love.sh_nmin=2
|
---|
| 75 | +md.love.frequencies=([0 1e-4 1e-3 1e-2 1e-1 1 -1e-4 -1e-3 -1e-2 -1e-1 -1]*2*pi)'/cst;
|
---|
| 76 | +md.love.nfreq=length(md.love.frequencies);
|
---|
| 77 | +md=solve(md,'lv');
|
---|
| 78 | +%tidal love numbers
|
---|
| 79 | +field_names ={field_names{:},'LoveH_tidal_elastic','LoveK_tidal_elastic','LoveL_tidal_elastic','LoveH_tidal_realpart','LoveK_tidal_realpart','LoveL_tidal_realpart','LoveH_tidal_imagpart','LoveK_tidal_imagpart','LoveL_tidal_imagpart'};
|
---|
| 80 | +field_tolerances={field_tolerances{:},1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13};
|
---|
| 81 | +field_values={field_values{:},...
|
---|
| 82 | + (md.results.LoveSolution.LoveHr(:,1)),...
|
---|
| 83 | + (md.results.LoveSolution.LoveKr(:,1)),...
|
---|
| 84 | + (md.results.LoveSolution.LoveLr(:,1)),...
|
---|
| 85 | + (md.results.LoveSolution.LoveHr(:,2:end)),...
|
---|
| 86 | + (md.results.LoveSolution.LoveKr(:,2:end)),...
|
---|
| 87 | + (md.results.LoveSolution.LoveLr(:,2:end)),...
|
---|
| 88 | + (md.results.LoveSolution.LoveHi(:,2:end)),...
|
---|
| 89 | + (md.results.LoveSolution.LoveKi(:,2:end)),...
|
---|
| 90 | + (md.results.LoveSolution.LoveLi(:,2:end)),...
|
---|
| 91 | + };
|
---|
| 92 | +
|
---|
| 93 | +
|
---|
| 94 | +
|
---|
| 95 | + %Many layers PREM-based model
|
---|
| 96 | +%data=load('../Data/PREM_500layers');
|
---|
| 97 | +%md.love.sh_nmin=1;
|
---|
| 98 | +%md.materials.radius=data(2:end-2,1);
|
---|
| 99 | +%md.materials.density=data(3:end-2,2);
|
---|
| 100 | +%md.materials.lame_lambda=data(3:end-2,3);
|
---|
| 101 | +%md.materials.lame_mu=data(3:end-2,4);
|
---|
| 102 | +%md.materials.issolid=data(3:end-2,4)>0;
|
---|
| 103 | +%ind=find(md.materials.issolid==0);
|
---|
| 104 | +%md.materials.density(ind(1))=sum((md.materials.radius(ind+1).^3-md.materials.radius(ind).^3).*md.materials.density(ind))/(md.materials.radius(ind(end)+1).^3-md.materials.radius(ind(1)+1).^3);
|
---|
| 105 | +%md.materials.lame_lambda(ind(1))=sum((md.materials.radius(ind+1).^3-md.materials.radius(ind).^3).*md.materials.lame_lambda(ind))/(md.materials.radius(ind(end)+1).^3-md.materials.radius(ind(1)+1).^3);
|
---|
| 106 | +%md.materials.lame_mu(ind(1))=sum((md.materials.radius(ind+1).^3-md.materials.radius(ind).^3).*md.materials.lame_mu(ind))/(md.materials.radius(ind(end)+1).^3-md.materials.radius(ind(1)).^3);
|
---|
| 107 | +%md.materials.radius(ind(2:end)+1)=[];
|
---|
| 108 | +%md.materials.density(ind(2:end))=[];
|
---|
| 109 | +%md.materials.lame_lambda(ind(2:end))=[];
|
---|
| 110 | +%md.materials.lame_mu(ind(2:end))=[];
|
---|
| 111 | +%md.materials.issolid(ind(2:end))=[];
|
---|
| 112 | +%md.materials.viscosity=10.^interp1([0 3479e3 3480e3 3680e3 5720e3 5800e3 6270e3 6371e3], log10([1e8 1e8 5e21 1e23 1e22 1e20 1e21 1e40]), md.materials.radius(2:end),'PCHIP');
|
---|
| 113 | +%md.materials.viscosity=md.materials.viscosity.*md.materials.issolid;
|
---|
| 114 | +%md.materials.burgers_mu=md.materials.lame_mu;
|
---|
| 115 | +%md.materials.burgers_viscosity=md.materials.viscosity;
|
---|
| 116 | +%md.materials.isburgers=md.materials.issolid*0;
|
---|
| 117 | +%md.love.forcing_type=11;
|
---|
| 118 | +%md.materials.numlayers=length(md.materials.viscosity);
|
---|
| 119 | +%md=solve(md,'lv');
|
---|
| 120 | +%
|
---|
| 121 | +%field_names ={field_names{:},'LoveH_loadingVSS96_elastic','LoveK_loadingVSS96_elastic','LoveL_loadingVSS96_elastic','LoveH_loadingVSS96_realpart','LoveK_loadingVSS96_realpart','LoveL_loadingVSS96_realpart','LoveH_loadingVSS96_imagpart','LoveK_loadingVSS96_imagpart','LoveL_loadingVSS96_imagpart'};
|
---|
| 122 | +%field_tolerances={field_tolerances{:},1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13};
|
---|
| 123 | +%field_values={field_values{:},...
|
---|
| 124 | +% (md.results.LoveSolution.LoveHr(:,1)),...
|
---|
| 125 | +% (md.results.LoveSolution.LoveKr(:,1)),...
|
---|
| 126 | +% (md.results.LoveSolution.LoveLr(:,1)),...
|
---|
| 127 | +% (md.results.LoveSolution.LoveHr(:,2:end)),...
|
---|
| 128 | +% (md.results.LoveSolution.LoveKr(:,2:end)),...
|
---|
| 129 | +% (md.results.LoveSolution.LoveLr(:,2:end)),...
|
---|
| 130 | +% (md.results.LoveSolution.LoveHi(:,2:end)),...
|
---|
| 131 | +% (md.results.LoveSolution.LoveKi(:,2:end)),...
|
---|
| 132 | +% (md.results.LoveSolution.LoveLi(:,2:end)),...
|
---|
| 133 | +% };
|
---|
| 134 | +
|
---|
| 135 | +
|
---|
| 136 | +%Model VSS96 from Vermeersen, L.L.A., Sabadini, R. & Spada, G., 1996a. Analytical visco-elastic relaxation models, Geophys. Res. Lett., 23, 697–700.
|
---|
| 137 | +md.materials.radius=[10, 1222.5, 3480., 3600., 3630.5, 3700., 3900., 4000., 4200., 4300., 4500., 4600., 4800., 4900., 5100., 5200., 5400., 5500., 5600.5, 5650., 5701., 5736., 5771.5, 5821., 5951., 5970.5, 6016., 6061., 6150.5, 6151.5, 6251., 6371.]'*1e3;
|
---|
| 138 | +md.materials.lame_mu=[1e-5, 0., 2.933, 2.8990002, 2.8550003, 2.7340002, 2.675, 2.559, 2.502, 2.388, 2.331, 2.215, 2.157, 2.039, 1.979, 1.8560001, 1.794, 1.73, 1.639, 1.2390001, 1.224, 1.21, 1.128, 0.97700006, 0.906, 0.79, 0.773, 0.741, 0.656, 0.665, 0.602]'*1e11;
|
---|
| 139 | +md.materials.density=[10925., 10925., 5506.42, 5491.45, 5456.57, 5357.06, 5307.24, 5207.13, 5156.69, 5054.69, 5002.99, 4897.83, 4844.22, 4734.6, 4678.44, 4563.07, 4503.72, 4443.16, 4412.41, 3992.14, 3983.99, 3975.84, 3912.82, 3786.78, 3723.78, 3516.39, 3489.51, 3435.78, 3359.5, 3367.1, 3184.3]';
|
---|
| 140 | +md.materials.viscosity=[0., 0., 8E+21, 8.5E+21, 9E+21, 3.E+22, 4.E+22, 5.E+22, 6.E+22, 5.E+22, 4.5E+22, 3.E+22, 2.5E+22, 1.8E+22, 1.3E+22, 8E+21, 7+21, 6.5E+21, 6.E+21, 5.5E+21, 5.E+21, 4.5E+21, 4E+21, 2.5E+21, 2.E+21, 1.5E+21, 10.E+20, 6.E+20, 5.5E+20, 2.E+20, 1.E40]';
|
---|
| 141 | +md.materials.lame_lambda=md.materials.lame_mu*0+5e14;
|
---|
| 142 | +md.materials.issolid=md.materials.lame_mu>0;
|
---|
| 143 | +md.materials.numlayers=length(md.materials.lame_mu);
|
---|
| 144 | +md.materials.burgers_mu=md.materials.lame_mu;
|
---|
| 145 | +md.materials.burgers_viscosity=md.materials.viscosity;
|
---|
| 146 | +md.materials.isburgers=md.materials.issolid*0;
|
---|
| 147 | +md.love.forcing_type=11;
|
---|
| 148 | +md.love.sh_nmin=1;
|
---|
| 149 | +md.love.sh_nmax=100;
|
---|
| 150 | +md=solve(md,'lv');
|
---|
| 151 | +md.love.frequencies=([0 1e-4 1e-2 1 -1e-4 -1e-2 -1]*2*pi)'/cst;
|
---|
| 152 | +md.love.nfreq=length(md.love.frequencies);
|
---|
| 153 | +
|
---|
| 154 | +
|
---|
| 155 | +field_names ={field_names{:},'LoveH_loadingVSS96_elastic','LoveK_loadingVSS96_elastic','LoveL_loadingVSS96_elastic','LoveH_loadingVSS96_realpart','LoveK_loadingVSS96_realpart','LoveL_loadingVSS96_realpart','LoveH_loadingVSS96_imagpart','LoveK_loadingVSS96_imagpart','LoveL_loadingVSS96_imagpart'};
|
---|
| 156 | +field_tolerances={field_tolerances{:},1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13};
|
---|
| 157 | +field_values={field_values{:},...
|
---|
| 158 | + (md.results.LoveSolution.LoveHr(:,1)),...
|
---|
| 159 | + (md.results.LoveSolution.LoveKr(:,1)),...
|
---|
| 160 | + (md.results.LoveSolution.LoveLr(:,1)),...
|
---|
| 161 | + (md.results.LoveSolution.LoveHr(:,2:end)),...
|
---|
| 162 | + (md.results.LoveSolution.LoveKr(:,2:end)),...
|
---|
| 163 | + (md.results.LoveSolution.LoveLr(:,2:end)),...
|
---|
| 164 | + (md.results.LoveSolution.LoveHi(:,2:end)),...
|
---|
| 165 | + (md.results.LoveSolution.LoveKi(:,2:end)),...
|
---|
| 166 | + (md.results.LoveSolution.LoveLi(:,2:end)),...
|
---|
| 167 | + };
|
---|
| 168 | Index: ../trunk-jpl/test/NightlyRun/test2084.py
|
---|
| 169 | ===================================================================
|
---|
| 170 | --- ../trunk-jpl/test/NightlyRun/test2084.py (nonexistent)
|
---|
| 171 | +++ ../trunk-jpl/test/NightlyRun/test2084.py (revision 22060)
|
---|
| 172 | @@ -0,0 +1,152 @@
|
---|
| 173 | +
|
---|
| 174 | +#Test Name: GiaCaron. Forward Love number solution for a viscoelastic earth, model M3-L70-V01 from Spada, G., Barletta, V. R., Klemann, V., Riva, R. E. M., Martinec, Z., Gasperini, P., Lund, B., Wolf, D., Vermeersen, L. L. A. and King, M. A. (2011), A benchmark study for glacial isostatic adjustment codes. Geophysical Journal International, 185: 106–132. doi:10.1111/j.1365-246X.2011.04952.x
|
---|
| 175 | +from model import *
|
---|
| 176 | +from socket import gethostname
|
---|
| 177 | +from solve import *
|
---|
| 178 | +from numpy import *
|
---|
| 179 | +md=model()
|
---|
| 180 | +md.cluster=generic('name',oshostname(),'np',1)
|
---|
| 181 | +md.materials=materials('litho')
|
---|
| 182 | +md.miscellaneous.name='FourierLoveTest'
|
---|
| 183 | +md.verbose=verbose('111111101')
|
---|
| 184 | +cst=365.25*24*3600*1000
|
---|
| 185 | +md.materials.numlayers=6
|
---|
| 186 | +md.materials.radius =[10, 1222.5, 3.4800e+03,5.7010e+03,5.9510e+03,6.3010e+03,6.3710e+03]*1e3
|
---|
| 187 | +md.materials.density=[1.0750e4, 1.0750e+04,4.9780e+03,3.8710e+03,3.4380e+03,3.0370e+03]
|
---|
| 188 | +md.materials.lame_mu=[1e-5,0,2.2834e+00,1.0549e+00,7.0363e-01,5.0605e-01]*1e11
|
---|
| 189 | +md.materials.viscosity=[0,0,2.0000e+00,1.0000e+00,1.0000e+00,1.0000e+25]*1e21
|
---|
| 190 | +md.materials.lame_lambda=md.materials.lame_mu*0+5e14
|
---|
| 191 | +md.materials.issolid=[1, 0, 1, 1, 1, 1]
|
---|
| 192 | +md.materials.isburgers=zeros(md.materials.numlayers,1)
|
---|
| 193 | +md.love.allow_layer_deletion=1
|
---|
| 194 | +
|
---|
| 195 | +md.love.frequencies=([0]*2*pi)/cst
|
---|
| 196 | +md.love.nfreq=len(md.love.frequencies)
|
---|
| 197 | +md.love.sh_nmax=256
|
---|
| 198 | +md.materials.burgers_mu=md.materials.lame_mu
|
---|
| 199 | +md.materials.burgers_viscosity=md.materials.viscosity
|
---|
| 200 | +md=solve(md,'lv')
|
---|
| 201 | +#Fields and tolerances to track changes
|
---|
| 202 | +#loading love numbers
|
---|
| 203 | +field_names=['LoveHe','LoveKe','LoveLe']
|
---|
| 204 | +field_tolerances=[1e-13,1e-13,1e-13]
|
---|
| 205 | +field_values=[\
|
---|
| 206 | +(md.results.LoveSolution.LoveHr[:][0]),\
|
---|
| 207 | +(md.results.LoveSolution.LoveKr[:][0]),\
|
---|
| 208 | +(md.results.LoveSolution.LoveLr[:][0]),\
|
---|
| 209 | +]
|
---|
| 210 | +
|
---|
| 211 | +
|
---|
| 212 | +md.love.frequencies=([1e-3, 1e-2, 1e-1, 1, -1e-3, -1e-2, -1e-1, -1]*2*pi)/cst
|
---|
| 213 | +md.love.nfreq=len(md.love.frequencies)
|
---|
| 214 | +md.love.sh_nmax=256
|
---|
| 215 | +md.materials.burgers_mu=md.materials.lame_mu
|
---|
| 216 | +md.materials.burgers_viscosity=md.materials.viscosity
|
---|
| 217 | +md=solve(md,'lv')
|
---|
| 218 | +#Fields and tolerances to track changes
|
---|
| 219 | +#loading love numbers
|
---|
| 220 | +field_names=concatenate([field_names,['LoveHlr','LoveKlr','LoveLlr','LoveHli','LoveKli','LoveLli']])
|
---|
| 221 | +field_tolerances=concatenate([field_tolerances,[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13]])
|
---|
| 222 | +field_values=concatenate([field_values,[\
|
---|
| 223 | +(md.results.LoveSolution.LoveHr[:][:]),\
|
---|
| 224 | +(md.results.LoveSolution.LoveKr[:][:]),\
|
---|
| 225 | +(md.results.LoveSolution.LoveLr[:][:])),\
|
---|
| 226 | +(md.results.LoveSolution.LoveHi[:][:]),\
|
---|
| 227 | +(md.results.LoveSolution.LoveKi[:][:]),\
|
---|
| 228 | +(md.results.LoveSolution.LoveLi[:][:]),\
|
---|
| 229 | +]])
|
---|
| 230 | +
|
---|
| 231 | +
|
---|
| 232 | +
|
---|
| 233 | +md.love.forcing_type=9
|
---|
| 234 | +md.love.sh_nmin=2
|
---|
| 235 | +md.love.frequencies=([0, 1e-4, 1e-3, 1e-2, 1e-1, 1, -1e-4, -1e-3, -1e-2, -1e-1, -1]*2*pi)/cst
|
---|
| 236 | +md.love.nfreq=len(md.love.frequencies)
|
---|
| 237 | +md=solve(md,'lv')
|
---|
| 238 | +#tidal love numbers
|
---|
| 239 | +field_names=concatenate([field_names,['LoveHtr','LoveKtr','LoveLtr','LoveHti','LoveKti','LoveLti']])
|
---|
| 240 | +field_tolerances=concatenate([field_tolerances,[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13]])
|
---|
| 241 | +field_values=concatenate([field_values,[\
|
---|
| 242 | +(md.results.LoveSolution.LoveHr[:][0]),\
|
---|
| 243 | +(md.results.LoveSolution.LoveKr[:][0]),\
|
---|
| 244 | +(md.results.LoveSolution.LoveLr[:][0]),\
|
---|
| 245 | +(md.results.LoveSolution.LoveHr[:][1:]),\
|
---|
| 246 | +(md.results.LoveSolution.LoveKr[:][1:]),\
|
---|
| 247 | +(md.results.LoveSolution.LoveLr[:][1:]),\
|
---|
| 248 | +(md.results.LoveSolution.LoveHi[:][1:]),\
|
---|
| 249 | +(md.results.LoveSolution.LoveKi[:][1:]),\
|
---|
| 250 | +(md.results.LoveSolution.LoveLi[:][1:]),\
|
---|
| 251 | +]])
|
---|
| 252 | +
|
---|
| 253 | +
|
---|
| 254 | +
|
---|
| 255 | +#Many layers PREM-based model
|
---|
| 256 | +#data=load('../Data/PREM_500layers')
|
---|
| 257 | +#md.love.sh_nmin=1
|
---|
| 258 | +#md.materials.radius=data(2:end-2,1)
|
---|
| 259 | +#md.materials.density=data(3:end-2,2)
|
---|
| 260 | +#md.materials.lame_lambda=data(3:end-2,3)
|
---|
| 261 | +#md.materials.lame_mu=data(3:end-2,4)
|
---|
| 262 | +#md.materials.issolid=data(3:end-2,4)>0
|
---|
| 263 | +#ind=find(md.materials.issolid==0)
|
---|
| 264 | +#md.materials.density(ind(1))=sum((md.materials.radius(ind+1).^3-md.materials.radius(ind).^3).*md.materials.density(ind))/(md.materials.radius(ind(end)+1).^3-md.materials.radius(ind(1)+1).^3)
|
---|
| 265 | +#md.materials.lame_lambda(ind(1))=sum((md.materials.radius(ind+1).^3-md.materials.radius(ind).^3).*md.materials.lame_lambda(ind))/(md.materials.radius(ind(end)+1).^3-md.materials.radius(ind(1)+1).^3)
|
---|
| 266 | +#md.materials.lame_mu(ind(1))=sum((md.materials.radius(ind+1).^3-md.materials.radius(ind).^3).*md.materials.lame_mu(ind))/(md.materials.radius(ind(end)+1).^3-md.materials.radius(ind(1)).^3)
|
---|
| 267 | +#md.materials.radius(ind(2:end)+1)=[]
|
---|
| 268 | +#md.materials.density(ind(2:end))=[]
|
---|
| 269 | +#md.materials.lame_lambda(ind(2:end))=[]
|
---|
| 270 | +#md.materials.lame_mu(ind(2:end))=[]
|
---|
| 271 | +#md.materials.issolid(ind(2:end))=[]
|
---|
| 272 | +#md.materials.viscosity=10.^interp1([0 3479e3 3480e3 3680e3 5720e3 5800e3 6270e3 6371e3], log10([1e8 1e8 5e21 1e23 1e22 1e20 1e21 1e40]), md.materials.radius(2:end),'PCHIP')
|
---|
| 273 | +#md.materials.viscosity=md.materials.viscosity.*md.materials.issolid
|
---|
| 274 | +#md.materials.burgers_mu=md.materials.lame_mu
|
---|
| 275 | +#md.materials.burgers_viscosity=md.materials.viscosity
|
---|
| 276 | +#md.materials.isburgers=md.materials.issolid*0
|
---|
| 277 | +#md.love.forcing_type=11
|
---|
| 278 | +#md.materials.numlayers=len(md.materials.viscosity)
|
---|
| 279 | +#md=solve(md,'lv')
|
---|
| 280 | +#
|
---|
| 281 | +#field_names=[field_names,'LoveHmr','LoveKmr','LoveLmr','LoveHmi','LoveKmi','LoveLmi']
|
---|
| 282 | +#field_tolerances=[field_tolerances,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13]
|
---|
| 283 | +#field_values=[field_values,\
|
---|
| 284 | +# (md.results.LoveSolution.LoveHr[:][0]),\
|
---|
| 285 | +# (md.results.LoveSolution.LoveKr[:][0]),\
|
---|
| 286 | +# (md.results.LoveSolution.LoveLr[:][0]),\
|
---|
| 287 | +# (md.results.LoveSolution.LoveHr[:][1:]),\
|
---|
| 288 | +# (md.results.LoveSolution.LoveKr[:][1:]),\
|
---|
| 289 | +# (md.results.LoveSolution.LoveLr[:][1:]),\
|
---|
| 290 | +# (md.results.LoveSolution.LoveHi[:][1:]),\
|
---|
| 291 | +# (md.results.LoveSolution.LoveKi[:][1:]),\
|
---|
| 292 | +# (md.results.LoveSolution.LoveLi[:][1:]),\
|
---|
| 293 | +# ]
|
---|
| 294 | +#Model VSS96 from Vermeersen, L.L.A., Sabadini, R. & Spada, G., 1996a. Analytical visco-elastic relaxation models, Geophys. Res. Lett., 23, 697–700.
|
---|
| 295 | +md.materials.radius=[10, 1222.5, 3480., 3600., 3630.5, 3700., 3900., 4000., 4200., 4300., 4500., 4600., 4800., 4900., 5100., 5200., 5400., 5500., 5600.5, 5650., 5701., 5736., 5771.5, 5821., 5951., 5970.5, 6016., 6061., 6150.5, 6151.5, 6251., 6371.]*1e3
|
---|
| 296 | +md.materials.lame_mu=[1e-5, 0., 2.933, 2.8990002, 2.8550003, 2.7340002, 2.675, 2.559, 2.502, 2.388, 2.331, 2.215, 2.157, 2.039, 1.979, 1.8560001, 1.794, 1.73, 1.639, 1.2390001, 1.224, 1.21, 1.128, 0.97700006, 0.906, 0.79, 0.773, 0.741, 0.656, 0.665, 0.602]*1e11
|
---|
| 297 | +md.materials.density=[10925., 10925., 5506.42, 5491.45, 5456.57, 5357.06, 5307.24, 5207.13, 5156.69, 5054.69, 5002.99, 4897.83, 4844.22, 4734.6, 4678.44, 4563.07, 4503.72, 4443.16, 4412.41, 3992.14, 3983.99, 3975.84, 3912.82, 3786.78, 3723.78, 3516.39, 3489.51, 3435.78, 3359.5, 3367.1, 3184.3]
|
---|
| 298 | +md.materials.viscosity=[0., 0., 8E+21, 8.5E+21, 9E+21, 3.E+22, 4.E+22, 5E+22, 6.E+22, 5E+22, 4.5E+22, 3.E+22, 2.5E+22, 1.8E+22, 1.3E+22, 8E+21, 7E+21, 6.5E+21, 6.E+21, 5.5E+21, 5.E+21, 55E+21, 45E+21, 2.5E+21, 27E+21, 1.5E+21, 10E+20, 6.E+20, 5.5E+20, 2.E+20, 1.E40]
|
---|
| 299 | +md.materials.lame_lambda=md.materials.lame_mu*0+5e14
|
---|
| 300 | +md.materials.issolid=ones(len(md.materials.mu))
|
---|
| 301 | +md.materials.issolid[1]=0
|
---|
| 302 | +md.materials.numlayers=len(md.materials.lame_mu)
|
---|
| 303 | +md.materials.burgers_mu=md.materials.lame_mu
|
---|
| 304 | +md.materials.burgers_viscosity=md.materials.viscosity
|
---|
| 305 | +md.materials.isburgers=md.materials.issolid*0
|
---|
| 306 | +md.love.forcing_type=11
|
---|
| 307 | +md.love.sh_nmin=1
|
---|
| 308 | +md.love.sh_nmax=100
|
---|
| 309 | +md=solve(md,'lv')
|
---|
| 310 | +md.love.frequencies=([0, 1e-4, 1e-2, 1, -1e-4, -1e-2, -1]*2*pi)/cst
|
---|
| 311 | +md.love.nfreq=len(md.love.frequencies)
|
---|
| 312 | +field_names=concatenate([field_names,['LoveHmr','LoveKmr','LoveLmr','LoveHmi','LoveKmi','LoveLmi']])
|
---|
| 313 | +field_tolerances=concatenate([field_tolerances,[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13]])
|
---|
| 314 | +field_values=concatenate([field_values,[\
|
---|
| 315 | +(md.results.LoveSolution.LoveHr[:][0]),\
|
---|
| 316 | +(md.results.LoveSolution.LoveKr[:][0]),\
|
---|
| 317 | +(md.results.LoveSolution.LoveLr[:][0]),\
|
---|
| 318 | +(md.results.LoveSolution.LoveHr[:][1:]),\
|
---|
| 319 | +(md.results.LoveSolution.LoveKr[:][1:]),\
|
---|
| 320 | +(md.results.LoveSolution.LoveLr[:][1:]),\
|
---|
| 321 | +(md.results.LoveSolution.LoveHi[:][1:]),\
|
---|
| 322 | +(md.results.LoveSolution.LoveKi[:][1:]),\
|
---|
| 323 | +(md.results.LoveSolution.LoveLi[:][1:]),\
|
---|
| 324 | +]])
|
---|