source:
issm/oecreview/Archive/20545-21336/ISSM-21263-21264.diff@
21337
Last change on this file since 21337 was 21337, checked in by , 8 years ago | |
---|---|
File size: 2.5 KB |
-
../trunk-jpl/test/NightlyRun/test2101.m
1 %Elastostatic adjustment for an elemental ice unloading 2 3 %mesh earth: 4 md=model; 5 md.mesh=gmshplanet('radius',6.371012*10^3,'resolution',1000); 6 7 % define load 8 md.esa.deltathickness=zeros(md.mesh.numberofelements,1); 9 pos=450; md.esa.deltathickness(pos)=-100; % this is the only "icy" element 10 11 %love numbers: 12 nlov=101; 13 md.esa.love_h = love_numbers('h'); md.esa.love_h(nlov+1:end)=[]; 14 md.esa.love_l = love_numbers('l'); md.esa.love_l(nlov+1:end)=[]; 15 16 %mask: {{{ 17 md.mask=maskpsl(); % use maskpsl class (instead of mask) to store the ocean function as a ocean_levelset 18 md.mask.ocean_levelset=gmtmask(md.mesh.lat,md.mesh.long); 19 20 %make sure wherever there is an ice load, that the mask is set to ice: 21 md.mask.ice_levelset=ones(md.mesh.numberofvertices,1); 22 pos=find(md.esa.deltathickness); md.mask.ice_levelset(md.mesh.elements(pos,:))=-1; 23 24 %is ice grounded? 25 md.mask.groundedice_levelset=-ones(md.mesh.numberofvertices,1); 26 pos=find(md.mask.ice_levelset<=0); md.mask.groundedice_levelset(pos)=1; 27 28 %make sure ice domain is on the continent: 29 %pos=find(md.mask.ice_levelset<=0); md.mask.ocean_levelset(pos)=0; 30 31 %land mask 32 md.mask.land_levelset=1-md.mask.ocean_levelset; 33 34 % }}} 35 %geometry: {{{ 36 di=md.materials.rho_ice/md.materials.rho_water; 37 md.geometry.thickness=ones(md.mesh.numberofvertices,1); 38 md.geometry.surface=(1-di)*zeros(md.mesh.numberofvertices,1); 39 md.geometry.base=md.geometry.surface-md.geometry.thickness; 40 md.geometry.bed=md.geometry.base; 41 % }}} 42 %materials: {{{ 43 md.initialization.temperature=273.25*ones(md.mesh.numberofvertices,1); 44 md.materials.rheology_B=paterson(md.initialization.temperature); 45 md.materials.rheology_n=3*ones(md.mesh.numberofelements,1); 46 % }}} 47 %Miscellaneous: {{{ 48 md.miscellaneous.name='test2101'; 49 % }}} 50 51 % solve esa 52 md.esa.requested_outputs = {'EsaUmotion','EsaNmotion','EsaEmotion'}; 53 md.cluster=generic('name',oshostname(),'np',4); 54 md.verbose=verbose('111111111'); 55 md=solve(md,'Esa'); 56 57 %Fields and tolerances to track changes 58 %field_names ={'EsaUmotion','EsaNmotion','EsaEmotion'}; 59 field_tolerances={1e-13,1e-13,1e-13}; 60 field_values={... 61 (md.results.EsaSolution.EsaUmotion),... 62 (md.results.EsaSolution.EsaNmotion),... 63 (md.results.EsaSolution.EsaEmotion),... 64 }; 65
Note:
See TracBrowser
for help on using the repository browser.