[26744] | 1 | %which steps to perform; steps are from 1 to 8
|
---|
[18198] | 2 | %step 7 is specific to ISMIPA
|
---|
| 3 | %step 8 is specific to ISMIPF
|
---|
| 4 |
|
---|
| 5 | steps=[1];
|
---|
| 6 |
|
---|
| 7 | % parameter file to be used, choose between IsmipA.par or IsmipF.par
|
---|
[26744] | 8 | ParamFile='IsmipA.par';
|
---|
[18198] | 9 |
|
---|
| 10 | %Run Steps
|
---|
| 11 |
|
---|
[19105] | 12 | %Mesh Generation #1
|
---|
[18203] | 13 | if any(steps==1)
|
---|
[18198] | 14 |
|
---|
| 15 | %initialize md as a new model #help model
|
---|
| 16 | %->
|
---|
| 17 |
|
---|
| 18 | % generate a squaremesh #help squaremesh
|
---|
| 19 | % Side is 80 km long with 20 points
|
---|
| 20 | %->
|
---|
| 21 |
|
---|
| 22 | % plot the given mesh #plotdoc
|
---|
| 23 | %->
|
---|
| 24 |
|
---|
| 25 | % save the given model
|
---|
| 26 | %->
|
---|
| 27 |
|
---|
[26744] | 28 | end
|
---|
[18198] | 29 |
|
---|
[19105] | 30 | %Masks #2
|
---|
[18203] | 31 | if any(steps==2)
|
---|
[18198] | 32 |
|
---|
| 33 | % load the preceding step #help loadmodel
|
---|
| 34 | % path is given by the organizer with the name of the given step
|
---|
| 35 | %->
|
---|
| 36 |
|
---|
| 37 | % set the mask #help setmask
|
---|
| 38 | % all MISMIP nodes are grounded
|
---|
| 39 | %->
|
---|
| 40 |
|
---|
| 41 | % plot the given mask #md.mask to locate the field
|
---|
| 42 | %->
|
---|
| 43 |
|
---|
| 44 | % save the given model
|
---|
| 45 | %->
|
---|
| 46 |
|
---|
[26744] | 47 | end
|
---|
[18198] | 48 |
|
---|
[19105] | 49 | %Parameterization #3
|
---|
[18203] | 50 | if any(steps==3)
|
---|
[18198] | 51 |
|
---|
| 52 | % load the preceding step #help loadmodel
|
---|
| 53 | % path is given by the organizer with the name of the given step
|
---|
| 54 | %->
|
---|
| 55 |
|
---|
| 56 | % parametrize the model # help parameterize
|
---|
| 57 | % you will need to fil-up the parameter file (given by the
|
---|
| 58 | % ParamFile variable)
|
---|
| 59 | %->
|
---|
| 60 |
|
---|
| 61 | % save the given model
|
---|
| 62 | %->
|
---|
| 63 |
|
---|
[26744] | 64 | end
|
---|
[18198] | 65 |
|
---|
[19105] | 66 | %Extrusion #4
|
---|
[26744] | 67 | if any(steps==4)
|
---|
[18198] | 68 |
|
---|
| 69 | % load the preceding step #help loadmodel
|
---|
| 70 | % path is given by the organizer with the name of the given step
|
---|
| 71 | %->
|
---|
| 72 |
|
---|
| 73 | % vertically extrude the preceding mesh #help extrude
|
---|
| 74 | % only 5 layers exponent 1
|
---|
| 75 | %->
|
---|
| 76 |
|
---|
| 77 | % plot the 3D geometry #plotdoc
|
---|
| 78 | %->
|
---|
| 79 |
|
---|
| 80 | % save the given model
|
---|
| 81 | %->
|
---|
| 82 |
|
---|
[26744] | 83 | end
|
---|
[18198] | 84 |
|
---|
[19105] | 85 | %Set the flow computing method #5
|
---|
[26744] | 86 | if any(steps==5)
|
---|
[18198] | 87 |
|
---|
| 88 | % load the preceding step #help loadmodel
|
---|
| 89 | % path is given by the organizer with the name of the given step
|
---|
| 90 | %->
|
---|
| 91 |
|
---|
| 92 | % set the approximation for the flow computation #help setflowequation
|
---|
| 93 | % We will be using the Higher Order Model (HO)
|
---|
| 94 | %->
|
---|
| 95 |
|
---|
| 96 | % save the given model
|
---|
| 97 | %->
|
---|
| 98 |
|
---|
[26744] | 99 | end
|
---|
[18198] | 100 |
|
---|
[19105] | 101 | %Set Boundary Conditions #6
|
---|
[26744] | 102 | if any(steps==6)
|
---|
[18198] | 103 |
|
---|
| 104 | % load the preceding step #help loadmodel
|
---|
| 105 | % path is given by the organizer with the name of the given step
|
---|
| 106 | %->
|
---|
| 107 |
|
---|
| 108 | % dirichlet boundary condition are known as SPCs
|
---|
| 109 | % ice frozen to the base, no velocity #md.stressbalance
|
---|
| 110 | % SPCs are initialized at NaN one value per vertex
|
---|
| 111 | %->
|
---|
| 112 |
|
---|
| 113 | %->
|
---|
| 114 |
|
---|
| 115 | %->
|
---|
| 116 |
|
---|
| 117 | % extract the nodenumbers at the base #md.mesh.vertexonbase
|
---|
| 118 | %->
|
---|
| 119 |
|
---|
[26744] | 120 | % set the sliding to zero on the bed (Vx and Vy)
|
---|
[18198] | 121 | %->
|
---|
| 122 |
|
---|
| 123 | %->
|
---|
| 124 |
|
---|
| 125 | % periodic boundaries have to be fixed on the sides
|
---|
[26744] | 126 | % Find the indices of the sides of the domain, for x and then for y
|
---|
[18198] | 127 | % for x
|
---|
[26744] | 128 | % create maxX, list of indices where x is equal to max of x (use >> help find)
|
---|
[18198] | 129 | %->
|
---|
| 130 |
|
---|
[26744] | 131 | % create minX, list of indices where x is equal to min of x
|
---|
[18198] | 132 | %->
|
---|
| 133 |
|
---|
[26744] | 134 | % for y
|
---|
| 135 | % create maxY, list of indices where y is equal to max of y
|
---|
| 136 | % but not where x is equal to max or min of x
|
---|
| 137 | % (i.e, indices in maxX and minX should be excluded from maxY and minY)
|
---|
[18198] | 138 | %->
|
---|
| 139 |
|
---|
[26744] | 140 | % create minY, list of indices where y is equal to max of y
|
---|
| 141 | % but not where x is equal to max or min of x
|
---|
[18198] | 142 | %->
|
---|
| 143 |
|
---|
[26744] | 144 | % set the node that should be paired together, minX with maxX and minY with maxY
|
---|
[18198] | 145 | % #md.stressbalance.vertex_pairing
|
---|
| 146 | %->
|
---|
| 147 |
|
---|
| 148 | if (ParamFile=='IsmipF.par')
|
---|
| 149 | % if we are dealing with IsmipF the solution is in masstransport
|
---|
| 150 | md.masstransport.vertex_pairing=md.stressbalance.vertex_pairing;
|
---|
[26744] | 151 | end
|
---|
[18198] | 152 | % save the given model
|
---|
| 153 | %->
|
---|
| 154 |
|
---|
[26744] | 155 | end
|
---|
[18198] | 156 |
|
---|
[19105] | 157 | %Solving #7
|
---|
[26744] | 158 | if any(steps==7)
|
---|
[18198] | 159 | % load the preceding step #help loadmodel
|
---|
| 160 | % path is given by the organizer with the name of the given step
|
---|
| 161 | %->
|
---|
| 162 |
|
---|
| 163 | % Set cluster #md.cluster
|
---|
| 164 | % generic parameters #help generic
|
---|
| 165 | % set only the name and number of process
|
---|
| 166 | %->
|
---|
| 167 |
|
---|
| 168 | % Set which control message you want to see #help verbose
|
---|
| 169 | %->
|
---|
| 170 |
|
---|
| 171 | % Solve #help solve
|
---|
| 172 | % we are solving a StressBalanc
|
---|
| 173 | %->
|
---|
| 174 |
|
---|
| 175 | % save the given model
|
---|
| 176 | %->
|
---|
| 177 |
|
---|
| 178 | % plot the surface velocities #plotdoc
|
---|
| 179 | %->
|
---|
[26744] | 180 | end
|
---|
[18198] | 181 |
|
---|
[19105] | 182 | %Solving #8
|
---|
[26744] | 183 | if any(steps==8)
|
---|
[18198] | 184 | % load the preceding step #help loadmodel
|
---|
| 185 | % path is given by the organizer with the name of the given step
|
---|
| 186 | %->
|
---|
| 187 |
|
---|
| 188 | % Set cluster #md.cluster
|
---|
| 189 | % generic parameters #help generic
|
---|
| 190 | % set only the name and number of process
|
---|
| 191 | %->
|
---|
| 192 |
|
---|
| 193 | % Set which control message you want to see #help verbose
|
---|
| 194 | %->
|
---|
| 195 |
|
---|
| 196 | % set the transient model to ignore the thermal model
|
---|
| 197 | % #md.transient
|
---|
| 198 | %->
|
---|
| 199 |
|
---|
| 200 | % define the timestepping scheme
|
---|
| 201 | % everything here should be provided in years #md.timestepping
|
---|
| 202 | % give the length of the time_step (4 years)
|
---|
| 203 | %->
|
---|
| 204 |
|
---|
| 205 | % give final_time (20*4 years time_steps)
|
---|
| 206 | %->
|
---|
| 207 |
|
---|
| 208 | % Solve #help solve
|
---|
| 209 | % we are solving a TransientSolution
|
---|
| 210 | %->
|
---|
| 211 |
|
---|
| 212 | % save the given model
|
---|
| 213 | %->
|
---|
| 214 |
|
---|
| 215 | % plot the surface velocities #plotdoc
|
---|
| 216 | %->
|
---|
[26744] | 217 | end
|
---|