Changeset 4897
- Timestamp:
- 07/30/10 08:08:20 (15 years ago)
- Location:
- issm/trunk/test/Validation/ISMIP
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/test/Validation/ISMIP/TestA/runme.m
r4883 r4897 10 10 md=geography(md,'',''); %ice sheet test 11 11 md=parameterize(md,'Square.par'); 12 md=extrude(md,10,1); 12 md=extrude(md,9,1); 13 md.verbose=10; 14 md.np=5; 15 md.cluster='wilkes'; 13 16 17 %md=setelementstype(md,'macayeal','all'); 14 18 md=setelementstype(md,'pattyn','all'); 15 19 %md=setelementstype(md,'pattyn','all','stokes','all'); … … 21 25 22 26 %Create MPCs to have periodic boundary conditions 23 %posx=find(md.x==0);24 %posx2=find(md.x==max(md.x));25 % 26 %posy=find(md.y==0 & md.x~=0 & md.x~=max(md.x)); %Don't take the same grids two times27 %posy2=find(md.y==max(md.y) & md.x~=0 & md.x~=max(md.x));28 % 29 %md.penalties=[posx,posx2;posy,posy2];27 posx=find(md.x==0); 28 posx2=find(md.x==max(md.x)); 29 30 posy=find(md.y==0 & md.x~=0 & md.x~=max(md.x)); %Don't take the same grids two times 31 posy2=find(md.y==max(md.y) & md.x~=0 & md.x~=max(md.x)); 32 33 md.penalties=[posx,posx2;posy,posy2]; 30 34 31 35 %Compute the diagnostic -
issm/trunk/test/Validation/ISMIP/TestB/runme.m
r4883 r4897 11 11 md=parameterize(md,'Square.par'); 12 12 md=extrude(md,10,1); 13 md.cluster='wilkes'; 14 md.np=3; 13 15 14 16 %md=setelementstype(md,'pattyn','all','stokes','all'); … … 20 22 md.spcvelocity(pos,1:2)=1; 21 23 22 % %Create MPCs to have periodic boundary conditions23 %posx=find(md.x==0);24 %posx2=find(md.x==max(md.x));25 % 26 %posy=find(md.y==0 & md.x~=0 & md.x~=max(md.x)); %Don't take the same grids two times27 %posy2=find(md.y==max(md.y) & md.x~=0 & md.x~=max(md.x));28 % 29 %md.penalties=[posx,posx2;posy,posy2];24 %Create MPCs to have periodic boundary conditions 25 posx=find(md.x==0); 26 posx2=find(md.x==max(md.x)); 27 28 posy=find(md.y==0 & md.x~=0 & md.x~=max(md.x)); %Don't take the same grids two times 29 posy2=find(md.y==max(md.y) & md.x~=0 & md.x~=max(md.x)); 30 31 md.penalties=[posx,posx2;posy,posy2]; 30 32 31 33 %Compute the diagnostic -
issm/trunk/test/Validation/ISMIP/TestC/Square.par
r4883 r4897 9 9 disp(' creating drag'); 10 10 md.drag_type=2; %0 none 1 plastic 2 viscous 11 md.drag_coefficient=sqrt(md.yts.*(1000+1000*sin(md.x*2*pi/max(md.x)).*sin(md.y*2*pi/max(md.x)))./(md.g*(md.rho_ice*md.thickness+md.rho_water*md.bed))); 11 md.drag_coefficient=sqrt(md.yts.*(1000+1000*sin(md.x*2*pi/max(md.x/3)).*sin(md.y*2*pi/max(md.x/3)))./(md.g*(md.rho_ice*md.thickness+md.rho_water*md.bed))); 12 %md.drag_coefficient=sqrt(md.yts.*(1000+1000*sin(md.x*2*pi/max(md.x)).*sin(md.y*2*pi/max(md.x)))./(md.g*(md.rho_ice*md.thickness+md.rho_water*md.bed))); 12 13 %Take care of iceshelves: no basal drag 13 14 pos=find(md.elementoniceshelf); -
issm/trunk/test/Validation/ISMIP/TestC/runme.m
r4883 r4897 3 3 4 4 %TestC 5 L= 80000; %in m6 nx= 20; %number of nodes in x direction7 ny= 20;5 L=3*80000; %in m (3 times the desired lenght for BC problems) 6 nx=60; %number of nodes in x direction 7 ny=60; 8 8 md=model; 9 9 md=squaremesh(md,L,L,nx,ny); … … 15 15 %md=setelementstype(md,'pattyn','all','stokes','all'); 16 16 17 %%Create MPCs to have periodic boundary conditions 18 %posx=find(md.x==0); 19 %posx2=find(md.x==L); 20 % 21 %posy=find(md.y==0 & md.x~=0 & md.x~=L); %Don't take the same grids two times 22 %posy2=find(md.y==L & md.x~=0 & md.x~=L); 23 % 24 %md.penalties=[posx,posx2;posy,posy2]; 17 %Create MPCs to have periodic boundary conditions 18 %md.spcvelocity=zeros(md.numberofgrids,6); 19 20 posx=find(md.x==0); 21 posx2=find(md.x==L); 22 23 posy=find(md.y==0 & md.x~=0 & md.x~=L); %Don't take the same grids two times 24 posy2=find(md.y==L & md.x~=0 & md.x~=L); 25 26 md.penalties=[posx,posx2;posy,posy2]; 25 27 26 28 %Compute the diagnostic -
issm/trunk/test/Validation/ISMIP/TestD/runme.m
r4883 r4897 12 12 md=parameterize(md,'Square.par'); 13 13 md=extrude(md,10,1); 14 md.np=8; 15 md.cluster='wilkes'; 14 16 15 17 md=setelementstype(md,'pattyn','all'); 16 18 %md=setelementstype(md,'pattyn','all','stokes','all'); 17 19 18 %We need one grd on dirichlet (in the middle) 19 %md.gridondirichlet_diag(33)=1; 20 %md.dirichletvalues_diag(1,:)=[18/md.yts -3/md.yts]; 20 %We need one grd on dirichlet: the 4 corners are set to zero 21 md.spcvelocity=zeros(md.numberofgrids,6); 22 pos=find((md.x==0 | md.x==max(md.x)) & (md.y==0 | md.y==max(md.y))); 23 md.spcvelocity(pos,1:3)=1; 21 24 22 % %Create MPCs to have periodic boundary conditions23 %posx=find(md.x==0);24 %posx2=find(md.x==max(md.x));25 % 26 %posy=find(md.y==0 & md.x~=0 & md.x~=max(md.x)); %Don't take the same grids two times27 %posy2=find(md.y==max(md.y) & md.x~=0 & md.x~=max(md.x));28 % 29 %md.penalties=[posx,posx2;posy,posy2];25 %Create MPCs to have periodic boundary conditions 26 posx=find(md.x==0); 27 posx2=find(md.x==max(md.x)); 28 29 posy=find(md.y==0 & md.x~=0 & md.x~=max(md.x)); %Don't take the same grids two times 30 posy2=find(md.y==max(md.y) & md.x~=0 & md.x~=max(md.x)); 31 32 md.penalties=[posx,posx2;posy,posy2]; 30 33 31 34 %Compute the diagnostic
Note:
See TracChangeset
for help on using the changeset viewer.