[27035] | 1 | %Test Name: SquareShelfLevelsetCalvingMOLHO2dLevermann
|
---|
[26440] | 2 | md=triangle(model(),'../Exp/Square.exp',50000.);
|
---|
| 3 | md=setmask(md,'all','');
|
---|
| 4 | md=parameterize(md,'../Par/SquareShelf.par');
|
---|
[27035] | 5 | md=setflowequation(md,'MOLHO','all');
|
---|
[26440] | 6 | md.cluster=generic('name',oshostname(),'np',3);
|
---|
| 7 |
|
---|
| 8 | %Do not kill ice bergs as all is floating
|
---|
| 9 | md.levelset.kill_icebergs=0;
|
---|
| 10 |
|
---|
| 11 | x = md.mesh.x;
|
---|
| 12 | xmin = min(x);
|
---|
| 13 | xmax = max(x);
|
---|
| 14 | Lx = (xmax-xmin);
|
---|
| 15 | alpha = 2./3.;
|
---|
| 16 | md.mask.ice_levelset = ((x - alpha*Lx)>0) - ((x - alpha*Lx)<0);
|
---|
| 17 |
|
---|
| 18 | md.timestepping.time_step=10;
|
---|
| 19 | md.timestepping.final_time=30;
|
---|
| 20 |
|
---|
| 21 | %Transient
|
---|
| 22 | md.transient.isstressbalance=1;
|
---|
| 23 | md.transient.ismasstransport=1;
|
---|
| 24 | md.transient.issmb=1;
|
---|
| 25 | md.transient.isthermal=0;
|
---|
| 26 | md.transient.isgroundingline=0;
|
---|
| 27 | md.transient.ismovingfront=1;
|
---|
| 28 |
|
---|
| 29 | md.calving=calvinglevermann();
|
---|
| 30 | md.calving.coeff=4.89e13*ones(md.mesh.numberofvertices,1);
|
---|
| 31 | md.frontalforcings.meltingrate=zeros(md.mesh.numberofvertices,1);
|
---|
| 32 | md.levelset.spclevelset=NaN(md.mesh.numberofvertices,1);
|
---|
| 33 | md.levelset.migration_max = 1e8;
|
---|
| 34 |
|
---|
| 35 | md.transient.requested_outputs={'default','StrainRateparallel','StrainRateperpendicular','Calvingratex','Calvingratey','CalvingCalvingrate'};
|
---|
| 36 |
|
---|
[27035] | 37 | md=SetMOLHOBC(md);
|
---|
[26440] | 38 | md=solve(md,'Transient');
|
---|
| 39 |
|
---|
| 40 | %Fields and tolerances to track changes
|
---|
| 41 | field_names ={'Vx1','Vy1','Vel1','Pressure1','Thickness1','Surface1','MaskIceLevelset1','StrainRateparallel1','StrainRateperpendicular1','CalvingCalvingrate1'...
|
---|
| 42 | 'Vx2','Vy2','Vel2','Pressure2','Thickness2','Surface2','MaskIceLevelset2','StrainRateparallel2','StrainRateperpendicular2','CalvingCalvingrate2'...
|
---|
| 43 | 'Vx3','Vy3','Vel3','Pressure3','Thickness3','Surface3','MaskIceLevelset3','StrainRateparallel3','StrainRateperpendicular3','CalvingCalvingrate3'};
|
---|
| 44 | field_tolerances={1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,...
|
---|
| 45 | 2e-11,2e-11,2e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,...
|
---|
| 46 | 2e-11,2e-11,2e-11,1e-11,1e-11,1e-11,1e-11,5e-11,5e-11,5e-11};
|
---|
| 47 | field_values={...
|
---|
| 48 | md.results.TransientSolution(1).Vx,...
|
---|
| 49 | md.results.TransientSolution(1).Vy,...
|
---|
| 50 | md.results.TransientSolution(1).Vel,...
|
---|
| 51 | md.results.TransientSolution(1).Pressure,...
|
---|
| 52 | md.results.TransientSolution(1).Thickness,...
|
---|
| 53 | md.results.TransientSolution(1).Surface,...
|
---|
| 54 | md.results.TransientSolution(1).MaskIceLevelset,...
|
---|
| 55 | md.results.TransientSolution(1).StrainRateparallel,...
|
---|
| 56 | md.results.TransientSolution(1).StrainRateperpendicular,...
|
---|
| 57 | md.results.TransientSolution(1).CalvingCalvingrate,...
|
---|
| 58 | md.results.TransientSolution(2).Vx,...
|
---|
| 59 | md.results.TransientSolution(2).Vy,...
|
---|
| 60 | md.results.TransientSolution(2).Vel,...
|
---|
| 61 | md.results.TransientSolution(2).Pressure,...
|
---|
| 62 | md.results.TransientSolution(2).Thickness,...
|
---|
| 63 | md.results.TransientSolution(2).Surface,...
|
---|
| 64 | md.results.TransientSolution(2).MaskIceLevelset,...
|
---|
| 65 | md.results.TransientSolution(2).StrainRateparallel,...
|
---|
| 66 | md.results.TransientSolution(2).StrainRateperpendicular,...
|
---|
| 67 | md.results.TransientSolution(2).CalvingCalvingrate,...
|
---|
| 68 | md.results.TransientSolution(3).Vx,...
|
---|
| 69 | md.results.TransientSolution(3).Vy,...
|
---|
| 70 | md.results.TransientSolution(3).Vel,...
|
---|
| 71 | md.results.TransientSolution(3).Pressure,...
|
---|
| 72 | md.results.TransientSolution(3).Thickness,...
|
---|
| 73 | md.results.TransientSolution(3).Surface,...
|
---|
| 74 | md.results.TransientSolution(3).MaskIceLevelset,...
|
---|
| 75 | md.results.TransientSolution(3).StrainRateparallel,...
|
---|
| 76 | md.results.TransientSolution(3).StrainRateperpendicular,...
|
---|
| 77 | md.results.TransientSolution(3).CalvingCalvingrate,...
|
---|
| 78 | };
|
---|