Changeset 491
- Timestamp:
- 05/19/09 14:18:22 (15 years ago)
- Location:
- issm/trunk/test/Validation/ThermalTests/Simpleconduction
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/test/Validation/ThermalTests/Simpleconduction/Square.par
r16 r491 1 2 1 %Ok, start defining model parameters here 3 2 4 %material parameters5 md.g=9.8;6 md.rho_ice=917;7 md.rho_water=1023;8 di=md.rho_ice/md.rho_water;9 md.yts=365*24*3600;10 md.heatcapacity=2009;11 md.thermalconductivity=2.2; %W/mK12 md.beta=9.8*10^-8;13 14 %Solution parameters15 3 %parallelization 16 4 md.cluster='none'; 17 md.np=2;18 md.time=1;19 md.exclusive=0;20 21 %statics22 md.eps_rel=0.01;23 md.eps_abs=10;24 %md.penalty_horiz=10^25; %penalty parameters for rifts25 %md.penalty_vert=10^15; %penalty parameters for rifts26 md.lowmem=1;27 if md.numberofgrids<1000000,28 md.sparsity=.001;29 else30 md.sparsity=.0001;31 end32 33 %dynamics34 md.dt=1*md.yts; %1 year35 md.ndt=md.dt*10;36 md.artificial_diffusivity=1;37 38 %control39 md.control_type={'drag'}; %'drag', 'B'40 md.nsteps=5;41 md.tolx=10^-4;42 md.maxiter=20;43 md.optscal=10;44 md.fit='logarithmic'; %'absolute','relative','logarithmic'45 md.meanvel=1000/md.yts; %1000 meters/year46 md.epsvel=eps;47 48 5 49 6 disp(' creating thickness'); … … 74 31 md.B=paterson(md.observed_temperature); 75 32 md.n=3*ones(md.numberofelements,1); 76 33 77 34 disp(' creating accumulation rates'); 78 35 md.accumulation=ones(md.numberofgrids,1)/md.yts; %1m/a … … 82 39 83 40 disp(' boundary conditions for diagnostic model'); 84 %Build gridonicefront, array of boundary grids belonging to the icefront: 85 gridinsideicefront=ArgusContourToMesh(md.elements,md.x,md.y,expread('Front.exp',1),'node',2); 86 gridonicefront=double(md.gridonboundary & gridinsideicefront); 87 88 md.gridondirichlet_diag=zeros(md.numberofgrids,1); 89 pos=find(md.gridonboundary & ~gridonicefront);md.gridondirichlet_diag(pos)=1; 90 md.dirichletvalues_diag=zeros(md.numberofgrids,2); 91 92 pos=find(gridonicefront(md.segments(:,1)) | gridonicefront(md.segments(:,2))); 93 md.segmentonneumann_diag=md.segments(pos,:); 94 md.neumannvalues_diag=NaN*ones(length(md.segmentonneumann_diag),1); %dynamic boundary conditions (water pressure) 95 96 disp(' boundary conditions for prognostic model'); 97 md.gridondirichlet_prog=zeros(md.numberofgrids,1); 98 md.dirichletvalues_prog=zeros(md.numberofgrids,1); 99 pos=find(gridonicefront(md.segments(:,1)) | gridonicefront(md.segments(:,2))); 100 md.segmentonneumann_prog=md.segments(pos,:); 101 md.neumannvalues_prog=zeros(size(md.segmentonneumann_prog,1),1); 102 md.neumannvalues_prog(:)=NaN; %free radiation 103 104 pos=find(gridonicefront(md.segments(:,1)) | gridonicefront(md.segments(:,2))); 105 md.segmentonneumann_prog2=md.segments(pos,:); 106 md.neumannvalues_prog2=zeros(size(md.segmentonneumann_prog2,1),1); 107 md.neumannvalues_prog2(:)=NaN; %free radiation 41 md=SetIceShelfBC(md,'Front.exp'); 108 42 109 43 disp(' boundary conditions for thermal model'); … … 112 46 md.geothermalflux=zeros(md.numberofgrids,1); 113 47 pos=find(md.elementonicesheet);md.geothermalflux(md.elements(pos,:))=50*10^-3; %50 mW/m^2 114 115 116 117 118 % Some Cielo code, ignore.119 if strcmp(md.cluster,'yes')120 ServerDisconnect;121 end -
issm/trunk/test/Validation/ThermalTests/Simpleconduction/runme.m
r16 r491 25 25 26 26 %modeled results 27 md=solve(md,' thermalsteady');27 md=solve(md,'analysis_type','thermal','sub_analysis_type','steady','package','cielo'); 28 28 29 29 %plot results
Note:
See TracChangeset
for help on using the changeset viewer.