Changeset 14106
- Timestamp:
- 12/07/12 11:09:49 (12 years ago)
- Location:
- issm/trunk-jpl/test/Par
- Files:
-
- 3 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/test/Par/RoundSheetEISMINT.par
r13137 r14106 1 1 %Ok, start defining model parameters here 2 2 disp(' creating thickness'); 3 md.geometry.thickness=10 *ones(md.mesh.numberofvertices,1);3 md.geometry.thickness=10.*ones(md.mesh.numberofvertices,1); 4 4 md.geometry.bed=zeros(md.mesh.numberofvertices,1); 5 5 md.geometry.surface=md.geometry.bed+md.geometry.thickness; 6 6 7 7 disp(' creating drag'); 8 md.friction.coefficient=20 *ones(md.mesh.numberofvertices,1); %q=1. %no drag is specified in the analytical solution8 md.friction.coefficient=20.*ones(md.mesh.numberofvertices,1); %q=1. no drag is specified in the analytical solution 9 9 md.friction.p=ones(md.mesh.numberofelements,1); 10 10 md.friction.q=ones(md.mesh.numberofelements,1); … … 12 12 disp(' creating temperatures'); 13 13 tmin=238.15; %K 14 st=1.67*10^-2/1000 ; %k/m;14 st=1.67*10^-2/1000.; %k/m 15 15 radius=sqrt((md.mesh.x).^2+(md.mesh.y).^2); 16 16 md.initialization.temperature=(tmin+st*radius); 17 17 md.basalforcings.geothermalflux=4.2*10^-2*ones(md.mesh.numberofvertices,1); 18 18 19 disp(' creating flow law param ter');20 md.materials.rheology_B=6.81*10^ (7)*ones(md.mesh.numberofvertices,1); %to have the same B as the analytical solution21 md.materials.rheology_n=3 *ones(md.mesh.numberofelements,1);19 disp(' creating flow law parameter'); 20 md.materials.rheology_B=6.81*10^7*ones(md.mesh.numberofvertices,1); %to have the same B as the analytical solution 21 md.materials.rheology_n=3.*ones(md.mesh.numberofelements,1); 22 22 23 23 disp(' creating surface mass balance'); 24 24 smb_max=0.5; %m/yr 25 sb=10^-2/1000 ; %m/yr/m26 rel=450 *1000; %m25 sb=10^-2/1000.; %m/yr/m 26 rel=450.*1000.; %m 27 27 md.surfaceforcings.mass_balance=min(smb_max,sb*(rel-radius)); 28 28 29 29 disp(' creating velocities'); 30 30 constant=0.3; 31 md.inversion.vx_obs=constant/2 *md.mesh.x.*(md.geometry.thickness).^-1;32 md.inversion.vy_obs=constant/2 *md.mesh.y.*(md.geometry.thickness).^-1;31 md.inversion.vx_obs=constant/2.*md.mesh.x.*(md.geometry.thickness).^-1; 32 md.inversion.vy_obs=constant/2.*md.mesh.y.*(md.geometry.thickness).^-1; 33 33 md.inversion.vel_obs=(sqrt((md.inversion.vx_obs).^2+(md.inversion.vy_obs).^2)); 34 34 md.initialization.vx=zeros(md.mesh.numberofvertices,1); … … 38 38 39 39 %Deal with boundary conditions: 40 disp(' boundary conditions for diagnostic model: 40 disp(' boundary conditions for diagnostic model:'); 41 41 md=SetMarineIceSheetBC(md,'../Exp/RoundFrontEISMINT.exp'); 42 42 43 radius=sqrt((md.mesh.x). *md.mesh.x+(md.mesh.y).*md.mesh.y);43 radius=sqrt((md.mesh.x).^2+(md.mesh.y).^2); 44 44 pos=find(radius==min(radius)); 45 md.mesh.x(pos)=0 ; md.mesh.y(pos)=0; %the closest node to the center is changed to be exactly at the center45 md.mesh.x(pos)=0.; md.mesh.y(pos)=0.; %the closest node to the center is changed to be exactly at the center 46 46 47 md.diagnostic.spcvx(pos)=0 ;48 md.diagnostic.spcvy(pos)=0 ;49 md.diagnostic.spcvz(pos)=0 ;47 md.diagnostic.spcvx(pos)=0.; 48 md.diagnostic.spcvy(pos)=0.; 49 md.diagnostic.spcvz(pos)=0.; 50 50 51 51 %parallel options 52 md.timestepping.final_time=50000 ;52 md.timestepping.final_time=50000.; 53 53 54 54 %Constants 55 md.materials.rho_ice=910 ;55 md.materials.rho_ice=910.; 56 56 md.materials.thermalconductivity=2.1; 57 57 md.materials.latentheat=3.35*10^5; 58 58 md.materials.beta=8.66*10^-4/(md.materials.rho_ice*md.constants.g); %conversion from K/m to K/Pa 59 md.constants.yts=31556926 ;59 md.constants.yts=31556926.; -
issm/trunk-jpl/test/Par/RoundSheetStaticEISMINT.par
r13137 r14106 2 2 hmin=0.01; 3 3 hmax=2756.7; 4 radius= (sqrt((md.mesh.x).^2+(md.mesh.y).^2));4 radius=sqrt((md.mesh.x).^2+(md.mesh.y).^2); 5 5 radiusmax=max(radius); 6 md.geometry.thickness=hmin*ones(size(md.mesh.x,1),1)+hmax*(4 *((1/2)^(4/3)*ones(size(md.mesh.x,1),1)-((radius)./(2*radiusmax)).^(4/3))).^(3/8);7 md.geometry.bed=0 *md.geometry.thickness;6 md.geometry.thickness=hmin*ones(size(md.mesh.x,1),1)+hmax*(4.*((1./2.)^(4./3.)*ones(size(md.mesh.x,1),1)-((radius)./(2.*radiusmax)).^(4./3.))).^(3./8.); 7 md.geometry.bed=0.*md.geometry.thickness; 8 8 md.geometry.surface=md.geometry.bed+md.geometry.thickness; 9 9 10 10 disp(' creating drag'); 11 md.friction.coefficient=20 *ones(md.mesh.numberofvertices,1); %q=1. %no drag is specified in the analytical solution11 md.friction.coefficient=20.*ones(md.mesh.numberofvertices,1); %q=1. no drag is specified in the analytical solution 12 12 %Take care of iceshelves: no basal drag 13 13 pos=find(md.mask.elementonfloatingice); 14 md.friction.coefficient(md.mesh.elements(pos,:))=0 ;14 md.friction.coefficient(md.mesh.elements(pos,:))=0.; 15 15 md.friction.p=ones(md.mesh.numberofelements,1); 16 16 md.friction.q=ones(md.mesh.numberofelements,1); … … 18 18 disp(' creating temperatures'); 19 19 tmin=238.15; %K 20 st=1.67*10^-2/1000 ; %k/m;21 md.initialization.temperature= (tmin+st*radius);20 st=1.67*10^-2/1000.; %k/m 21 md.initialization.temperature=tmin+st*radius; 22 22 md.basalforcings.geothermalflux=4.2*10^-2*ones(md.mesh.numberofvertices,1); 23 23 24 disp(' creating flow law param ter');25 md.materials.rheology_B=6.81*10^ (7)*ones(md.mesh.numberofvertices,1); %to have the same B as the analytical solution26 md.materials.rheology_n=3 *ones(md.mesh.numberofelements,1);24 disp(' creating flow law parameter'); 25 md.materials.rheology_B=6.81*10^7*ones(md.mesh.numberofvertices,1); %to have the same B as the analytical solution 26 md.materials.rheology_n=3.*ones(md.mesh.numberofelements,1); 27 27 28 28 disp(' creating surface mass balance'); 29 29 smb_max=0.5; %m/yr 30 sb=10^-2/1000 ; %m/yr/m31 rel=450 *1000; %m30 sb=10^-2/1000.; %m/yr/m 31 rel=450.*1000.; %m 32 32 md.surfaceforcings.mass_balance=min(smb_max,sb*(rel-radius)); 33 33 34 34 disp(' creating velocities'); 35 35 constant=0.3; 36 md.inversion.vx_obs=constant/2 *md.mesh.x.*(md.geometry.thickness).^-1;37 md.inversion.vy_obs=constant/2 *md.mesh.y.*(md.geometry.thickness).^-1;38 md.inversion.vel_obs= (sqrt((md.inversion.vx_obs).^2+(md.inversion.vy_obs).^2));36 md.inversion.vx_obs=constant/2.*md.mesh.x.*(md.geometry.thickness).^-1; 37 md.inversion.vy_obs=constant/2.*md.mesh.y.*(md.geometry.thickness).^-1; 38 md.inversion.vel_obs=sqrt((md.inversion.vx_obs).^2+(md.inversion.vy_obs).^2); 39 39 md.initialization.vx=zeros(md.mesh.numberofvertices,1); 40 40 md.initialization.vy=zeros(md.mesh.numberofvertices,1); … … 43 43 44 44 %Deal with boundary conditions: 45 disp(' boundary conditions for diagnostic model: 45 disp(' boundary conditions for diagnostic model:'); 46 46 md=SetMarineIceSheetBC(md,'../Exp/RoundFrontEISMINT.exp'); 47 47 48 radius=sqrt((md.mesh.x). *md.mesh.x+(md.mesh.y).*md.mesh.y);48 radius=sqrt((md.mesh.x).^2+(md.mesh.y).^2); 49 49 pos=find(radius==min(radius)); 50 md.mesh.x(pos)=0 ; md.mesh.y(pos)=0; %the closest node to the center is changed to be exactly at the center50 md.mesh.x(pos)=0.; md.mesh.y(pos)=0.; %the closest node to the center is changed to be exactly at the center 51 51 52 md.diagnostic.spcvx(pos)=0 ;53 md.diagnostic.spcvy(pos)=0 ;54 md.diagnostic.spcvz(pos)=0 ;52 md.diagnostic.spcvx(pos)=0.; 53 md.diagnostic.spcvy(pos)=0.; 54 md.diagnostic.spcvz(pos)=0.; -
issm/trunk-jpl/test/Par/SquareEISMINT.par
r13137 r14106 4 4 ymin=min(md.mesh.y); 5 5 ymax=max(md.mesh.y); 6 md.geometry.thickness=500 *ones(md.mesh.numberofvertices,1);6 md.geometry.thickness=500.*ones(md.mesh.numberofvertices,1); 7 7 md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness; 8 8 md.geometry.surface=md.geometry.bed+md.geometry.thickness; 9 9 10 10 disp(' creating drag'); 11 md.friction.coefficient=200 *ones(md.mesh.numberofvertices,1); %q=1.11 md.friction.coefficient=200.*ones(md.mesh.numberofvertices,1); %q=1. 12 12 %Take care of iceshelves: no basal drag 13 13 pos=find(md.mask.elementonfloatingice); 14 md.friction.coefficient(md.mesh.elements(pos,:))=0 ;14 md.friction.coefficient(md.mesh.elements(pos,:))=0.; 15 15 md.friction.p=ones(md.mesh.numberofelements,1); 16 16 md.friction.q=ones(md.mesh.numberofelements,1); 17 17 18 18 disp(' creating initial values'); 19 md.initialization.temperature=(273 -20)*ones(md.mesh.numberofvertices,1);19 md.initialization.temperature=(273.-20.)*ones(md.mesh.numberofvertices,1); 20 20 md.initialization.vx=zeros(md.mesh.numberofvertices,1); 21 21 md.initialization.vy=zeros(md.mesh.numberofvertices,1); … … 24 24 md.initialization.pressure=zeros(md.mesh.numberofvertices,1); 25 25 26 disp(' creating flow law param ter');26 disp(' creating flow law parameter'); 27 27 md.materials.rheology_B=1.7687*10^8*ones(md.mesh.numberofvertices,1); 28 md.materials.rheology_n=3 *ones(md.mesh.numberofelements,1);28 md.materials.rheology_n=3.*ones(md.mesh.numberofelements,1); 29 29 30 30 disp(' creating surface mass balance'); 31 31 md.surfaceforcings.mass_balance=0.2*ones(md.mesh.numberofvertices,1); %0m/a 32 md.basalforcings.melting_rate=0 *ones(md.mesh.numberofvertices,1); %0m/a32 md.basalforcings.melting_rate=0.*ones(md.mesh.numberofvertices,1); %0m/a 33 33 34 disp(' boundary conditions 34 disp(' boundary conditions'); 35 35 md=SetMarineIceSheetBC(md,'../Exp/SquareFrontEISMINT.exp'); 36 36 37 37 %Evolution of the ice shelf 38 pos=find(md.mesh.y==200000 ); %nodes on the upper boundary condition38 pos=find(md.mesh.y==200000.); %nodes on the upper boundary condition 39 39 md.balancethickness.spcthickness=NaN*ones(md.mesh.numberofvertices,1); 40 md.balancethickness.spcthickness(pos)=500 ;40 md.balancethickness.spcthickness(pos)=500.; 41 41 md.prognostic.spcthickness=NaN*ones(md.mesh.numberofvertices,1); 42 md.prognostic.spcthickness(pos)=500 ;42 md.prognostic.spcthickness(pos)=500.; 43 43 md.prognostic.stabilization=0; %Better result with no artificial diffusivity 44 md.thermal.stabilization=0; 45 md.timestepping.final_time=500 ;44 md.thermal.stabilization=0; 45 md.timestepping.final_time=500.; 46 46 md.timestepping.time_step=1;
Note:
See TracChangeset
for help on using the changeset viewer.