[27032] | 1 | Index: ../trunk-jpl/src/m/boundaryconditions/SetMLHOBC.py
|
---|
| 2 | ===================================================================
|
---|
| 3 | --- ../trunk-jpl/src/m/boundaryconditions/SetMLHOBC.py (revision 27030)
|
---|
| 4 | +++ ../trunk-jpl/src/m/boundaryconditions/SetMLHOBC.py (nonexistent)
|
---|
| 5 | @@ -1,22 +0,0 @@
|
---|
| 6 | -import numpy as np
|
---|
| 7 | -
|
---|
| 8 | -
|
---|
| 9 | -def SetMLHOBC(md):
|
---|
| 10 | - """
|
---|
| 11 | - SETMLHOBC - Create the boundary conditions for stressbalance for MLHO: VxBase, VyBase, VxShear, VyShear
|
---|
| 12 | -
|
---|
| 13 | - Usage:
|
---|
| 14 | - md = SetIceShelfBC(md, varargin)
|
---|
| 15 | -
|
---|
| 16 | - Example:
|
---|
| 17 | - md = SetIceShelfBC(md)
|
---|
| 18 | -
|
---|
| 19 | - """
|
---|
| 20 | -
|
---|
| 21 | - #node on Dirichlet (boundary and ~icefront)
|
---|
| 22 | - md.stressbalance.spcvx_base = md.stressbalance.spcvx
|
---|
| 23 | - md.stressbalance.spcvy_base = md.stressbalance.spcvy
|
---|
| 24 | - md.stressbalance.spcvx_shear = np.nan * md.stressbalance.spcvx
|
---|
| 25 | - md.stressbalance.spcvy_shear = np.nan * md.stressbalance.spcvy
|
---|
| 26 | -
|
---|
| 27 | - return md
|
---|
| 28 | Index: ../trunk-jpl/src/m/boundaryconditions/SetMLHOBC.m
|
---|
| 29 | ===================================================================
|
---|
| 30 | --- ../trunk-jpl/src/m/boundaryconditions/SetMLHOBC.m (revision 27030)
|
---|
| 31 | +++ ../trunk-jpl/src/m/boundaryconditions/SetMLHOBC.m (nonexistent)
|
---|
| 32 | @@ -1,16 +0,0 @@
|
---|
| 33 | -function md=SetMLHOBC(md)
|
---|
| 34 | -%SETMLHOBC - Create the boundary conditions for stressbalance for MLHO: VxBase, VyBase, VxShear, VyShear
|
---|
| 35 | -%
|
---|
| 36 | -% Usage:
|
---|
| 37 | -% md=SetMLHOBC(md)
|
---|
| 38 | -%
|
---|
| 39 | -
|
---|
| 40 | -
|
---|
| 41 | -%node on Dirichlet
|
---|
| 42 | -if md.flowequation.isMLHO
|
---|
| 43 | - md.stressbalance.spcvx_base=md.stressbalance.spcvx;
|
---|
| 44 | - md.stressbalance.spcvy_base=md.stressbalance.spcvy;
|
---|
| 45 | -
|
---|
| 46 | - md.stressbalance.spcvx_shear=NaN*ones(size(md.stressbalance.spcvx_base));
|
---|
| 47 | - md.stressbalance.spcvy_shear=NaN*ones(size(md.stressbalance.spcvy_base));
|
---|
| 48 | -end
|
---|
| 49 | Index: ../trunk-jpl/src/m/classes/flowequation.m
|
---|
| 50 | ===================================================================
|
---|
| 51 | --- ../trunk-jpl/src/m/classes/flowequation.m (revision 27030)
|
---|
| 52 | +++ ../trunk-jpl/src/m/classes/flowequation.m (revision 27031)
|
---|
| 53 | @@ -8,7 +8,7 @@
|
---|
| 54 | isSIA = 0;
|
---|
| 55 | isSSA = 0;
|
---|
| 56 | isL1L2 = 0;
|
---|
| 57 | - isMLHO = 0;
|
---|
| 58 | + isMOLHO = 0;
|
---|
| 59 | isHO = 0;
|
---|
| 60 | isFS = 0;
|
---|
| 61 | isNitscheBC = 0;
|
---|
| 62 | @@ -59,13 +59,14 @@
|
---|
| 63 | if isfield(objstruct,'bordermacayeal'),self.borderSSA = objstruct.bordermacayeal; end;
|
---|
| 64 | if isfield(objstruct,'borderpattyn'), self.borderHO = objstruct.borderpattyn; end;
|
---|
| 65 | if isfield(objstruct,'borderstokes'), self.borderFS = objstruct.borderstokes; end;
|
---|
| 66 | - end
|
---|
| 67 |
|
---|
| 68 | - %Nov 6 2021
|
---|
| 69 | - if any(self.vertex_equation==4)
|
---|
| 70 | - disp(['Monolayer Higher-Order (MLHO) detected in md.flowequation, this is still under development. Please double check your settings.']);
|
---|
| 71 | + %May 31 2022
|
---|
| 72 | + if isfield(objstruct,'isMLHO')
|
---|
| 73 | + self.isMOLHO = objstruct.isMLHO;
|
---|
| 74 | + end
|
---|
| 75 | end
|
---|
| 76 |
|
---|
| 77 | +
|
---|
| 78 | end% }}}
|
---|
| 79 | end
|
---|
| 80 | methods
|
---|
| 81 | @@ -103,7 +104,7 @@
|
---|
| 82 | md = checkfield(md,'fieldname','flowequation.isSIA','numel',[1],'values',[0 1]);
|
---|
| 83 | md = checkfield(md,'fieldname','flowequation.isSSA','numel',[1],'values',[0 1]);
|
---|
| 84 | md = checkfield(md,'fieldname','flowequation.isL1L2','numel',[1],'values',[0 1]);
|
---|
| 85 | - md = checkfield(md,'fieldname','flowequation.isMLHO','numel',[1],'values',[0 1]);
|
---|
| 86 | + md = checkfield(md,'fieldname','flowequation.isMOLHO','numel',[1],'values',[0 1]);
|
---|
| 87 | md = checkfield(md,'fieldname','flowequation.isHO','numel',[1],'values',[0 1]);
|
---|
| 88 | md = checkfield(md,'fieldname','flowequation.isFS','numel',[1],'values',[0 1]);
|
---|
| 89 | md = checkfield(md,'fieldname','flowequation.isNitscheBC','numel',[1],'values',[0 1]);
|
---|
| 90 | @@ -134,7 +135,7 @@
|
---|
| 91 | else
|
---|
| 92 | error('Case not supported yet');
|
---|
| 93 | end
|
---|
| 94 | - if ~(self.isSIA || self.isSSA || self.isL1L2 || self.isMLHO || self.isHO || self.isFS),
|
---|
| 95 | + if ~(self.isSIA || self.isSSA || self.isL1L2 || self.isMOLHO || self.isHO || self.isFS),
|
---|
| 96 | md = checkmessage(md,['no element types set for this model']);
|
---|
| 97 | end
|
---|
| 98 | if ismember('StressbalanceSIAAnalysis',analyses),
|
---|
| 99 | @@ -152,7 +153,7 @@
|
---|
| 100 | fielddisplay(self,'isSIA','is the Shallow Ice Approximation (SIA) used?');
|
---|
| 101 | fielddisplay(self,'isSSA','is the Shelfy-Stream Approximation (SSA) used?');
|
---|
| 102 | fielddisplay(self,'isL1L2','is the L1L2 approximation used?');
|
---|
| 103 | - fielddisplay(self,'isMLHO','is the Mono-Layer Higher-Order approximation used?');
|
---|
| 104 | + fielddisplay(self,'isMOLHO','is the MOno-Layer Higher-Order (MOLHO) approximation used?');
|
---|
| 105 | fielddisplay(self,'isHO','is the Higher-Order (HO) approximation used?');
|
---|
| 106 | fielddisplay(self,'isFS','are the Full-FS (FS) equations used?');
|
---|
| 107 | fielddisplay(self,'isNitscheBC','is weakly imposed condition used?');
|
---|
| 108 | @@ -171,7 +172,7 @@
|
---|
| 109 | WriteData(fid,prefix,'object',self,'fieldname','isSIA','format','Boolean');
|
---|
| 110 | WriteData(fid,prefix,'object',self,'fieldname','isSSA','format','Boolean');
|
---|
| 111 | WriteData(fid,prefix,'object',self,'fieldname','isL1L2','format','Boolean');
|
---|
| 112 | - WriteData(fid,prefix,'object',self,'fieldname','isMLHO','format','Boolean');
|
---|
| 113 | + WriteData(fid,prefix,'object',self,'fieldname','isMOLHO','format','Boolean');
|
---|
| 114 | WriteData(fid,prefix,'object',self,'fieldname','isHO','format','Boolean');
|
---|
| 115 | WriteData(fid,prefix,'object',self,'fieldname','isFS','format','Boolean');
|
---|
| 116 | WriteData(fid,prefix,'object',self,'fieldname','isNitscheBC','format','Boolean');
|
---|
| 117 | @@ -196,7 +197,7 @@
|
---|
| 118 | writejsdouble(fid,[modelname '.flowequation.isSIA'],self.isSIA);
|
---|
| 119 | writejsdouble(fid,[modelname '.flowequation.isSSA'],self.isSSA);
|
---|
| 120 | writejsdouble(fid,[modelname '.flowequation.isL1L2'],self.isL1L2);
|
---|
| 121 | - writejsdouble(fid,[modelname '.flowequation.isMLHO'],self.isMLHO);
|
---|
| 122 | + writejsdouble(fid,[modelname '.flowequation.isMOLHO'],self.isMOLHO);
|
---|
| 123 | writejsdouble(fid,[modelname '.flowequation.isHO'],self.isHO);
|
---|
| 124 | writejsdouble(fid,[modelname '.flowequation.isFS'],self.isFS);
|
---|
| 125 | writejsstring(fid,[modelname '.flowequation.isNitscheBC'],self.isNitscheBC);
|
---|
| 126 | Index: ../trunk-jpl/src/c/analyses/AdjointHorizAnalysis.cpp
|
---|
| 127 | ===================================================================
|
---|
| 128 | --- ../trunk-jpl/src/c/analyses/AdjointHorizAnalysis.cpp (revision 27030)
|
---|
| 129 | +++ ../trunk-jpl/src/c/analyses/AdjointHorizAnalysis.cpp (revision 27031)
|
---|
| 130 | @@ -51,10 +51,10 @@
|
---|
| 131 | return CreateKMatrixHO(element);
|
---|
| 132 | case FSApproximationEnum:
|
---|
| 133 | return CreateKMatrixFS(element);
|
---|
| 134 | - case MLHOApproximationEnum:
|
---|
| 135 | + case MOLHOApproximationEnum:
|
---|
| 136 | // a more accurate option, but integrate in the vertical direction numerically.
|
---|
| 137 | - // return CreateKMatrixMLHOVerticalIntergrated(element);
|
---|
| 138 | - return CreateKMatrixMLHO(element);
|
---|
| 139 | + // return CreateKMatrixMOLHOVerticalIntergrated(element);
|
---|
| 140 | + return CreateKMatrixMOLHO(element);
|
---|
| 141 | case NoneApproximationEnum:
|
---|
| 142 | return NULL;
|
---|
| 143 | default:
|
---|
| 144 | @@ -219,7 +219,7 @@
|
---|
| 145 | xDelete<IssmDouble>(xyz_list);
|
---|
| 146 | return Ke;
|
---|
| 147 | }/*}}}*/
|
---|
| 148 | -ElementMatrix* AdjointHorizAnalysis::CreateKMatrixMLHO(Element* element){/*{{{*/
|
---|
| 149 | +ElementMatrix* AdjointHorizAnalysis::CreateKMatrixMOLHO(Element* element){/*{{{*/
|
---|
| 150 |
|
---|
| 151 | /* Check if ice in element */
|
---|
| 152 | if(!element->IsIceInElement()) return NULL;
|
---|
| 153 | @@ -291,7 +291,7 @@
|
---|
| 154 | vxshear_input->GetInputValue(&vxshear,gauss);
|
---|
| 155 | vyshear_input->GetInputValue(&vyshear,gauss);
|
---|
| 156 |
|
---|
| 157 | - element->material->ViscosityMLHOAdjoint(&viscosity[0],dim,xyz_list,gauss,vxbase_input,vybase_input,vxshear_input,vyshear_input,thickness_input,n_input);
|
---|
| 158 | + element->material->ViscosityMOLHOAdjoint(&viscosity[0],dim,xyz_list,gauss,vxbase_input,vybase_input,vxshear_input,vyshear_input,thickness_input,n_input);
|
---|
| 159 |
|
---|
| 160 | effmu = 2.0*(1-n)/2.0/n;
|
---|
| 161 |
|
---|
| 162 | @@ -352,7 +352,7 @@
|
---|
| 163 | xDelete<IssmDouble>(basis);
|
---|
| 164 | return Ke;
|
---|
| 165 | }/*}}}*/
|
---|
| 166 | -ElementMatrix* AdjointHorizAnalysis::CreateKMatrixMLHOVerticalIntergrated(Element* element){/*{{{*/
|
---|
| 167 | +ElementMatrix* AdjointHorizAnalysis::CreateKMatrixMOLHOVerticalIntergrated(Element* element){/*{{{*/
|
---|
| 168 |
|
---|
| 169 | /* Check if ice in element */
|
---|
| 170 | if(!element->IsIceInElement()) return NULL;
|
---|
| 171 | @@ -432,7 +432,7 @@
|
---|
| 172 | zeta=0.5*(gauss_seg->coord1+1);
|
---|
| 173 |
|
---|
| 174 | /* eps_eff^2 = exx^2 + eyy^2 + exy^2 + exz^2 + eyz^2 + exx*eyy (for a given zeta)*/
|
---|
| 175 | - element->StrainRateMLHO(&epsilon[0],xyz_list,gauss,
|
---|
| 176 | + element->StrainRateMOLHO(&epsilon[0],xyz_list,gauss,
|
---|
| 177 | vxbase_input,vybase_input,vxshear_input,vyshear_input,thickness_input,n_input,zeta);
|
---|
| 178 | epsilon_eff=sqrt(epsilon[0]*epsilon[0] + epsilon[1]*epsilon[1] + epsilon[2]*epsilon[2]
|
---|
| 179 | + epsilon[3]*epsilon[3] + epsilon[4]*epsilon[4] + epsilon[0]*epsilon[1]);
|
---|
| 180 | @@ -617,8 +617,8 @@
|
---|
| 181 | return CreatePVectorHO(element);
|
---|
| 182 | case FSApproximationEnum:
|
---|
| 183 | return CreatePVectorFS(element);
|
---|
| 184 | - case MLHOApproximationEnum:
|
---|
| 185 | - return CreatePVectorMLHO(element);
|
---|
| 186 | + case MOLHOApproximationEnum:
|
---|
| 187 | + return CreatePVectorMOLHO(element);
|
---|
| 188 | case NoneApproximationEnum:
|
---|
| 189 | return NULL;
|
---|
| 190 | default:
|
---|
| 191 | @@ -1104,7 +1104,7 @@
|
---|
| 192 | return pe;
|
---|
| 193 |
|
---|
| 194 | }/*}}}*/
|
---|
| 195 | -ElementVector* AdjointHorizAnalysis::CreatePVectorMLHO(Element* element){/*{{{*/
|
---|
| 196 | +ElementVector* AdjointHorizAnalysis::CreatePVectorMOLHO(Element* element){/*{{{*/
|
---|
| 197 |
|
---|
| 198 | /*Intermediaries*/
|
---|
| 199 | int domaintype;
|
---|
| 200 | @@ -1142,7 +1142,7 @@
|
---|
| 201 | int numnodes = basalelement->GetNumberOfNodes();
|
---|
| 202 |
|
---|
| 203 | /*Initialize Element vector and vectors*/
|
---|
| 204 | - ElementVector* pe = basalelement->NewElementVector(MLHOApproximationEnum);
|
---|
| 205 | + ElementVector* pe = basalelement->NewElementVector(MOLHOApproximationEnum);
|
---|
| 206 | IssmDouble* basis = xNew<IssmDouble>(numnodes);
|
---|
| 207 |
|
---|
| 208 | /*Retrieve all inputs and parameters*/
|
---|
| 209 | @@ -1211,7 +1211,7 @@
|
---|
| 210 | pe->values[i*4+3]+=duy*weight*Jdet*gauss->weight*basis[i];
|
---|
| 211 | }
|
---|
| 212 | else {
|
---|
| 213 | - _error_("2D vertical is not implemented for MLHO");
|
---|
| 214 | + _error_("2D vertical is not implemented for MOLHO");
|
---|
| 215 | }
|
---|
| 216 | }
|
---|
| 217 | break;
|
---|
| 218 | @@ -1239,7 +1239,7 @@
|
---|
| 219 | pe->values[i*4+3]+=duy*weight*Jdet*gauss->weight*basis[i];
|
---|
| 220 | }
|
---|
| 221 | else{
|
---|
| 222 | - _error_("2D vertical is not implemented for MLHO");
|
---|
| 223 | + _error_("2D vertical is not implemented for MOLHO");
|
---|
| 224 | }
|
---|
| 225 | }
|
---|
| 226 | break;
|
---|
| 227 | @@ -1268,7 +1268,7 @@
|
---|
| 228 | pe->values[i*4+3]+=duy*weight*Jdet*gauss->weight*basis[i];
|
---|
| 229 | }
|
---|
| 230 | else{
|
---|
| 231 | - _error_("2D vertical is not implemented for MLHO");
|
---|
| 232 | + _error_("2D vertical is not implemented for MOLHO");
|
---|
| 233 | }
|
---|
| 234 | }
|
---|
| 235 | break;
|
---|
| 236 | @@ -1294,7 +1294,7 @@
|
---|
| 237 | pe->values[i*4+3]+=duy*weight*Jdet*gauss->weight*basis[i];
|
---|
| 238 | }
|
---|
| 239 | else{
|
---|
| 240 | - _error_("2D vertical is not implemented for MLHO");
|
---|
| 241 | + _error_("2D vertical is not implemented for MOLHO");
|
---|
| 242 | }
|
---|
| 243 | }
|
---|
| 244 | break;
|
---|
| 245 | @@ -1318,7 +1318,7 @@
|
---|
| 246 | pe->values[i*4+3]+=duy*weight*Jdet*gauss->weight*basis[i];
|
---|
| 247 | }
|
---|
| 248 | else{
|
---|
| 249 | - _error_("2D vertical is not implemented for MLHO");
|
---|
| 250 | + _error_("2D vertical is not implemented for MOLHO");
|
---|
| 251 | }
|
---|
| 252 | }
|
---|
| 253 | break;
|
---|
| 254 | @@ -1668,7 +1668,7 @@
|
---|
| 255 | case SSAApproximationEnum: GradientJDragSSA(element,gradient,control_interp,control_index); break;
|
---|
| 256 | case L1L2ApproximationEnum:GradientJDragL1L2(element,gradient,control_interp,control_index); break;
|
---|
| 257 | case HOApproximationEnum: GradientJDragHO( element,gradient,control_interp,control_index); break;
|
---|
| 258 | - case MLHOApproximationEnum: GradientJDragMLHO( element,gradient,control_interp,control_index); break;
|
---|
| 259 | + case MOLHOApproximationEnum: GradientJDragMOLHO( element,gradient,control_interp,control_index); break;
|
---|
| 260 | case FSApproximationEnum: GradientJDragFS( element,gradient,control_interp,control_index); break;
|
---|
| 261 | case NoneApproximationEnum: /*Gradient is 0*/ break;
|
---|
| 262 | default: _error_("approximation " << EnumToStringx(approximation) << " not supported yet");
|
---|
| 263 | @@ -1689,7 +1689,7 @@
|
---|
| 264 | case SSAApproximationEnum: GradientJBbarSSA(element,gradient,control_interp,control_index); break;
|
---|
| 265 | case L1L2ApproximationEnum:GradientJBbarL1L2(element,gradient,control_interp,control_index); break;
|
---|
| 266 | case HOApproximationEnum: GradientJBbarHO( element,gradient,control_interp,control_index); break;
|
---|
| 267 | - case MLHOApproximationEnum: GradientJBbarMLHO( element,gradient,control_interp,control_index); break;
|
---|
| 268 | + case MOLHOApproximationEnum: GradientJBbarMOLHO( element,gradient,control_interp,control_index); break;
|
---|
| 269 | case FSApproximationEnum: GradientJBbarFS( element,gradient,control_interp,control_index); break;
|
---|
| 270 | case NoneApproximationEnum: /*Gradient is 0*/ break;
|
---|
| 271 | default: _error_("approximation " << EnumToStringx(approximation) << " not supported yet");
|
---|
| 272 | @@ -1699,7 +1699,7 @@
|
---|
| 273 | switch(approximation){
|
---|
| 274 | case SSAApproximationEnum: GradientJBSSA(element,gradient,control_interp,control_index); break;
|
---|
| 275 | case HOApproximationEnum: GradientJBHO( element,gradient,control_interp,control_index); break;
|
---|
| 276 | - // case MLHOApproximationEnum: GradientJBMLHO( element,gradient,control_interp,control_index); break;
|
---|
| 277 | + // case MOLHOApproximationEnum: GradientJBMOLHO( element,gradient,control_interp,control_index); break;
|
---|
| 278 | case FSApproximationEnum: GradientJBFS( element,gradient,control_interp,control_index); break;
|
---|
| 279 | case NoneApproximationEnum: /*Gradient is 0*/ break;
|
---|
| 280 | default: _error_("approximation " << EnumToStringx(approximation) << " not supported yet");
|
---|
| 281 | @@ -1809,7 +1809,7 @@
|
---|
| 282 | /*WARNING: We use SSA as an estimate for now*/
|
---|
| 283 | this->GradientJBbarSSA(element,gradient,control_interp,control_index);
|
---|
| 284 | }/*}}}*/
|
---|
| 285 | -void AdjointHorizAnalysis::GradientJBbarMLHO(Element* element,Vector<IssmDouble>* gradient,int control_interp,int control_index){/*{{{*/
|
---|
| 286 | +void AdjointHorizAnalysis::GradientJBbarMOLHO(Element* element,Vector<IssmDouble>* gradient,int control_interp,int control_index){/*{{{*/
|
---|
| 287 |
|
---|
| 288 | if(control_interp!=P1Enum) _error_("not implemented yet...");
|
---|
| 289 | /*Intermediaries*/
|
---|
| 290 | @@ -1892,10 +1892,10 @@
|
---|
| 291 | while(gauss_seg->next()){
|
---|
| 292 | zeta=0.5*(gauss_seg->coord1+1);
|
---|
| 293 |
|
---|
| 294 | - basalelement->StrainRateMLHO(&epsilon[0],xyz_list,gauss,
|
---|
| 295 | + basalelement->StrainRateMOLHO(&epsilon[0],xyz_list,gauss,
|
---|
| 296 | vxbase_input,vybase_input,vxshear_input,vyshear_input,thickness_input,n_input,zeta);
|
---|
| 297 |
|
---|
| 298 | - basalelement->dViscositydBMLHO(&dmudB,dim,xyz_list,gauss,vxbase_input,vybase_input,vxshear_input,vyshear_input,thickness_input,n_input,zeta);
|
---|
| 299 | + basalelement->dViscositydBMOLHO(&dmudB,dim,xyz_list,gauss,vxbase_input,vybase_input,vxshear_input,vyshear_input,thickness_input,n_input,zeta);
|
---|
| 300 |
|
---|
| 301 | e1[0] = 2.0*epsilon[0]+epsilon[1];
|
---|
| 302 | e1[1] = epsilon[2];
|
---|
| 303 | @@ -2250,7 +2250,7 @@
|
---|
| 304 | xDelete<int>(vertexpidlist);
|
---|
| 305 | delete gauss;
|
---|
| 306 | }/*}}}*/
|
---|
| 307 | -void AdjointHorizAnalysis::GradientJBMLHO(Element* element,Vector<IssmDouble>* gradient,int control_interp,int control_index){/*{{{*/
|
---|
| 308 | +void AdjointHorizAnalysis::GradientJBMOLHO(Element* element,Vector<IssmDouble>* gradient,int control_interp,int control_index){/*{{{*/
|
---|
| 309 | _error_("not implemented yet...");
|
---|
| 310 | }/*}}}*/
|
---|
| 311 | void AdjointHorizAnalysis::GradientJBSSA(Element* element,Vector<IssmDouble>* gradient,int control_interp,int control_index){/*{{{*/
|
---|
| 312 | @@ -2650,7 +2650,7 @@
|
---|
| 313 | delete gauss;
|
---|
| 314 | delete friction;
|
---|
| 315 | }/*}}}*/
|
---|
| 316 | -void AdjointHorizAnalysis::GradientJDragMLHO(Element* element,Vector<IssmDouble>* gradient,int control_interp,int control_index){/*{{{*/
|
---|
| 317 | +void AdjointHorizAnalysis::GradientJDragMOLHO(Element* element,Vector<IssmDouble>* gradient,int control_interp,int control_index){/*{{{*/
|
---|
| 318 |
|
---|
| 319 | /*return if floating (gradient is 0)*/
|
---|
| 320 | if(element->IsAllFloating()) return;
|
---|
| 321 | @@ -3271,8 +3271,8 @@
|
---|
| 322 | if(approximation==FSApproximationEnum || approximation==NoneApproximationEnum){
|
---|
| 323 | InputUpdateFromSolutionFS(solution,element);
|
---|
| 324 | }
|
---|
| 325 | - else if (approximation==MLHOApproximationEnum) {
|
---|
| 326 | - InputUpdateFromSolutionMLHO(solution, element);
|
---|
| 327 | + else if (approximation==MOLHOApproximationEnum) {
|
---|
| 328 | + InputUpdateFromSolutionMOLHO(solution, element);
|
---|
| 329 | }
|
---|
| 330 | else{
|
---|
| 331 | InputUpdateFromSolutionHoriz(solution,element);
|
---|
| 332 | @@ -3419,7 +3419,7 @@
|
---|
| 333 | xDelete<IssmDouble>(lambday);
|
---|
| 334 | xDelete<int>(doflist);
|
---|
| 335 | }/*}}}*/
|
---|
| 336 | -void AdjointHorizAnalysis::InputUpdateFromSolutionMLHO(IssmDouble* solution,Element* element){/*{{{*/
|
---|
| 337 | +void AdjointHorizAnalysis::InputUpdateFromSolutionMOLHO(IssmDouble* solution,Element* element){/*{{{*/
|
---|
| 338 | int i;
|
---|
| 339 | int* doflist=NULL;
|
---|
| 340 |
|
---|
| 341 | @@ -3432,7 +3432,7 @@
|
---|
| 342 | int numdof = numnodes * 4;
|
---|
| 343 |
|
---|
| 344 | /*Fetch dof list and allocate solution vectors*/
|
---|
| 345 | - element->GetDofListLocal(&doflist,MLHOApproximationEnum,GsetEnum);
|
---|
| 346 | + element->GetDofListLocal(&doflist,MOLHOApproximationEnum,GsetEnum);
|
---|
| 347 | IssmDouble* values = xNew<IssmDouble>(numdof);
|
---|
| 348 | IssmDouble* lambdax = xNew<IssmDouble>(numnodes);
|
---|
| 349 | IssmDouble* lambday = xNew<IssmDouble>(numnodes);
|
---|
| 350 | Index: ../trunk-jpl/src/c/analyses/AdjointHorizAnalysis.h
|
---|
| 351 | ===================================================================
|
---|
| 352 | --- ../trunk-jpl/src/c/analyses/AdjointHorizAnalysis.h (revision 27030)
|
---|
| 353 | +++ ../trunk-jpl/src/c/analyses/AdjointHorizAnalysis.h (revision 27031)
|
---|
| 354 | @@ -27,8 +27,8 @@
|
---|
| 355 | ElementMatrix* CreateKMatrix(Element* element);
|
---|
| 356 | ElementMatrix* CreateKMatrixFS(Element* element);
|
---|
| 357 | ElementMatrix* CreateKMatrixHO(Element* element);
|
---|
| 358 | - ElementMatrix* CreateKMatrixMLHO(Element* element);
|
---|
| 359 | - ElementMatrix* CreateKMatrixMLHOVerticalIntergrated(Element* element);
|
---|
| 360 | + ElementMatrix* CreateKMatrixMOLHO(Element* element);
|
---|
| 361 | + ElementMatrix* CreateKMatrixMOLHOVerticalIntergrated(Element* element);
|
---|
| 362 | ElementMatrix* CreateKMatrixL1L2(Element* element);
|
---|
| 363 | ElementMatrix* CreateKMatrixSSA(Element* element);
|
---|
| 364 | ElementVector* CreatePVector(Element* element);
|
---|
| 365 | @@ -35,7 +35,7 @@
|
---|
| 366 | ElementVector* CreatePVectorFS(Element* element);
|
---|
| 367 | ElementVector* CreatePVectorL1L2(Element* element);
|
---|
| 368 | ElementVector* CreatePVectorHO(Element* element);
|
---|
| 369 | - ElementVector* CreatePVectorMLHO(Element* element);
|
---|
| 370 | + ElementVector* CreatePVectorMOLHO(Element* element);
|
---|
| 371 | ElementVector* CreatePVectorSSA(Element* element);
|
---|
| 372 | void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
|
---|
| 373 | void GradientJ(Vector<IssmDouble>* gradient,Element* element,int control_type,int control_interp,int control_index);
|
---|
| 374 | @@ -44,18 +44,18 @@
|
---|
| 375 | void GradientJBinitial(Element* element,Vector<IssmDouble>* gradient,int control_interp,int control_index);
|
---|
| 376 | void GradientJBbarL1L2(Element* element,Vector<IssmDouble>* gradient,int control_interp,int control_index);
|
---|
| 377 | void GradientJBbarHO(Element* element,Vector<IssmDouble>* gradient,int control_interp,int control_index);
|
---|
| 378 | - void GradientJBbarMLHO(Element* element,Vector<IssmDouble>* gradient,int control_interp,int control_index);
|
---|
| 379 | + void GradientJBbarMOLHO(Element* element,Vector<IssmDouble>* gradient,int control_interp,int control_index);
|
---|
| 380 | void GradientJBbarSSA(Element* element,Vector<IssmDouble>* gradient,int control_interp,int control_index);
|
---|
| 381 | void GradientJBFS(Element* element,Vector<IssmDouble>* gradient,int control_interp,int control_index);
|
---|
| 382 | void GradientJBGradient(Element* element,Vector<IssmDouble>* gradient,int control_interp,int control_index);
|
---|
| 383 | void GradientJBHO(Element* element,Vector<IssmDouble>* gradient,int control_interp,int control_index);
|
---|
| 384 | - void GradientJBMLHO(Element* element,Vector<IssmDouble>* gradient,int control_interp,int control_index);
|
---|
| 385 | + void GradientJBMOLHO(Element* element,Vector<IssmDouble>* gradient,int control_interp,int control_index);
|
---|
| 386 | void GradientJBSSA(Element* element,Vector<IssmDouble>* gradient,int control_interp,int control_index);
|
---|
| 387 | void GradientJDragFS(Element* element,Vector<IssmDouble>* gradient,int control_interp,int control_index);
|
---|
| 388 | void GradientJDragGradient(Element* element,Vector<IssmDouble>* gradient,int control_interp,int control_index);
|
---|
| 389 | void GradientJDragL1L2(Element* element,Vector<IssmDouble>* gradient,int control_interp,int control_index);
|
---|
| 390 | void GradientJDragHO(Element* element,Vector<IssmDouble>* gradient,int control_interp,int control_index);
|
---|
| 391 | - void GradientJDragMLHO(Element* element,Vector<IssmDouble>* gradient,int control_interp,int control_index);
|
---|
| 392 | + void GradientJDragMOLHO(Element* element,Vector<IssmDouble>* gradient,int control_interp,int control_index);
|
---|
| 393 | void GradientJDragSSA(Element* element,Vector<IssmDouble>* gradient,int control_interp,int control_index);
|
---|
| 394 | void GradientJDragHydroFS(Element* element,Vector<IssmDouble>* gradient,int control_interp,int control_index);
|
---|
| 395 | void GradientJDragHydroL1L2(Element* element,Vector<IssmDouble>* gradient,int control_interp,int control_index);
|
---|
| 396 | @@ -65,7 +65,7 @@
|
---|
| 397 | void InputUpdateFromSolution(IssmDouble* solution,Element* element);
|
---|
| 398 | void InputUpdateFromSolutionFS(IssmDouble* solution,Element* element);
|
---|
| 399 | void InputUpdateFromSolutionHoriz(IssmDouble* solution,Element* element);
|
---|
| 400 | - void InputUpdateFromSolutionMLHO(IssmDouble* solution,Element* element);
|
---|
| 401 | + void InputUpdateFromSolutionMOLHO(IssmDouble* solution,Element* element);
|
---|
| 402 | void UpdateConstraints(FemModel* femmodel);
|
---|
| 403 | };
|
---|
| 404 | #endif
|
---|
| 405 | Index: ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
|
---|
| 406 | ===================================================================
|
---|
| 407 | --- ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp (revision 27030)
|
---|
| 408 | +++ ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp (revision 27031)
|
---|
| 409 | @@ -30,7 +30,7 @@
|
---|
| 410 | IssmDouble g;
|
---|
| 411 | IssmDouble rho_ice;
|
---|
| 412 | IssmDouble FSreconditioning;
|
---|
| 413 | - bool isSIA,isSSA,isL1L2,isMLHO,isHO,isFS,iscoupling;
|
---|
| 414 | + bool isSIA,isSSA,isL1L2,isMOLHO,isHO,isFS,iscoupling;
|
---|
| 415 | bool spcpresent = false;
|
---|
| 416 | int Mx,Nx;
|
---|
| 417 | int My,Ny;
|
---|
| 418 | @@ -58,15 +58,15 @@
|
---|
| 419 | iomodel->FindConstant(&isSIA,"md.flowequation.isSIA");
|
---|
| 420 | iomodel->FindConstant(&isSSA,"md.flowequation.isSSA");
|
---|
| 421 | iomodel->FindConstant(&isL1L2,"md.flowequation.isL1L2");
|
---|
| 422 | - iomodel->FindConstant(&isMLHO,"md.flowequation.isMLHO");
|
---|
| 423 | + iomodel->FindConstant(&isMOLHO,"md.flowequation.isMOLHO");
|
---|
| 424 | iomodel->FindConstant(&isHO,"md.flowequation.isHO");
|
---|
| 425 | iomodel->FindConstant(&isFS,"md.flowequation.isFS");
|
---|
| 426 |
|
---|
| 427 | /*Is this model only SIA??*/
|
---|
| 428 | - if(!isSSA && !isHO && !isFS && !isL1L2 && !isMLHO) return;
|
---|
| 429 | + if(!isSSA && !isHO && !isFS && !isL1L2 && !isMOLHO) return;
|
---|
| 430 |
|
---|
| 431 | /*Do we have coupling*/
|
---|
| 432 | - if((isSIA?1.:0.) + (isSSA?1.:0.) + (isL1L2?1.:0.) + (isMLHO?1.:0.) + (isHO?1.:0.) + (isFS?1.:0.) >1.)
|
---|
| 433 | + if((isSIA?1.:0.) + (isSSA?1.:0.) + (isL1L2?1.:0.) + (isMOLHO?1.:0.) + (isHO?1.:0.) + (isFS?1.:0.) >1.)
|
---|
| 434 | iscoupling = true;
|
---|
| 435 | else
|
---|
| 436 | iscoupling = false;
|
---|
| 437 | @@ -77,7 +77,7 @@
|
---|
| 438 | /*Get finite element type*/
|
---|
| 439 | if(isSSA) iomodel->FindConstant(&finiteelement,"md.flowequation.fe_SSA");
|
---|
| 440 | else if(isL1L2) finiteelement = P1Enum;
|
---|
| 441 | - else if(isMLHO) finiteelement = P1Enum;
|
---|
| 442 | + else if(isMOLHO) finiteelement = P1Enum;
|
---|
| 443 | else if(isHO) iomodel->FindConstant(&finiteelement,"md.flowequation.fe_HO");
|
---|
| 444 | else if(isFS){ iomodel->FindConstant(&finiteelement,"md.flowequation.fe_FS");
|
---|
| 445 | /*Deduce velocity interpolation from finite element*/
|
---|
| 446 | @@ -187,13 +187,13 @@
|
---|
| 447 | iomodel->DeleteData(z,"md.mesh.z");
|
---|
| 448 | }
|
---|
| 449 | else{
|
---|
| 450 | - if(!isMLHO){
|
---|
| 451 | + if(!isMOLHO){
|
---|
| 452 | IoModelToConstraintsx(constraints,iomodel,"md.stressbalance.spcvx",StressbalanceAnalysisEnum,finiteelement,0);
|
---|
| 453 | if(iomodel->domaintype!=Domain2DverticalEnum){
|
---|
| 454 | IoModelToConstraintsx(constraints,iomodel,"md.stressbalance.spcvy",StressbalanceAnalysisEnum,finiteelement,1);
|
---|
| 455 | }
|
---|
| 456 | }
|
---|
| 457 | - else{//MLHO
|
---|
| 458 | + else{//MOLHO
|
---|
| 459 | IoModelToConstraintsx(constraints,iomodel,"md.stressbalance.spcvx_base",StressbalanceAnalysisEnum,finiteelement,0);
|
---|
| 460 | IoModelToConstraintsx(constraints,iomodel,"md.stressbalance.spcvx_shear",StressbalanceAnalysisEnum,finiteelement,1);
|
---|
| 461 | IoModelToConstraintsx(constraints,iomodel,"md.stressbalance.spcvy_base",StressbalanceAnalysisEnum,finiteelement,2);
|
---|
| 462 | @@ -461,7 +461,7 @@
|
---|
| 463 | int i;
|
---|
| 464 | int count;
|
---|
| 465 | int penpair_ids[2];
|
---|
| 466 | - bool isSSA,isL1L2,isMLHO,isHO,isFS;
|
---|
| 467 | + bool isSSA,isL1L2,isMOLHO,isHO,isFS;
|
---|
| 468 | int numpenalties,numrifts,numriftsegments;
|
---|
| 469 | IssmDouble *riftinfo = NULL;
|
---|
| 470 | IssmDouble *penalties = NULL;
|
---|
| 471 | @@ -469,7 +469,7 @@
|
---|
| 472 |
|
---|
| 473 | /*Fetch parameters: */
|
---|
| 474 | iomodel->FindConstant(&isL1L2,"md.flowequation.isL1L2");
|
---|
| 475 | - iomodel->FindConstant(&isMLHO,"md.flowequation.isMLHO");
|
---|
| 476 | + iomodel->FindConstant(&isMOLHO,"md.flowequation.isMOLHO");
|
---|
| 477 | iomodel->FindConstant(&isFS,"md.flowequation.isFS");
|
---|
| 478 | iomodel->FindConstant(&isSSA,"md.flowequation.isSSA");
|
---|
| 479 | iomodel->FindConstant(&isHO,"md.flowequation.isHO");
|
---|
| 480 | @@ -476,7 +476,7 @@
|
---|
| 481 | iomodel->FindConstant(&numrifts,"md.rifts.numrifts");
|
---|
| 482 |
|
---|
| 483 | /*Is this SIA only?*/
|
---|
| 484 | - if(!isSSA && !isHO && !isFS && !isL1L2 && !isMLHO) return;
|
---|
| 485 | + if(!isSSA && !isHO && !isFS && !isL1L2 && !isMOLHO) return;
|
---|
| 486 |
|
---|
| 487 | /*Initialize counter: */
|
---|
| 488 | count=0;
|
---|
| 489 | @@ -521,21 +521,21 @@
|
---|
| 490 | void StressbalanceAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel,bool isamr){/*{{{*/
|
---|
| 491 |
|
---|
| 492 | /*Intermediary*/
|
---|
| 493 | - bool isSSA,isL1L2,isMLHO,isHO,isFS,iscoupling;
|
---|
| 494 | + bool isSSA,isL1L2,isMOLHO,isHO,isFS,iscoupling;
|
---|
| 495 | int finiteelement=-1,approximation=-1;
|
---|
| 496 |
|
---|
| 497 | /*Fetch parameters: */
|
---|
| 498 | iomodel->FindConstant(&isSSA,"md.flowequation.isSSA");
|
---|
| 499 | iomodel->FindConstant(&isL1L2,"md.flowequation.isL1L2");
|
---|
| 500 | - iomodel->FindConstant(&isMLHO,"md.flowequation.isMLHO");
|
---|
| 501 | + iomodel->FindConstant(&isMOLHO,"md.flowequation.isMOLHO");
|
---|
| 502 | iomodel->FindConstant(&isHO,"md.flowequation.isHO");
|
---|
| 503 | iomodel->FindConstant(&isFS,"md.flowequation.isFS");
|
---|
| 504 |
|
---|
| 505 | /*Now, check that we have non SIA elements */
|
---|
| 506 | - if(!isSSA && !isL1L2 && !isMLHO && !isHO && !isFS) return;
|
---|
| 507 | + if(!isSSA && !isL1L2 && !isMOLHO && !isHO && !isFS) return;
|
---|
| 508 |
|
---|
| 509 | /*Do we have coupling*/
|
---|
| 510 | - if( (isSSA?1.:0.) + (isL1L2?1.:0.) + (isMLHO?1.:0.) + (isHO?1.:0.) + (isFS?1.:0.) >1.)
|
---|
| 511 | + if( (isSSA?1.:0.) + (isL1L2?1.:0.) + (isMOLHO?1.:0.) + (isHO?1.:0.) + (isFS?1.:0.) >1.)
|
---|
| 512 | iscoupling = true;
|
---|
| 513 | else
|
---|
| 514 | iscoupling = false;
|
---|
| 515 | @@ -552,8 +552,8 @@
|
---|
| 516 | approximation = L1L2ApproximationEnum;
|
---|
| 517 | finiteelement = P1Enum;
|
---|
| 518 | }
|
---|
| 519 | - else if(isMLHO){
|
---|
| 520 | - approximation = MLHOApproximationEnum;
|
---|
| 521 | + else if(isMOLHO){
|
---|
| 522 | + approximation = MOLHOApproximationEnum;
|
---|
| 523 | finiteelement = P1Enum;
|
---|
| 524 | }
|
---|
| 525 | else if(isHO){
|
---|
| 526 | @@ -629,7 +629,7 @@
|
---|
| 527 | }
|
---|
| 528 | break;
|
---|
| 529 | case L1L2ApproximationEnum: numdofs = 2; break;
|
---|
| 530 | - case MLHOApproximationEnum: numdofs = 4; break;
|
---|
| 531 | + case MOLHOApproximationEnum: numdofs = 4; break;
|
---|
| 532 | case HOApproximationEnum:
|
---|
| 533 | switch(domaintype){
|
---|
| 534 | case Domain3DEnum: numdofs=2; break;
|
---|
| 535 | @@ -694,7 +694,7 @@
|
---|
| 536 | int approximation,frictionlaw;
|
---|
| 537 | int FrictionCoupling;
|
---|
| 538 | int* finiteelement_list=NULL;
|
---|
| 539 | - bool isSSA,isL1L2,isMLHO,isHO,isFS,iscoupling;
|
---|
| 540 | + bool isSSA,isL1L2,isMOLHO,isHO,isFS,iscoupling;
|
---|
| 541 | bool control_analysis;
|
---|
| 542 | bool dakota_analysis;
|
---|
| 543 | bool ismovingfront;
|
---|
| 544 | @@ -702,7 +702,7 @@
|
---|
| 545 | /*Fetch constants needed: */
|
---|
| 546 | iomodel->FindConstant(&isSSA,"md.flowequation.isSSA");
|
---|
| 547 | iomodel->FindConstant(&isL1L2,"md.flowequation.isL1L2");
|
---|
| 548 | - iomodel->FindConstant(&isMLHO,"md.flowequation.isMLHO");
|
---|
| 549 | + iomodel->FindConstant(&isMOLHO,"md.flowequation.isMOLHO");
|
---|
| 550 | iomodel->FindConstant(&isHO,"md.flowequation.isHO");
|
---|
| 551 | iomodel->FindConstant(&isFS,"md.flowequation.isFS");
|
---|
| 552 | iomodel->FindConstant(&control_analysis,"md.inversion.iscontrol");
|
---|
| 553 | @@ -712,7 +712,7 @@
|
---|
| 554 | iomodel->FindConstant(&frictionlaw,"md.friction.law");
|
---|
| 555 |
|
---|
| 556 | /*return if no processing required*/
|
---|
| 557 | - if(!isSSA && !isL1L2 && !isMLHO && !isHO && !isFS) return;
|
---|
| 558 | + if(!isSSA && !isL1L2 && !isMOLHO && !isHO && !isFS) return;
|
---|
| 559 |
|
---|
| 560 | /*Fetch data needed and allocate vectors: */
|
---|
| 561 | iomodel->FetchData(1,"md.flowequation.element_equation");
|
---|
| 562 | @@ -719,7 +719,7 @@
|
---|
| 563 | finiteelement_list=xNewZeroInit<int>(iomodel->numberofelements);
|
---|
| 564 |
|
---|
| 565 | /*Do we have coupling*/
|
---|
| 566 | - if( (isSSA?1.:0.) + (isL1L2?1.:0.) + (isMLHO?1.:0.) + (isHO?1.:0.) + (isFS?1.:0.) >1.)
|
---|
| 567 | + if( (isSSA?1.:0.) + (isL1L2?1.:0.) + (isMOLHO?1.:0.) + (isHO?1.:0.) + (isFS?1.:0.) >1.)
|
---|
| 568 | iscoupling = true;
|
---|
| 569 | else
|
---|
| 570 | iscoupling = false;
|
---|
| 571 | @@ -728,7 +728,7 @@
|
---|
| 572 | if(!iscoupling){
|
---|
| 573 | if(isSSA) iomodel->FindConstant(&finiteelement,"md.flowequation.fe_SSA");
|
---|
| 574 | else if(isL1L2) finiteelement = P1Enum;
|
---|
| 575 | - else if(isMLHO) finiteelement = P1Enum;
|
---|
| 576 | + else if(isMOLHO) finiteelement = P1Enum;
|
---|
| 577 | else if(isHO) iomodel->FindConstant(&finiteelement,"md.flowequation.fe_HO");
|
---|
| 578 | else if(isFS) iomodel->FindConstant(&finiteelement,"md.flowequation.fe_FS");
|
---|
| 579 | for(int i=0;i<iomodel->numberofelements;i++){
|
---|
| 580 | @@ -780,11 +780,11 @@
|
---|
| 581 | iomodel->FetchDataToInput(inputs,elements,"md.mask.ocean_levelset",MaskOceanLevelsetEnum);
|
---|
| 582 | iomodel->FetchDataToInput(inputs,elements,"md.initialization.vx",VxEnum,0.);
|
---|
| 583 | iomodel->FetchDataToInput(inputs,elements,"md.initialization.vy",VyEnum,0.);
|
---|
| 584 | - /*MLHO*/
|
---|
| 585 | - if(isMLHO){
|
---|
| 586 | + /*MOLHO*/
|
---|
| 587 | + if(isMOLHO){
|
---|
| 588 | iomodel->FetchDataToInput(inputs,elements,"md.initialization.vx",VxShearEnum,0.);
|
---|
| 589 | iomodel->FetchDataToInput(inputs,elements,"md.initialization.vy",VyShearEnum,0.);
|
---|
| 590 | - /*3D MLHO also need to have VxBase and VyBase for reconstruting Vx and Vy*/
|
---|
| 591 | + /*3D MOLHO also need to have VxBase and VyBase for reconstruting Vx and Vy*/
|
---|
| 592 | if (iomodel->domaintype==Domain3DEnum) {
|
---|
| 593 | iomodel->FetchDataToInput(inputs,elements,"md.initialization.vx",VxBaseEnum,0.);
|
---|
| 594 | iomodel->FetchDataToInput(inputs,elements,"md.initialization.vy",VyBaseEnum,0.);
|
---|
| 595 | @@ -989,7 +989,7 @@
|
---|
| 596 | parameters->AddObject(iomodel->CopyConstantObject("md.flowequation.isSIA",FlowequationIsSIAEnum));
|
---|
| 597 | parameters->AddObject(iomodel->CopyConstantObject("md.flowequation.isSSA",FlowequationIsSSAEnum));
|
---|
| 598 | parameters->AddObject(iomodel->CopyConstantObject("md.flowequation.isL1L2",FlowequationIsL1L2Enum));
|
---|
| 599 | - parameters->AddObject(iomodel->CopyConstantObject("md.flowequation.isMLHO",FlowequationIsMLHOEnum));
|
---|
| 600 | + parameters->AddObject(iomodel->CopyConstantObject("md.flowequation.isMOLHO",FlowequationIsMOLHOEnum));
|
---|
| 601 | parameters->AddObject(iomodel->CopyConstantObject("md.flowequation.isHO",FlowequationIsHOEnum));
|
---|
| 602 | parameters->AddObject(iomodel->CopyConstantObject("md.flowequation.isFS",FlowequationIsFSEnum));
|
---|
| 603 | parameters->AddObject(iomodel->CopyConstantObject("md.flowequation.fe_FS",FlowequationFeFSEnum));
|
---|
| 604 | @@ -1092,7 +1092,7 @@
|
---|
| 605 | void StressbalanceAnalysis::Core(FemModel* femmodel){/*{{{*/
|
---|
| 606 |
|
---|
| 607 | /*Intermediaries*/
|
---|
| 608 | - bool isSSA,isL1L2,isMLHO,isHO,isFS;
|
---|
| 609 | + bool isSSA,isL1L2,isMOLHO,isHO,isFS;
|
---|
| 610 | bool conserve_loads = true;
|
---|
| 611 | int newton,domaintype,fe_FS;
|
---|
| 612 |
|
---|
| 613 | @@ -1099,7 +1099,7 @@
|
---|
| 614 | /* recover parameters:*/
|
---|
| 615 | femmodel->parameters->FindParam(&isSSA,FlowequationIsSSAEnum);
|
---|
| 616 | femmodel->parameters->FindParam(&isL1L2,FlowequationIsL1L2Enum);
|
---|
| 617 | - femmodel->parameters->FindParam(&isMLHO,FlowequationIsMLHOEnum);
|
---|
| 618 | + femmodel->parameters->FindParam(&isMOLHO,FlowequationIsMOLHOEnum);
|
---|
| 619 | femmodel->parameters->FindParam(&isHO,FlowequationIsHOEnum);
|
---|
| 620 | femmodel->parameters->FindParam(&isFS,FlowequationIsFSEnum);
|
---|
| 621 | femmodel->parameters->FindParam(&fe_FS,FlowequationFeFSEnum);
|
---|
| 622 | @@ -1106,7 +1106,7 @@
|
---|
| 623 | femmodel->parameters->FindParam(&domaintype,DomainTypeEnum);
|
---|
| 624 | femmodel->parameters->FindParam(&newton,StressbalanceIsnewtonEnum);
|
---|
| 625 |
|
---|
| 626 | - if(isFS && !(isSSA || isHO || isL1L2 || isMLHO)){
|
---|
| 627 | + if(isFS && !(isSSA || isHO || isL1L2 || isMOLHO)){
|
---|
| 628 | femmodel->SetCurrentConfiguration(StressbalanceAnalysisEnum);
|
---|
| 629 |
|
---|
| 630 | bool is_schur_cg_solver = false;
|
---|
| 631 | @@ -1128,7 +1128,7 @@
|
---|
| 632 | else
|
---|
| 633 | solutionsequence_nonlinear(femmodel,conserve_loads);
|
---|
| 634 | }
|
---|
| 635 | - else if(!isFS && (isSSA || isHO || isL1L2 || isMLHO)){
|
---|
| 636 | + else if(!isFS && (isSSA || isHO || isL1L2 || isMOLHO)){
|
---|
| 637 | femmodel->SetCurrentConfiguration(StressbalanceAnalysisEnum);
|
---|
| 638 | if(newton>0)
|
---|
| 639 | solutionsequence_newton(femmodel);
|
---|
| 640 | @@ -1142,7 +1142,7 @@
|
---|
| 641 | extrudefrombase_core(femmodel);
|
---|
| 642 | }
|
---|
| 643 | }
|
---|
| 644 | - else if ((isSSA || isL1L2 || isMLHO || isHO) && isFS){
|
---|
| 645 | + else if ((isSSA || isL1L2 || isMOLHO || isHO) && isFS){
|
---|
| 646 | if(VerboseSolution()) _printf0_(" computing coupling between lower order models and FS\n");
|
---|
| 647 | solutionsequence_FScoupling_nonlinear(femmodel,conserve_loads);
|
---|
| 648 | }
|
---|
| 649 | @@ -1194,8 +1194,8 @@
|
---|
| 650 | return CreateKMatrixSSA(element);
|
---|
| 651 | case L1L2ApproximationEnum:
|
---|
| 652 | return CreateKMatrixL1L2(element);
|
---|
| 653 | - case MLHOApproximationEnum:
|
---|
| 654 | - return CreateKMatrixMLHO(element);
|
---|
| 655 | + case MOLHOApproximationEnum:
|
---|
| 656 | + return CreateKMatrixMOLHO(element);
|
---|
| 657 | case HOApproximationEnum:
|
---|
| 658 | return CreateKMatrixHO(element);
|
---|
| 659 | case FSApproximationEnum:
|
---|
| 660 | @@ -1223,8 +1223,8 @@
|
---|
| 661 | return CreatePVectorSSA(element);
|
---|
| 662 | case L1L2ApproximationEnum:
|
---|
| 663 | return CreatePVectorL1L2(element);
|
---|
| 664 | - case MLHOApproximationEnum:
|
---|
| 665 | - return CreatePVectorMLHO(element);
|
---|
| 666 | + case MOLHOApproximationEnum:
|
---|
| 667 | + return CreatePVectorMOLHO(element);
|
---|
| 668 | case HOApproximationEnum:
|
---|
| 669 | return CreatePVectorHO(element);
|
---|
| 670 | case FSApproximationEnum:
|
---|
| 671 | @@ -1252,8 +1252,8 @@
|
---|
| 672 | case SSAApproximationEnum: case HOApproximationEnum: case L1L2ApproximationEnum: case SIAApproximationEnum:
|
---|
| 673 | GetSolutionFromInputsHoriz(solution,element);
|
---|
| 674 | return;
|
---|
| 675 | - case MLHOApproximationEnum:
|
---|
| 676 | - GetSolutionFromInputsMLHO(solution,element);
|
---|
| 677 | + case MOLHOApproximationEnum:
|
---|
| 678 | + GetSolutionFromInputsMOLHO(solution,element);
|
---|
| 679 | return;
|
---|
| 680 | case SSAHOApproximationEnum: case HOFSApproximationEnum: case SSAFSApproximationEnum:
|
---|
| 681 | /*the elements around will create the solution*/
|
---|
| 682 | @@ -1334,8 +1334,8 @@
|
---|
| 683 | case L1L2ApproximationEnum:
|
---|
| 684 | InputUpdateFromSolutionL1L2(solution,element);
|
---|
| 685 | return;
|
---|
| 686 | - case MLHOApproximationEnum:
|
---|
| 687 | - InputUpdateFromSolutionMLHO(solution,element);
|
---|
| 688 | + case MOLHOApproximationEnum:
|
---|
| 689 | + InputUpdateFromSolutionMOLHO(solution,element);
|
---|
| 690 | return;
|
---|
| 691 | case SSAHOApproximationEnum:
|
---|
| 692 | InputUpdateFromSolutionSSAHO(solution,element);
|
---|
| 693 | @@ -2759,8 +2759,8 @@
|
---|
| 694 | if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;};
|
---|
| 695 | }/*}}}*/
|
---|
| 696 |
|
---|
| 697 | -/*MLHO*/
|
---|
| 698 | -ElementMatrix* StressbalanceAnalysis::CreateKMatrixMLHO(Element* element){/*{{{*/
|
---|
| 699 | +/*MOLHO*/
|
---|
| 700 | +ElementMatrix* StressbalanceAnalysis::CreateKMatrixMOLHO(Element* element){/*{{{*/
|
---|
| 701 |
|
---|
| 702 | /* Check if ice in element */
|
---|
| 703 | if(!element->IsIceInElement()) return NULL;
|
---|
| 704 | @@ -2783,8 +2783,8 @@
|
---|
| 705 | }
|
---|
| 706 |
|
---|
| 707 | /*compute all stiffness matrices for this element*/
|
---|
| 708 | - ElementMatrix* Ke1=CreateKMatrixMLHOViscous(basalelement);
|
---|
| 709 | - ElementMatrix* Ke2=CreateKMatrixMLHOFriction(basalelement);
|
---|
| 710 | + ElementMatrix* Ke1=CreateKMatrixMOLHOViscous(basalelement);
|
---|
| 711 | + ElementMatrix* Ke2=CreateKMatrixMOLHOFriction(basalelement);
|
---|
| 712 | ElementMatrix* Ke =new ElementMatrix(Ke1,Ke2);
|
---|
| 713 |
|
---|
| 714 | /*clean-up and return*/
|
---|
| 715 | @@ -2793,7 +2793,7 @@
|
---|
| 716 | delete Ke2;
|
---|
| 717 | return Ke;
|
---|
| 718 | }/*}}}*/
|
---|
| 719 | -ElementMatrix* StressbalanceAnalysis::CreateKMatrixMLHOFriction(Element* element){/*{{{*/
|
---|
| 720 | +ElementMatrix* StressbalanceAnalysis::CreateKMatrixMOLHOFriction(Element* element){/*{{{*/
|
---|
| 721 |
|
---|
| 722 | if(element->IsAllFloating()) return NULL;
|
---|
| 723 |
|
---|
| 724 | @@ -2820,7 +2820,7 @@
|
---|
| 725 | int numdof = numnodes*dim;
|
---|
| 726 |
|
---|
| 727 | /*Initialize Element matrix and vectors*/
|
---|
| 728 | - ElementMatrix* Ke = element->NewElementMatrix(MLHOApproximationEnum);
|
---|
| 729 | + ElementMatrix* Ke = element->NewElementMatrix(MOLHOApproximationEnum);
|
---|
| 730 | IssmDouble* basis = xNew<IssmDouble>(numnodes);
|
---|
| 731 |
|
---|
| 732 | /*Retrieve all inputs and parameters*/
|
---|
| 733 | @@ -2875,7 +2875,7 @@
|
---|
| 734 | xDelete<IssmDouble>(basis);
|
---|
| 735 | return Ke;
|
---|
| 736 | }/*}}}*/
|
---|
| 737 | -ElementMatrix* StressbalanceAnalysis::CreateKMatrixMLHOViscous(Element* element){/*{{{*/
|
---|
| 738 | +ElementMatrix* StressbalanceAnalysis::CreateKMatrixMOLHOViscous(Element* element){/*{{{*/
|
---|
| 739 |
|
---|
| 740 | /* Check if ice in element */
|
---|
| 741 | if(!element->IsIceInElement()) return NULL;
|
---|
| 742 | @@ -2890,7 +2890,7 @@
|
---|
| 743 | int numnodes = element->GetNumberOfNodes();
|
---|
| 744 |
|
---|
| 745 | /*Initialize Element matrix and vectors*/
|
---|
| 746 | - ElementMatrix* Ke = element->NewElementMatrix(MLHOApproximationEnum);
|
---|
| 747 | + ElementMatrix* Ke = element->NewElementMatrix(MOLHOApproximationEnum);
|
---|
| 748 | IssmDouble* dbasis = xNew<IssmDouble>(2*numnodes); // like SSA
|
---|
| 749 | IssmDouble* basis = xNew<IssmDouble>(numnodes); // like SSA
|
---|
| 750 |
|
---|
| 751 | @@ -2914,7 +2914,7 @@
|
---|
| 752 |
|
---|
| 753 | thickness_input->GetInputValue(&thickness, gauss);
|
---|
| 754 | n_input->GetInputValue(&n,gauss);
|
---|
| 755 | - element->material->ViscosityMLHO(&viscosity[0],dim,xyz_list,gauss,vxbase_input,vybase_input,vxshear_input,vyshear_input,thickness_input,n_input);
|
---|
| 756 | + element->material->ViscosityMOLHO(&viscosity[0],dim,xyz_list,gauss,vxbase_input,vybase_input,vxshear_input,vyshear_input,thickness_input,n_input);
|
---|
| 757 |
|
---|
| 758 | for(int i=0;i<numnodes;i++){//shape functions on tria element
|
---|
| 759 | for(int j=0;j<numnodes;j++){
|
---|
| 760 | @@ -2980,7 +2980,7 @@
|
---|
| 761 | }
|
---|
| 762 |
|
---|
| 763 | /*Transform Coordinate System*/
|
---|
| 764 | - //basalelement->TransformStiffnessMatrixCoord(Ke,XYMLHOEnum);
|
---|
| 765 | + //basalelement->TransformStiffnessMatrixCoord(Ke,XYMOLHOEnum);
|
---|
| 766 |
|
---|
| 767 | /*Clean up and return*/
|
---|
| 768 | delete gauss;
|
---|
| 769 | @@ -2989,7 +2989,7 @@
|
---|
| 770 | xDelete<IssmDouble>(basis);
|
---|
| 771 | return Ke;
|
---|
| 772 | }/*}}}*/
|
---|
| 773 | -ElementVector* StressbalanceAnalysis::CreatePVectorMLHO(Element* element){/*{{{*/
|
---|
| 774 | +ElementVector* StressbalanceAnalysis::CreatePVectorMOLHO(Element* element){/*{{{*/
|
---|
| 775 |
|
---|
| 776 | /* Check if ice in element */
|
---|
| 777 | if(!element->IsIceInElement()) return NULL;
|
---|
| 778 | @@ -3012,8 +3012,8 @@
|
---|
| 779 | }
|
---|
| 780 |
|
---|
| 781 | /*compute all load vectors for this element*/
|
---|
| 782 | - ElementVector* pe1=CreatePVectorMLHODrivingStress(basalelement);
|
---|
| 783 | - ElementVector* pe2=CreatePVectorMLHOFront(basalelement);
|
---|
| 784 | + ElementVector* pe1=CreatePVectorMOLHODrivingStress(basalelement);
|
---|
| 785 | + ElementVector* pe2=CreatePVectorMOLHOFront(basalelement);
|
---|
| 786 | ElementVector* pe =new ElementVector(pe1,pe2);
|
---|
| 787 |
|
---|
| 788 | /*clean-up and return*/
|
---|
| 789 | @@ -3022,7 +3022,7 @@
|
---|
| 790 | delete pe2;
|
---|
| 791 | return pe;
|
---|
| 792 | }/*}}}*/
|
---|
| 793 | -ElementVector* StressbalanceAnalysis::CreatePVectorMLHODrivingStress(Element* element){/*{{{*/
|
---|
| 794 | +ElementVector* StressbalanceAnalysis::CreatePVectorMOLHODrivingStress(Element* element){/*{{{*/
|
---|
| 795 |
|
---|
| 796 | /*Intermediaries */
|
---|
| 797 | IssmDouble thickness,Jdet,slope[2],n;
|
---|
| 798 | @@ -3032,7 +3032,7 @@
|
---|
| 799 | int numnodes = element->GetNumberOfNodes();
|
---|
| 800 |
|
---|
| 801 | /*Initialize Element vector and vectors*/
|
---|
| 802 | - ElementVector* pe = element->NewElementVector(MLHOApproximationEnum);
|
---|
| 803 | + ElementVector* pe = element->NewElementVector(MOLHOApproximationEnum);
|
---|
| 804 | IssmDouble* basis = xNew<IssmDouble>(numnodes);
|
---|
| 805 |
|
---|
| 806 | /*Retrieve all inputs and parameters*/
|
---|
| 807 | @@ -3061,7 +3061,7 @@
|
---|
| 808 | }
|
---|
| 809 |
|
---|
| 810 | /*Transform coordinate system*/
|
---|
| 811 | - //element->TransformLoadVectorCoord(pe,XYMLHOEnum);
|
---|
| 812 | + //element->TransformLoadVectorCoord(pe,XYMOLHOEnum);
|
---|
| 813 |
|
---|
| 814 | /*Clean up and return*/
|
---|
| 815 | xDelete<IssmDouble>(xyz_list);
|
---|
| 816 | @@ -3069,7 +3069,7 @@
|
---|
| 817 | delete gauss;
|
---|
| 818 | return pe;
|
---|
| 819 | }/*}}}*/
|
---|
| 820 | -ElementVector* StressbalanceAnalysis::CreatePVectorMLHOFront(Element* element){/*{{{*/
|
---|
| 821 | +ElementVector* StressbalanceAnalysis::CreatePVectorMOLHOFront(Element* element){/*{{{*/
|
---|
| 822 |
|
---|
| 823 | /*If no front, return NULL*/
|
---|
| 824 | if(!element->IsIcefront()) return NULL;
|
---|
| 825 | @@ -3085,7 +3085,7 @@
|
---|
| 826 | int numnodes = element->GetNumberOfNodes();
|
---|
| 827 |
|
---|
| 828 | /*Initialize Element vector and other vectors*/
|
---|
| 829 | - ElementVector* pe = element->NewElementVector(MLHOApproximationEnum);
|
---|
| 830 | + ElementVector* pe = element->NewElementVector(MOLHOApproximationEnum);
|
---|
| 831 | IssmDouble* basis = xNew<IssmDouble>(numnodes);
|
---|
| 832 |
|
---|
| 833 | /*Retrieve all inputs and parameters*/
|
---|
| 834 | @@ -3134,7 +3134,7 @@
|
---|
| 835 | }
|
---|
| 836 |
|
---|
| 837 | /*Transform coordinate system*/
|
---|
| 838 | - //element->TransformLoadVectorCoord(pe,XYMLHOEnum);
|
---|
| 839 | + //element->TransformLoadVectorCoord(pe,XYMOLHOEnum);
|
---|
| 840 |
|
---|
| 841 | /*Clean up and return*/
|
---|
| 842 | xDelete<IssmDouble>(xyz_list);
|
---|
| 843 | @@ -3143,7 +3143,7 @@
|
---|
| 844 | delete gauss;
|
---|
| 845 | return pe;
|
---|
| 846 | }/*}}}*/
|
---|
| 847 | -void StressbalanceAnalysis::InputUpdateFromSolutionMLHO(IssmDouble* solution,Element* element){/*{{{*/
|
---|
| 848 | +void StressbalanceAnalysis::InputUpdateFromSolutionMOLHO(IssmDouble* solution,Element* element){/*{{{*/
|
---|
| 849 |
|
---|
| 850 | int i,dim,domaintype;
|
---|
| 851 | IssmDouble rho_ice,g;
|
---|
| 852 | @@ -3196,7 +3196,7 @@
|
---|
| 853 | int numdof = numnodes*dim*2; //2xdim DOFs per node
|
---|
| 854 |
|
---|
| 855 | /*Fetch dof list and allocate solution vectors*/
|
---|
| 856 | - basalelement->GetDofListLocal(&doflist,MLHOApproximationEnum,GsetEnum);
|
---|
| 857 | + basalelement->GetDofListLocal(&doflist,MOLHOApproximationEnum,GsetEnum);
|
---|
| 858 | IssmDouble* values = xNew<IssmDouble>(numdof);
|
---|
| 859 | IssmDouble* vbx = xNew<IssmDouble>(numnodes);
|
---|
| 860 | IssmDouble* vby = xNew<IssmDouble>(numnodes);
|
---|
| 861 | @@ -3219,7 +3219,7 @@
|
---|
| 862 | if(dim==2) basalelement->TransformSolutionCoord(&values[0],XYEnum);
|
---|
| 863 |
|
---|
| 864 | /*Ok, we have vx and vy in values, fill in vx and vy arrays: */
|
---|
| 865 | - for(i=0;i<numnodes;i++){ //numnodes of the 2D mesh in which the MLHO is written
|
---|
| 866 | + for(i=0;i<numnodes;i++){ //numnodes of the 2D mesh in which the MOLHO is written
|
---|
| 867 | vbx[i] =values[i*4+0]; //base vx
|
---|
| 868 | vshx[i]=values[i*4+1]; //shear vx
|
---|
| 869 | vsx[i] =vbx[i]+vshx[i]; //surface vx
|
---|
| 870 | @@ -3256,7 +3256,7 @@
|
---|
| 871 |
|
---|
| 872 | switch(domaintype){
|
---|
| 873 | case Domain2DhorizontalEnum:
|
---|
| 874 | - for(i=0;i<numnodes;i++){ //numnodes of the 2D mesh in which the MLHO is written
|
---|
| 875 | + for(i=0;i<numnodes;i++){ //numnodes of the 2D mesh in which the MOLHO is written
|
---|
| 876 | vx[i]=vbx[i]+vshx[i]*(n[i]+1)/(n[i]+2);
|
---|
| 877 | vy[i]=vby[i]+vshy[i]*(n[i]+1)/(n[i]+2);
|
---|
| 878 | vel[i]=sqrt(vx[i]*vx[i] + vy[i]*vy[i]);
|
---|
| 879 | @@ -3268,8 +3268,8 @@
|
---|
| 880 | case Domain3DEnum:
|
---|
| 881 | basalelement->GetInputListOnNodes(&H[0],ThicknessEnum,0.);
|
---|
| 882 | basalelement->GetInputListOnNodes(&s[0],SurfaceEnum,0.);
|
---|
| 883 | - element->Recover3DMLHOInput(VxEnum, numnodes, vbx, vshx, n, H, s);
|
---|
| 884 | - element->Recover3DMLHOInput(VyEnum, numnodes, vby, vshy, n, H, s);
|
---|
| 885 | + element->Recover3DMOLHOInput(VxEnum, numnodes, vbx, vshx, n, H, s);
|
---|
| 886 | + element->Recover3DMOLHOInput(VyEnum, numnodes, vby, vshy, n, H, s);
|
---|
| 887 | break;
|
---|
| 888 | default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet");
|
---|
| 889 | }
|
---|
| 890 | @@ -3293,7 +3293,7 @@
|
---|
| 891 | xDelete<int>(doflist);
|
---|
| 892 | if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;};
|
---|
| 893 | }/*}}}*/
|
---|
| 894 | -void StressbalanceAnalysis::GetSolutionFromInputsMLHO(Vector<IssmDouble>* solution,Element* element){/*{{{*/
|
---|
| 895 | +void StressbalanceAnalysis::GetSolutionFromInputsMOLHO(Vector<IssmDouble>* solution,Element* element){/*{{{*/
|
---|
| 896 |
|
---|
| 897 | IssmDouble vbx,vby,vshx,vshy;
|
---|
| 898 | int domaintype,dim,approximation,dofpernode;
|
---|
| 899 | @@ -3312,7 +3312,7 @@
|
---|
| 900 | int numnodes = element->GetNumberOfNodes();
|
---|
| 901 | int numdof = numnodes*dofpernode;
|
---|
| 902 | element->GetInputValue(&approximation,ApproximationEnum);
|
---|
| 903 | - if(approximation!=MLHOApproximationEnum) _error_("mesh "<<EnumToStringx(approximation)<<" not supported here");
|
---|
| 904 | + if(approximation!=MOLHOApproximationEnum) _error_("mesh "<<EnumToStringx(approximation)<<" not supported here");
|
---|
| 905 |
|
---|
| 906 | /*Fetch dof list and allocate solution vector*/
|
---|
| 907 | element->GetDofList(&doflist,approximation,GsetEnum);
|
---|
| 908 | Index: ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.h
|
---|
| 909 | ===================================================================
|
---|
| 910 | --- ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.h (revision 27030)
|
---|
| 911 | +++ ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.h (revision 27031)
|
---|
| 912 | @@ -56,15 +56,15 @@
|
---|
| 913 | ElementVector* CreatePVectorL1L2Front(Element* element);
|
---|
| 914 | ElementVector* CreatePVectorL1L2DrivingStress(Element* element);
|
---|
| 915 | void InputUpdateFromSolutionL1L2(IssmDouble* solution,Element* element);
|
---|
| 916 | - /*MLHO*/
|
---|
| 917 | - ElementMatrix* CreateKMatrixMLHO(Element* element);
|
---|
| 918 | - ElementMatrix* CreateKMatrixMLHOFriction(Element* element);
|
---|
| 919 | - ElementMatrix* CreateKMatrixMLHOViscous(Element* element);
|
---|
| 920 | - ElementVector* CreatePVectorMLHO(Element* element);
|
---|
| 921 | - ElementVector* CreatePVectorMLHOFront(Element* element);
|
---|
| 922 | - ElementVector* CreatePVectorMLHODrivingStress(Element* element);
|
---|
| 923 | - void InputUpdateFromSolutionMLHO(IssmDouble* solution,Element* element);
|
---|
| 924 | - void GetSolutionFromInputsMLHO(Vector<IssmDouble>* solution,Element* element);
|
---|
| 925 | + /*MOLHO*/
|
---|
| 926 | + ElementMatrix* CreateKMatrixMOLHO(Element* element);
|
---|
| 927 | + ElementMatrix* CreateKMatrixMOLHOFriction(Element* element);
|
---|
| 928 | + ElementMatrix* CreateKMatrixMOLHOViscous(Element* element);
|
---|
| 929 | + ElementVector* CreatePVectorMOLHO(Element* element);
|
---|
| 930 | + ElementVector* CreatePVectorMOLHOFront(Element* element);
|
---|
| 931 | + ElementVector* CreatePVectorMOLHODrivingStress(Element* element);
|
---|
| 932 | + void InputUpdateFromSolutionMOLHO(IssmDouble* solution,Element* element);
|
---|
| 933 | + void GetSolutionFromInputsMOLHO(Vector<IssmDouble>* solution,Element* element);
|
---|
| 934 | /*HO*/
|
---|
| 935 | ElementMatrix* CreateJacobianMatrixHO(Element* element);
|
---|
| 936 | ElementMatrix* CreateKMatrixHO(Element* element);
|
---|
| 937 | Index: ../trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.cpp
|
---|
| 938 | ===================================================================
|
---|
| 939 | --- ../trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.cpp (revision 27030)
|
---|
| 940 | +++ ../trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.cpp (revision 27031)
|
---|
| 941 | @@ -9,13 +9,13 @@
|
---|
| 942 | void StressbalanceSIAAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/
|
---|
| 943 |
|
---|
| 944 | /*Intermediaries*/
|
---|
| 945 | - bool isSIA,isSSA,isL1L2,isMLHO,isHO,isFS,iscoupling;
|
---|
| 946 | + bool isSIA,isSSA,isL1L2,isMOLHO,isHO,isFS,iscoupling;
|
---|
| 947 |
|
---|
| 948 | /*Fetch parameters: */
|
---|
| 949 | iomodel->FindConstant(&isSIA,"md.flowequation.isSIA");
|
---|
| 950 | iomodel->FindConstant(&isSSA,"md.flowequation.isSSA");
|
---|
| 951 | iomodel->FindConstant(&isL1L2,"md.flowequation.isL1L2");
|
---|
| 952 | - iomodel->FindConstant(&isMLHO,"md.flowequation.isMLHO");
|
---|
| 953 | + iomodel->FindConstant(&isMOLHO,"md.flowequation.isMOLHO");
|
---|
| 954 | iomodel->FindConstant(&isHO,"md.flowequation.isHO");
|
---|
| 955 | iomodel->FindConstant(&isFS,"md.flowequation.isFS");
|
---|
| 956 |
|
---|
| 957 | @@ -23,7 +23,7 @@
|
---|
| 958 | if (!isSIA) return;
|
---|
| 959 |
|
---|
| 960 | /*Do we have coupling*/
|
---|
| 961 | - if((isSIA?1.:0.) + (isSSA?1.:0.) + (isL1L2?1.:0.) + (isMLHO?1.:0.) + (isHO?1.:0.) + (isFS?1.:0.) >1.)
|
---|
| 962 | + if((isSIA?1.:0.) + (isSSA?1.:0.) + (isL1L2?1.:0.) + (isMOLHO?1.:0.) + (isHO?1.:0.) + (isFS?1.:0.) >1.)
|
---|
| 963 | iscoupling = true;
|
---|
| 964 | else
|
---|
| 965 | iscoupling = false;
|
---|
| 966 | Index: ../trunk-jpl/src/c/analyses/StressbalanceVerticalAnalysis.cpp
|
---|
| 967 | ===================================================================
|
---|
| 968 | --- ../trunk-jpl/src/c/analyses/StressbalanceVerticalAnalysis.cpp (revision 27030)
|
---|
| 969 | +++ ../trunk-jpl/src/c/analyses/StressbalanceVerticalAnalysis.cpp (revision 27031)
|
---|
| 970 | @@ -11,7 +11,7 @@
|
---|
| 971 | void StressbalanceVerticalAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/
|
---|
| 972 |
|
---|
| 973 | /*Intermediary*/
|
---|
| 974 | - bool isSIA,isSSA,isL1L2,isMLHO,isHO,isFS,iscoupling;
|
---|
| 975 | + bool isSIA,isSSA,isL1L2,isMOLHO,isHO,isFS,iscoupling;
|
---|
| 976 | int Mz,Nz;
|
---|
| 977 | IssmDouble *spcvz = NULL;
|
---|
| 978 |
|
---|
| 979 | @@ -22,12 +22,12 @@
|
---|
| 980 | iomodel->FindConstant(&isSIA,"md.flowequation.isSIA");
|
---|
| 981 | iomodel->FindConstant(&isSSA,"md.flowequation.isSSA");
|
---|
| 982 | iomodel->FindConstant(&isL1L2,"md.flowequation.isL1L2");
|
---|
| 983 | - iomodel->FindConstant(&isMLHO,"md.flowequation.isMLHO");
|
---|
| 984 | + iomodel->FindConstant(&isMOLHO,"md.flowequation.isMOLHO");
|
---|
| 985 | iomodel->FindConstant(&isHO,"md.flowequation.isHO");
|
---|
| 986 | iomodel->FindConstant(&isFS,"md.flowequation.isFS");
|
---|
| 987 |
|
---|
| 988 | /*Do we have coupling*/
|
---|
| 989 | - if((isSIA?1.:0.) + (isSSA?1.:0.) + (isL1L2?1.:0.) + (isMLHO?1.:0.) + (isHO?1.:0.) + (isFS?1.:0.) >1.)
|
---|
| 990 | + if((isSIA?1.:0.) + (isSSA?1.:0.) + (isL1L2?1.:0.) + (isMOLHO?1.:0.) + (isHO?1.:0.) + (isFS?1.:0.) >1.)
|
---|
| 991 | iscoupling = true;
|
---|
| 992 | else
|
---|
| 993 | iscoupling = false;
|
---|
| 994 | Index: ../trunk-jpl/src/c/classes/Elements/Element.cpp
|
---|
| 995 | ===================================================================
|
---|
| 996 | --- ../trunk-jpl/src/c/classes/Elements/Element.cpp (revision 27030)
|
---|
| 997 | +++ ../trunk-jpl/src/c/classes/Elements/Element.cpp (revision 27031)
|
---|
| 998 | @@ -1040,7 +1040,7 @@
|
---|
| 999 |
|
---|
| 1000 | }
|
---|
| 1001 | /*}}}*/
|
---|
| 1002 | -void Element::dViscositydBMLHO(IssmDouble* pdmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vxbase_input,Input* vybase_input, Input* vxshear_input ,Input* vyshear_input,Input* thickness_input,Input* n_input, IssmDouble zeta){/*{{{*/
|
---|
| 1003 | +void Element::dViscositydBMOLHO(IssmDouble* pdmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vxbase_input,Input* vybase_input, Input* vxshear_input ,Input* vyshear_input,Input* thickness_input,Input* n_input, IssmDouble zeta){/*{{{*/
|
---|
| 1004 |
|
---|
| 1005 | /*Intermediaries*/
|
---|
| 1006 | int materialstype;
|
---|
| 1007 | @@ -1050,7 +1050,7 @@
|
---|
| 1008 | IssmDouble eps0=1.e-27;
|
---|
| 1009 |
|
---|
| 1010 | /* eps_eff^2 = exx^2 + eyy^2 + exy^2 + exz^2 + eyz^2 + exx*eyy */
|
---|
| 1011 | - this->StrainRateMLHO(&epsilon[0],xyz_list,gauss,
|
---|
| 1012 | + this->StrainRateMOLHO(&epsilon[0],xyz_list,gauss,
|
---|
| 1013 | vxbase_input,vybase_input,vxshear_input,vyshear_input,thickness_input,n_input,zeta);
|
---|
| 1014 | eps_eff=sqrt(epsilon[0]*epsilon[0] + epsilon[1]*epsilon[1] + epsilon[2]*epsilon[2]
|
---|
| 1015 | + epsilon[3]*epsilon[3] + epsilon[4]*epsilon[4] + epsilon[0]*epsilon[1] + eps0*eps0);
|
---|
| 1016 | @@ -4618,8 +4618,8 @@
|
---|
| 1017 | epsilon[1] = 0.5*dvx[1];
|
---|
| 1018 |
|
---|
| 1019 | }/*}}}*/
|
---|
| 1020 | -void Element::StrainRateMLHO(IssmDouble* epsilon,IssmDouble* xyz_list,Gauss* gauss,Input* vxbase_input,Input* vybase_input,Input* vxshear_input,Input* vyshear_input,Input* thickness_input,Input* n_input,IssmDouble zeta){/*{{{*/
|
---|
| 1021 | - /*Compute the 2d Blatter/MLHO Strain Rate (5 components) for a given vertical coordinate (zeta):
|
---|
| 1022 | +void Element::StrainRateMOLHO(IssmDouble* epsilon,IssmDouble* xyz_list,Gauss* gauss,Input* vxbase_input,Input* vybase_input,Input* vxshear_input,Input* vyshear_input,Input* thickness_input,Input* n_input,IssmDouble zeta){/*{{{*/
|
---|
| 1023 | + /*Compute the 2d Blatter/MOLHO Strain Rate (5 components) for a given vertical coordinate (zeta):
|
---|
| 1024 | *
|
---|
| 1025 | * epsilon=[exx eyy exy exz eyz]
|
---|
| 1026 | *
|
---|
| 1027 | Index: ../trunk-jpl/src/c/classes/Elements/Element.h
|
---|
| 1028 | ===================================================================
|
---|
| 1029 | --- ../trunk-jpl/src/c/classes/Elements/Element.h (revision 27030)
|
---|
| 1030 | +++ ../trunk-jpl/src/c/classes/Elements/Element.h (revision 27031)
|
---|
| 1031 | @@ -85,7 +85,7 @@
|
---|
| 1032 | void dViscositydBFS(IssmDouble* pdmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input);
|
---|
| 1033 | void dViscositydBHO(IssmDouble* pdmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input);
|
---|
| 1034 | void dViscositydBSSA(IssmDouble* pdmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input);
|
---|
| 1035 | - void dViscositydBMLHO(IssmDouble* pdmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vxbase_input,Input* vybase_input, Input* vxshear_input ,Input* vyshear_input,Input* thickness_input,Input* n_input, IssmDouble zeta);
|
---|
| 1036 | + void dViscositydBMOLHO(IssmDouble* pdmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vxbase_input,Input* vybase_input, Input* vxshear_input ,Input* vyshear_input,Input* thickness_input,Input* n_input, IssmDouble zeta);
|
---|
| 1037 | void dViscositydDSSA(IssmDouble* pdmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input);
|
---|
| 1038 | void Echo();
|
---|
| 1039 | void FindParam(bool* pvalue,int paramenum);
|
---|
| 1040 | @@ -189,7 +189,7 @@
|
---|
| 1041 | void StrainRateFS(IssmDouble* epsilon,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input);
|
---|
| 1042 | void StrainRateHO(IssmDouble* epsilon,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input);
|
---|
| 1043 | void StrainRateHO2dvertical(IssmDouble* epsilon,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input);
|
---|
| 1044 | - void StrainRateMLHO(IssmDouble* epsilon,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vxshear_input,Input* vyshear_input,Input* thickness_input,Input* n_input,IssmDouble zeta);
|
---|
| 1045 | + void StrainRateMOLHO(IssmDouble* epsilon,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vxshear_input,Input* vyshear_input,Input* thickness_input,Input* n_input,IssmDouble zeta);
|
---|
| 1046 | void StrainRateSSA(IssmDouble* epsilon,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input);
|
---|
| 1047 | void StrainRateSSA1d(IssmDouble* epsilon,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input);
|
---|
| 1048 | void StressMaxPrincipalCreateInput(void);
|
---|
| 1049 | @@ -350,7 +350,7 @@
|
---|
| 1050 | virtual int NumberofNodesVelocity(void)=0;
|
---|
| 1051 | virtual void PotentialUngrounding(Vector<IssmDouble>* potential_sheet_ungrounding)=0;
|
---|
| 1052 | virtual int PressureInterpolation()=0;
|
---|
| 1053 | - virtual void Recover3DMLHOInput(int targetVel_enum, int numnodes, IssmDouble* vb, IssmDouble* vsh, IssmDouble* n, IssmDouble* H, IssmDouble* s){_error_("not implemented yet");};
|
---|
| 1054 | + virtual void Recover3DMOLHOInput(int targetVel_enum, int numnodes, IssmDouble* vb, IssmDouble* vsh, IssmDouble* n, IssmDouble* H, IssmDouble* s){_error_("not implemented yet");};
|
---|
| 1055 | virtual void ReduceMatrices(ElementMatrix* Ke,ElementVector* pe)=0;
|
---|
| 1056 | virtual void ResetFSBasalBoundaryCondition()=0;
|
---|
| 1057 | virtual void ResetHooks()=0;
|
---|
| 1058 | Index: ../trunk-jpl/src/c/classes/Elements/Penta.cpp
|
---|
| 1059 | ===================================================================
|
---|
| 1060 | --- ../trunk-jpl/src/c/classes/Elements/Penta.cpp (revision 27030)
|
---|
| 1061 | +++ ../trunk-jpl/src/c/classes/Elements/Penta.cpp (revision 27031)
|
---|
| 1062 | @@ -3281,7 +3281,7 @@
|
---|
| 1063 | return PentaRef::PressureInterpolation(this->element_type);
|
---|
| 1064 | }
|
---|
| 1065 | /*}}}*/
|
---|
| 1066 | -void Penta::Recover3DMLHOInput(int targetVel_enum, int numnodes, IssmDouble* vb, IssmDouble* vsh, IssmDouble* n, IssmDouble* H, IssmDouble* s){/*{{{*/
|
---|
| 1067 | +void Penta::Recover3DMOLHOInput(int targetVel_enum, int numnodes, IssmDouble* vb, IssmDouble* vsh, IssmDouble* n, IssmDouble* H, IssmDouble* s){/*{{{*/
|
---|
| 1068 | /* Recover the velocity acording to v=vb+(1-\zeta^{n+1})vsh, where \zeta=(s-z)/H
|
---|
| 1069 | * The variables vb, vsh, n, H and s are all from the 2D horizontal mesh(Tria), with "numnodes" DOFs
|
---|
| 1070 | * To project to penta the DOFs are doubled in size
|
---|
| 1071 | Index: ../trunk-jpl/src/c/classes/Elements/Penta.h
|
---|
| 1072 | ===================================================================
|
---|
| 1073 | --- ../trunk-jpl/src/c/classes/Elements/Penta.h (revision 27030)
|
---|
| 1074 | +++ ../trunk-jpl/src/c/classes/Elements/Penta.h (revision 27031)
|
---|
| 1075 | @@ -169,7 +169,7 @@
|
---|
| 1076 | int NumberofNodesVelocity(void);
|
---|
| 1077 | void PotentialUngrounding(Vector<IssmDouble>* potential_sheet_ungrounding);
|
---|
| 1078 | int PressureInterpolation();
|
---|
| 1079 | - void Recover3DMLHOInput(int targetVel_enum, int numnodes, IssmDouble* vb, IssmDouble* vsh, IssmDouble* n, IssmDouble* H, IssmDouble* s);
|
---|
| 1080 | + void Recover3DMOLHOInput(int targetVel_enum, int numnodes, IssmDouble* vb, IssmDouble* vsh, IssmDouble* n, IssmDouble* H, IssmDouble* s);
|
---|
| 1081 | void ReduceMatrices(ElementMatrix* Ke,ElementVector* pe);
|
---|
| 1082 | void ResetFSBasalBoundaryCondition(void);
|
---|
| 1083 | void ResetHooks();
|
---|
| 1084 | Index: ../trunk-jpl/src/c/classes/FemModel.cpp
|
---|
| 1085 | ===================================================================
|
---|
| 1086 | --- ../trunk-jpl/src/c/classes/FemModel.cpp (revision 27030)
|
---|
| 1087 | +++ ../trunk-jpl/src/c/classes/FemModel.cpp (revision 27031)
|
---|
| 1088 | @@ -3218,7 +3218,7 @@
|
---|
| 1089 | this->parameters->FindParam(&temp,FlowequationIsSIAEnum); iomodel->AddConstant(new IoConstant(temp,"md.flowequation.isSIA"));
|
---|
| 1090 | this->parameters->FindParam(&temp,FlowequationIsSSAEnum); iomodel->AddConstant(new IoConstant(temp,"md.flowequation.isSSA"));
|
---|
| 1091 | this->parameters->FindParam(&temp,FlowequationIsL1L2Enum); iomodel->AddConstant(new IoConstant(temp,"md.flowequation.isL1L2"));
|
---|
| 1092 | - this->parameters->FindParam(&temp,FlowequationIsMLHOEnum); iomodel->AddConstant(new IoConstant(temp,"md.flowequation.isMLHO"));
|
---|
| 1093 | + this->parameters->FindParam(&temp,FlowequationIsMOLHOEnum); iomodel->AddConstant(new IoConstant(temp,"md.flowequation.isMOLHO"));
|
---|
| 1094 | this->parameters->FindParam(&temp,FlowequationIsHOEnum); iomodel->AddConstant(new IoConstant(temp,"md.flowequation.isHO"));
|
---|
| 1095 | this->parameters->FindParam(&temp,FlowequationIsFSEnum); iomodel->AddConstant(new IoConstant(temp,"md.flowequation.isFS"));
|
---|
| 1096 | this->parameters->FindParam(&tempint,MasstransportStabilizationEnum); iomodel->AddConstant(new IoConstant(tempint,"md.masstransport.stabilization"));
|
---|
| 1097 | Index: ../trunk-jpl/src/c/classes/Loads/Penpair.cpp
|
---|
| 1098 | ===================================================================
|
---|
| 1099 | --- ../trunk-jpl/src/c/classes/Loads/Penpair.cpp (revision 27030)
|
---|
| 1100 | +++ ../trunk-jpl/src/c/classes/Loads/Penpair.cpp (revision 27031)
|
---|
| 1101 | @@ -354,9 +354,9 @@
|
---|
| 1102 | case HOApproximationEnum: return PenaltyCreateKMatrixStressbalanceSSAHO(kmax);
|
---|
| 1103 | default: _error_("Approximation "<<EnumToStringx(approximation1)<<" not supported yet");
|
---|
| 1104 | }
|
---|
| 1105 | - case MLHOApproximationEnum:
|
---|
| 1106 | + case MOLHOApproximationEnum:
|
---|
| 1107 | switch(approximation1){
|
---|
| 1108 | - case MLHOApproximationEnum: return PenaltyCreateKMatrixStressbalanceSSAHO(kmax);
|
---|
| 1109 | + case MOLHOApproximationEnum: return PenaltyCreateKMatrixStressbalanceSSAHO(kmax);
|
---|
| 1110 | default: _error_("Approximation "<<EnumToStringx(approximation1)<<" not supported yet");
|
---|
| 1111 | }
|
---|
| 1112 | case L1L2ApproximationEnum:
|
---|
| 1113 | Index: ../trunk-jpl/src/c/classes/Materials/Material.h
|
---|
| 1114 | ===================================================================
|
---|
| 1115 | --- ../trunk-jpl/src/c/classes/Materials/Material.h (revision 27030)
|
---|
| 1116 | +++ ../trunk-jpl/src/c/classes/Materials/Material.h (revision 27031)
|
---|
| 1117 | @@ -50,8 +50,8 @@
|
---|
| 1118 | virtual void ViscositySSADerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon,Gauss* gauss)=0;
|
---|
| 1119 | virtual void ViscosityFS(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input)=0;
|
---|
| 1120 | virtual void ViscosityHO(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input)=0;
|
---|
| 1121 | - virtual void ViscosityMLHO(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vxshear_input,Input* vyshear_input,Input* thickness_input,Input* n_input)=0;
|
---|
| 1122 | - virtual void ViscosityMLHOAdjoint(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vxshear_input,Input* vyshear_input,Input* thickness_input,Input* n_input)=0;
|
---|
| 1123 | + virtual void ViscosityMOLHO(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vxshear_input,Input* vyshear_input,Input* thickness_input,Input* n_input)=0;
|
---|
| 1124 | + virtual void ViscosityMOLHOAdjoint(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vxshear_input,Input* vyshear_input,Input* thickness_input,Input* n_input)=0;
|
---|
| 1125 | virtual void ViscosityL1L2(IssmDouble* pviscosity,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* surf)=0;
|
---|
| 1126 | virtual void ViscositySSA(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input)=0;
|
---|
| 1127 | virtual void ViscosityBFS(IssmDouble* pmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input,IssmDouble epseff)=0;
|
---|
| 1128 | Index: ../trunk-jpl/src/c/classes/Materials/Matestar.cpp
|
---|
| 1129 | ===================================================================
|
---|
| 1130 | --- ../trunk-jpl/src/c/classes/Materials/Matestar.cpp (revision 27030)
|
---|
| 1131 | +++ ../trunk-jpl/src/c/classes/Materials/Matestar.cpp (revision 27031)
|
---|
| 1132 | @@ -566,10 +566,10 @@
|
---|
| 1133 | /*Compute viscosity*/
|
---|
| 1134 | *pviscosity=GetViscosityGeneral(vx,vy,vz,&dvx[0],&dvy[0],&dvz[0],eps_eff,isdepthaveraged,gauss);
|
---|
| 1135 | }/*}}}*/
|
---|
| 1136 | -void Matestar::ViscosityMLHO(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vxshear_input,Input* vyshear_input,Input* thickness_input,Input* n_input){/*{{{*/
|
---|
| 1137 | +void Matestar::ViscosityMOLHO(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vxshear_input,Input* vyshear_input,Input* thickness_input,Input* n_input){/*{{{*/
|
---|
| 1138 | _error_("not implemented yet");
|
---|
| 1139 | }/*}}}*/
|
---|
| 1140 | -void Matestar::ViscosityMLHOAdjoint(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vxshear_input,Input* vyshear_input,Input* thickness_input,Input* n_input){/*{{{*/
|
---|
| 1141 | +void Matestar::ViscosityMOLHOAdjoint(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vxshear_input,Input* vyshear_input,Input* thickness_input,Input* n_input){/*{{{*/
|
---|
| 1142 | _error_("not implemented yet");
|
---|
| 1143 | }/*}}}*/
|
---|
| 1144 | void Matestar::ViscosityL1L2(IssmDouble* pviscosity,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* surface_input){/*{{{*/
|
---|
| 1145 | Index: ../trunk-jpl/src/m/classes/inversion.py
|
---|
| 1146 | ===================================================================
|
---|
| 1147 | --- ../trunk-jpl/src/m/classes/inversion.py (revision 27030)
|
---|
| 1148 | +++ ../trunk-jpl/src/m/classes/inversion.py (revision 27031)
|
---|
| 1149 | @@ -150,8 +150,8 @@
|
---|
| 1150 |
|
---|
| 1151 | # Only SSA, HO and FS are supported right now
|
---|
| 1152 | if solution == 'StressbalanceSolution':
|
---|
| 1153 | - if not (md.flowequation.isSSA or md.flowequation.isMLHO or md.flowequation.isHO or md.flowequation.isFS or md.flowequation.isL1L2):
|
---|
| 1154 | - md.checkmessage("'inversion can only be performed for SSA, MLHO, HO or FS ice flow models")
|
---|
| 1155 | + if not (md.flowequation.isSSA or md.flowequation.isMOLHO or md.flowequation.isHO or md.flowequation.isFS or md.flowequation.isL1L2):
|
---|
| 1156 | + md.checkmessage("'inversion can only be performed for SSA, MOLHO, HO or FS ice flow models")
|
---|
| 1157 | if solution == 'BalancethicknessSolution':
|
---|
| 1158 | md = checkfield(md, 'fieldname', 'inversion.thickness_obs', 'size', [md.mesh.numberofvertices], 'NaN', 1, 'Inf', 1)
|
---|
| 1159 | elif solution == 'BalancethicknessSoftSolution':
|
---|
| 1160 | Index: ../trunk-jpl/src/m/parameterization/setflowequation.js
|
---|
| 1161 | ===================================================================
|
---|
| 1162 | --- ../trunk-jpl/src/m/parameterization/setflowequation.js (revision 27030)
|
---|
| 1163 | +++ ../trunk-jpl/src/m/parameterization/setflowequation.js (revision 27031)
|
---|
| 1164 | @@ -2,7 +2,7 @@
|
---|
| 1165 | //SETFLOWEQUATION - associate a solution type to each element
|
---|
| 1166 | //
|
---|
| 1167 | // This routine works like plotmodel: it works with an even number of inputs
|
---|
| 1168 | -// 'SIA','SSA','L1L2','MLHO','HO','FS' and 'fill' are the possible options
|
---|
| 1169 | +// 'SIA','SSA','L1L2','MOLHO','HO','FS' and 'fill' are the possible options
|
---|
| 1170 | // that must be followed by the corresponding exp file or flags list
|
---|
| 1171 | // It can either be a domain file (argus type, .exp extension), or an array of element flags.
|
---|
| 1172 | // If user wants every element outside the domain to be
|
---|
| 1173 | @@ -10,7 +10,7 @@
|
---|
| 1174 | // an empty string '' will be considered as an empty domain
|
---|
| 1175 | // a string 'all' will be considered as the entire domain
|
---|
| 1176 | // You can specify the type of coupling, 'penalties' or 'tiling', to use with the input 'coupling'
|
---|
| 1177 | -// NB: L1L2 and MLHO cannot currently be coupled to any other ice flow model
|
---|
| 1178 | +// NB: L1L2 and MOLHO cannot currently be coupled to any other ice flow model
|
---|
| 1179 | //
|
---|
| 1180 | // Usage:
|
---|
| 1181 | // setflowequation(md,varargin)
|
---|
| 1182 | @@ -37,7 +37,7 @@
|
---|
| 1183 | SSAflag = FlagElements(md,options.getfieldvalue('SSA',''));
|
---|
| 1184 | HOflag = FlagElements(md,options.getfieldvalue('HO',''));
|
---|
| 1185 | L1L2flag = FlagElements(md,options.getfieldvalue('L1L2',''));
|
---|
| 1186 | - MLHOflag = FlagElements(md,options.getfieldvalue('MLHO',''));
|
---|
| 1187 | + MOLHOflag = FlagElements(md,options.getfieldvalue('MOLHO',''));
|
---|
| 1188 | FSflag = FlagElements(md,options.getfieldvalue('FS',''));
|
---|
| 1189 | filltype = options.getfieldvalue('fill','none');
|
---|
| 1190 | options.displayunused();
|
---|
| 1191 | @@ -54,11 +54,11 @@
|
---|
| 1192 | }
|
---|
| 1193 |
|
---|
| 1194 | //check that each element has at least one flag
|
---|
| 1195 | - for(var i=0;i<md.mesh.numberofelements;i++)if((SIAflag[i] + SSAflag[i] + HOflag[i] + L1L2flag[i] + MLHOflag[i] + FSflag[i])==0)
|
---|
| 1196 | + for(var i=0;i<md.mesh.numberofelements;i++)if((SIAflag[i] + SSAflag[i] + HOflag[i] + L1L2flag[i] + MOLHOflag[i] + FSflag[i])==0)
|
---|
| 1197 | throw Error("elements type not assigned, supported models are 'SIA','SSA','HO' and 'FS'");
|
---|
| 1198 |
|
---|
| 1199 | //check that each element has only one flag
|
---|
| 1200 | - if (ArrayAnyAboveStrict(ArrayXPY(SIAflag,SSAflag,HOflag,L1L2flag,MLHOflag),1)){
|
---|
| 1201 | + if (ArrayAnyAboveStrict(ArrayXPY(SIAflag,SSAflag,HOflag,L1L2flag,MOLHOflag),1)){
|
---|
| 1202 | console.log('setflowequation warning message: some elements have several types, higher order type is used for them')
|
---|
| 1203 |
|
---|
| 1204 | for(var i=0;i<md.mesh.numberofelements;i++){
|
---|
| 1205 | @@ -70,7 +70,7 @@
|
---|
| 1206 |
|
---|
| 1207 | //check that L1L2 is not coupled to any other model for now
|
---|
| 1208 | if (ArrayAnyEqual(L1L2flag,1) & ArrayAnyEqual(ArrayOr(SIAflag,SSAflag,HOflag,FSflag),1)) throw Error('L1L2 cannot be coupled to any other model');
|
---|
| 1209 | - if (ArrayAnyEqual(MLHOflag,1) & ArrayAnyEqual(ArrayOr(SIAflag,SSAflag,HOflag,FSflag),1)) throw Error('MLHO cannot be coupled to any other model');
|
---|
| 1210 | + if (ArrayAnyEqual(MOLHOflag,1) & ArrayAnyEqual(ArrayOr(SIAflag,SSAflag,HOflag,FSflag),1)) throw Error('MOLHO cannot be coupled to any other model');
|
---|
| 1211 |
|
---|
| 1212 | //Check that no HO or FS for 2d mesh
|
---|
| 1213 | if (md.mesh.domaintype() == '2Dhorizontal'){
|
---|
| 1214 | @@ -99,9 +99,9 @@
|
---|
| 1215 | pos=ArrayFind(L1L2flag,1);
|
---|
| 1216 | for(var i=0;i<pos.length;i++) for(var j=0;j<md.mesh.elements[0].length;j++) nodeonL1L2[md.mesh.elements[pos[i]][j]-1]=1;
|
---|
| 1217 |
|
---|
| 1218 | - nodeonMLHO=NewArrayFill(md.mesh.numberofvertices,0);
|
---|
| 1219 | - pos=ArrayFind(MLHOflag,1);
|
---|
| 1220 | - for(var i=0;i<pos.length;i++) for(var j=0;j<md.mesh.elements[0].length;j++) nodeonMLHO[md.mesh.elements[pos[i]][j]-1]=1;
|
---|
| 1221 | + nodeonMOLHO=NewArrayFill(md.mesh.numberofvertices,0);
|
---|
| 1222 | + pos=ArrayFind(MOLHOflag,1);
|
---|
| 1223 | + for(var i=0;i<pos.length;i++) for(var j=0;j<md.mesh.elements[0].length;j++) nodeonMOLHO[md.mesh.elements[pos[i]][j]-1]=1;
|
---|
| 1224 |
|
---|
| 1225 | nodeonFS=NewArrayFill(md.mesh.numberofvertices,0);
|
---|
| 1226 | noneflag=NewArrayFill(md.mesh.numberofvertices,0);
|
---|
| 1227 | @@ -261,7 +261,7 @@
|
---|
| 1228 | pos=ArrayFind(SIAflag,1);for(var i=0;i<pos.length;i++)md.flowequation.element_equation[pos[i]]=1;
|
---|
| 1229 | pos=ArrayFind(SSAflag,1);for(var i=0;i<pos.length;i++)md.flowequation.element_equation[pos[i]]=2;
|
---|
| 1230 | pos=ArrayFind(L1L2flag,1);for(var i=0;i<pos.length;i++)md.flowequation.element_equation[pos[i]]=3;
|
---|
| 1231 | - pos=ArrayFind(MLHOflag,1);for(var i=0;i<pos.length;i++)md.flowequation.element_equation[pos[i]]=4;
|
---|
| 1232 | + pos=ArrayFind(MOLHOflag,1);for(var i=0;i<pos.length;i++)md.flowequation.element_equation[pos[i]]=4;
|
---|
| 1233 | pos=ArrayFind(HOflag,1);for(var i=0;i<pos.length;i++)md.flowequation.element_equation[pos[i]]=5;
|
---|
| 1234 | pos=ArrayFind(FSflag,1);for(var i=0;i<pos.length;i++)md.flowequation.element_equation[pos[i]]=6;
|
---|
| 1235 | pos=ArrayFind(SSAHOflag,1);for(var i=0;i<pos.length;i++)md.flowequation.element_equation[pos[i]]=7;
|
---|
| 1236 | @@ -280,7 +280,7 @@
|
---|
| 1237 |
|
---|
| 1238 | pos=ArrayFind(nodeonSSA,1);for(var i=0;i<pos.length;i++)md.flowequation.vertex_equation[pos[i]]=2;
|
---|
| 1239 | pos=ArrayFind(nodeonL1L2,1);for(var i=0;i<pos.length;i++)md.flowequation.vertex_equation[pos[i]]=3;
|
---|
| 1240 | - pos=ArrayFind(nodeonMLHO,1);for(var i=0;i<pos.length;i++)md.flowequation.vertex_equation[pos[i]]=4;
|
---|
| 1241 | + pos=ArrayFind(nodeonMOLHO,1);for(var i=0;i<pos.length;i++)md.flowequation.vertex_equation[pos[i]]=4;
|
---|
| 1242 | pos=ArrayFind(nodeonHO,1);for(var i=0;i<pos.length;i++)md.flowequation.vertex_equation[pos[i]]=5;
|
---|
| 1243 | pos=ArrayFind(nodeonFS,1);for(var i=0;i<pos.length;i++)md.flowequation.vertex_equation[pos[i]]=6;
|
---|
| 1244 | //DO SIA LAST! Otherwise spcs might not be set up correctly (SIA should have priority)
|
---|
| 1245 | @@ -300,7 +300,7 @@
|
---|
| 1246 | md.flowequation.isSIA = ArrayAnyEqual(md.flowequation.element_equation,1);
|
---|
| 1247 | md.flowequation.isSSA = ArrayAnyEqual(md.flowequation.element_equation,2);
|
---|
| 1248 | md.flowequation.isL1L2 = ArrayAnyEqual(md.flowequation.element_equation,3);
|
---|
| 1249 | - md.flowequation.isMLHO = ArrayAnyEqual(md.flowequation.element_equation,4);
|
---|
| 1250 | + md.flowequation.isMOLHO = ArrayAnyEqual(md.flowequation.element_equation,4);
|
---|
| 1251 | md.flowequation.isHO = ArrayAnyEqual(md.flowequation.element_equation,5);
|
---|
| 1252 | md.flowequation.isFS = ArrayAnyEqual(md.flowequation.element_equation,6);
|
---|
| 1253 | return
|
---|
| 1254 | Index: ../trunk-jpl/src/c/shared/Enum/Enum.vim
|
---|
| 1255 | ===================================================================
|
---|
| 1256 | --- ../trunk-jpl/src/c/shared/Enum/Enum.vim (revision 27030)
|
---|
| 1257 | +++ ../trunk-jpl/src/c/shared/Enum/Enum.vim (revision 27031)
|
---|
| 1258 | @@ -112,6 +112,7 @@
|
---|
| 1259 | syn keyword cConstant CalvingLawEnum
|
---|
| 1260 | syn keyword cConstant CalvingMinthicknessEnum
|
---|
| 1261 | syn keyword cConstant CalvingTestSpeedfactorEnum
|
---|
| 1262 | +syn keyword cConstant CalvingTestIndependentRateEnum
|
---|
| 1263 | syn keyword cConstant CalvingUseParamEnum
|
---|
| 1264 | syn keyword cConstant CalvingScaleThetaEnum
|
---|
| 1265 | syn keyword cConstant CalvingAmpAlphaEnum
|
---|
| 1266 | @@ -174,7 +175,7 @@
|
---|
| 1267 | syn keyword cConstant FlowequationIsFSEnum
|
---|
| 1268 | syn keyword cConstant FlowequationIsHOEnum
|
---|
| 1269 | syn keyword cConstant FlowequationIsL1L2Enum
|
---|
| 1270 | -syn keyword cConstant FlowequationIsMLHOEnum
|
---|
| 1271 | +syn keyword cConstant FlowequationIsMOLHOEnum
|
---|
| 1272 | syn keyword cConstant FlowequationIsSIAEnum
|
---|
| 1273 | syn keyword cConstant FlowequationIsSSAEnum
|
---|
| 1274 | syn keyword cConstant FlowequationIsNitscheEnum
|
---|
| 1275 | @@ -657,6 +658,7 @@
|
---|
| 1276 | syn keyword cConstant BottomPressureOldEnum
|
---|
| 1277 | syn keyword cConstant CalvingCalvingrateEnum
|
---|
| 1278 | syn keyword cConstant CalvingHabFractionEnum
|
---|
| 1279 | +syn keyword cConstant CalvingAblationrateEnum
|
---|
| 1280 | syn keyword cConstant CalvingMeltingrateEnum
|
---|
| 1281 | syn keyword cConstant CalvingStressThresholdFloatingiceEnum
|
---|
| 1282 | syn keyword cConstant CalvingStressThresholdGroundediceEnum
|
---|
| 1283 | @@ -1382,7 +1384,7 @@
|
---|
| 1284 | syn keyword cConstant InversionVzObsEnum
|
---|
| 1285 | syn keyword cConstant JEnum
|
---|
| 1286 | syn keyword cConstant L1L2ApproximationEnum
|
---|
| 1287 | -syn keyword cConstant MLHOApproximationEnum
|
---|
| 1288 | +syn keyword cConstant MOLHOApproximationEnum
|
---|
| 1289 | syn keyword cConstant L2ProjectionBaseAnalysisEnum
|
---|
| 1290 | syn keyword cConstant L2ProjectionEPLAnalysisEnum
|
---|
| 1291 | syn keyword cConstant LACrouzeixRaviartEnum
|
---|
| 1292 | @@ -1621,7 +1623,6 @@
|
---|
| 1293 | syn keyword cType Cfsurfacelogvel
|
---|
| 1294 | syn keyword cType Cfsurfacesquare
|
---|
| 1295 | syn keyword cType Channel
|
---|
| 1296 | -syn keyword cType classes
|
---|
| 1297 | syn keyword cType Constraint
|
---|
| 1298 | syn keyword cType Constraints
|
---|
| 1299 | syn keyword cType Contour
|
---|
| 1300 | @@ -1628,8 +1629,8 @@
|
---|
| 1301 | syn keyword cType Contours
|
---|
| 1302 | syn keyword cType ControlInput
|
---|
| 1303 | syn keyword cType Covertree
|
---|
| 1304 | +syn keyword cType DataSetParam
|
---|
| 1305 | syn keyword cType DatasetInput
|
---|
| 1306 | -syn keyword cType DataSetParam
|
---|
| 1307 | syn keyword cType Definition
|
---|
| 1308 | syn keyword cType DependentObject
|
---|
| 1309 | syn keyword cType DoubleInput
|
---|
| 1310 | @@ -1642,8 +1643,8 @@
|
---|
| 1311 | syn keyword cType ElementHook
|
---|
| 1312 | syn keyword cType ElementInput
|
---|
| 1313 | syn keyword cType ElementMatrix
|
---|
| 1314 | +syn keyword cType ElementVector
|
---|
| 1315 | syn keyword cType Elements
|
---|
| 1316 | -syn keyword cType ElementVector
|
---|
| 1317 | syn keyword cType ExponentialVariogram
|
---|
| 1318 | syn keyword cType ExternalResult
|
---|
| 1319 | syn keyword cType FemModel
|
---|
| 1320 | @@ -1650,12 +1651,11 @@
|
---|
| 1321 | syn keyword cType FileParam
|
---|
| 1322 | syn keyword cType Friction
|
---|
| 1323 | syn keyword cType Gauss
|
---|
| 1324 | -syn keyword cType GaussianVariogram
|
---|
| 1325 | -syn keyword cType gaussobjects
|
---|
| 1326 | syn keyword cType GaussPenta
|
---|
| 1327 | syn keyword cType GaussSeg
|
---|
| 1328 | syn keyword cType GaussTetra
|
---|
| 1329 | syn keyword cType GaussTria
|
---|
| 1330 | +syn keyword cType GaussianVariogram
|
---|
| 1331 | syn keyword cType GenericExternalResult
|
---|
| 1332 | syn keyword cType GenericOption
|
---|
| 1333 | syn keyword cType GenericParam
|
---|
| 1334 | @@ -1671,7 +1671,6 @@
|
---|
| 1335 | syn keyword cType IoModel
|
---|
| 1336 | syn keyword cType IssmDirectApplicInterface
|
---|
| 1337 | syn keyword cType IssmParallelDirectApplicInterface
|
---|
| 1338 | -syn keyword cType krigingobjects
|
---|
| 1339 | syn keyword cType Load
|
---|
| 1340 | syn keyword cType Loads
|
---|
| 1341 | syn keyword cType Masscon
|
---|
| 1342 | @@ -1682,7 +1681,6 @@
|
---|
| 1343 | syn keyword cType Matestar
|
---|
| 1344 | syn keyword cType Matice
|
---|
| 1345 | syn keyword cType Matlitho
|
---|
| 1346 | -syn keyword cType matrixobjects
|
---|
| 1347 | syn keyword cType MatrixParam
|
---|
| 1348 | syn keyword cType Misfit
|
---|
| 1349 | syn keyword cType Moulin
|
---|
| 1350 | @@ -1695,8 +1693,8 @@
|
---|
| 1351 | syn keyword cType Observation
|
---|
| 1352 | syn keyword cType Observations
|
---|
| 1353 | syn keyword cType Option
|
---|
| 1354 | +syn keyword cType OptionUtilities
|
---|
| 1355 | syn keyword cType Options
|
---|
| 1356 | -syn keyword cType OptionUtilities
|
---|
| 1357 | syn keyword cType Param
|
---|
| 1358 | syn keyword cType Parameters
|
---|
| 1359 | syn keyword cType Pengrid
|
---|
| 1360 | @@ -1710,13 +1708,13 @@
|
---|
| 1361 | syn keyword cType Radar
|
---|
| 1362 | syn keyword cType Regionaloutput
|
---|
| 1363 | syn keyword cType Results
|
---|
| 1364 | +syn keyword cType RiftStruct
|
---|
| 1365 | syn keyword cType Riftfront
|
---|
| 1366 | -syn keyword cType RiftStruct
|
---|
| 1367 | syn keyword cType SealevelGeometry
|
---|
| 1368 | syn keyword cType Seg
|
---|
| 1369 | syn keyword cType SegInput
|
---|
| 1370 | +syn keyword cType SegRef
|
---|
| 1371 | syn keyword cType Segment
|
---|
| 1372 | -syn keyword cType SegRef
|
---|
| 1373 | syn keyword cType SpcDynamic
|
---|
| 1374 | syn keyword cType SpcStatic
|
---|
| 1375 | syn keyword cType SpcTransient
|
---|
| 1376 | @@ -1735,6 +1733,10 @@
|
---|
| 1377 | syn keyword cType VectorParam
|
---|
| 1378 | syn keyword cType Vertex
|
---|
| 1379 | syn keyword cType Vertices
|
---|
| 1380 | +syn keyword cType classes
|
---|
| 1381 | +syn keyword cType gaussobjects
|
---|
| 1382 | +syn keyword cType krigingobjects
|
---|
| 1383 | +syn keyword cType matrixobjects
|
---|
| 1384 | syn keyword cType AdjointBalancethickness2Analysis
|
---|
| 1385 | syn keyword cType AdjointBalancethicknessAnalysis
|
---|
| 1386 | syn keyword cType AdjointHorizAnalysis
|
---|
| 1387 | Index: ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
|
---|
| 1388 | ===================================================================
|
---|
| 1389 | --- ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp (revision 27030)
|
---|
| 1390 | +++ ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp (revision 27031)
|
---|
| 1391 | @@ -114,6 +114,7 @@
|
---|
| 1392 | case CalvingLawEnum : return "CalvingLaw";
|
---|
| 1393 | case CalvingMinthicknessEnum : return "CalvingMinthickness";
|
---|
| 1394 | case CalvingTestSpeedfactorEnum : return "CalvingTestSpeedfactor";
|
---|
| 1395 | + case CalvingTestIndependentRateEnum : return "CalvingTestIndependentRate";
|
---|
| 1396 | case CalvingUseParamEnum : return "CalvingUseParam";
|
---|
| 1397 | case CalvingScaleThetaEnum : return "CalvingScaleTheta";
|
---|
| 1398 | case CalvingAmpAlphaEnum : return "CalvingAmpAlpha";
|
---|
| 1399 | @@ -176,7 +177,7 @@
|
---|
| 1400 | case FlowequationIsFSEnum : return "FlowequationIsFS";
|
---|
| 1401 | case FlowequationIsHOEnum : return "FlowequationIsHO";
|
---|
| 1402 | case FlowequationIsL1L2Enum : return "FlowequationIsL1L2";
|
---|
| 1403 | - case FlowequationIsMLHOEnum : return "FlowequationIsMLHO";
|
---|
| 1404 | + case FlowequationIsMOLHOEnum : return "FlowequationIsMOLHO";
|
---|
| 1405 | case FlowequationIsSIAEnum : return "FlowequationIsSIA";
|
---|
| 1406 | case FlowequationIsSSAEnum : return "FlowequationIsSSA";
|
---|
| 1407 | case FlowequationIsNitscheEnum : return "FlowequationIsNitsche";
|
---|
| 1408 | @@ -659,6 +660,7 @@
|
---|
| 1409 | case BottomPressureOldEnum : return "BottomPressureOld";
|
---|
| 1410 | case CalvingCalvingrateEnum : return "CalvingCalvingrate";
|
---|
| 1411 | case CalvingHabFractionEnum : return "CalvingHabFraction";
|
---|
| 1412 | + case CalvingAblationrateEnum : return "CalvingAblationrate";
|
---|
| 1413 | case CalvingMeltingrateEnum : return "CalvingMeltingrate";
|
---|
| 1414 | case CalvingStressThresholdFloatingiceEnum : return "CalvingStressThresholdFloatingice";
|
---|
| 1415 | case CalvingStressThresholdGroundediceEnum : return "CalvingStressThresholdGroundedice";
|
---|
| 1416 | @@ -1384,7 +1386,7 @@
|
---|
| 1417 | case InversionVzObsEnum : return "InversionVzObs";
|
---|
| 1418 | case JEnum : return "J";
|
---|
| 1419 | case L1L2ApproximationEnum : return "L1L2Approximation";
|
---|
| 1420 | - case MLHOApproximationEnum : return "MLHOApproximation";
|
---|
| 1421 | + case MOLHOApproximationEnum : return "MOLHOApproximation";
|
---|
| 1422 | case L2ProjectionBaseAnalysisEnum : return "L2ProjectionBaseAnalysis";
|
---|
| 1423 | case L2ProjectionEPLAnalysisEnum : return "L2ProjectionEPLAnalysis";
|
---|
| 1424 | case LACrouzeixRaviartEnum : return "LACrouzeixRaviart";
|
---|
| 1425 | Index: ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
|
---|
| 1426 | ===================================================================
|
---|
| 1427 | --- ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp (revision 27030)
|
---|
| 1428 | +++ ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp (revision 27031)
|
---|
| 1429 | @@ -114,6 +114,7 @@
|
---|
| 1430 | else if (strcmp(name,"CalvingLaw")==0) return CalvingLawEnum;
|
---|
| 1431 | else if (strcmp(name,"CalvingMinthickness")==0) return CalvingMinthicknessEnum;
|
---|
| 1432 | else if (strcmp(name,"CalvingTestSpeedfactor")==0) return CalvingTestSpeedfactorEnum;
|
---|
| 1433 | + else if (strcmp(name,"CalvingTestIndependentRate")==0) return CalvingTestIndependentRateEnum;
|
---|
| 1434 | else if (strcmp(name,"CalvingUseParam")==0) return CalvingUseParamEnum;
|
---|
| 1435 | else if (strcmp(name,"CalvingScaleTheta")==0) return CalvingScaleThetaEnum;
|
---|
| 1436 | else if (strcmp(name,"CalvingAmpAlpha")==0) return CalvingAmpAlphaEnum;
|
---|
| 1437 | @@ -135,11 +136,11 @@
|
---|
| 1438 | else if (strcmp(name,"CumBslcHydroPartition")==0) return CumBslcHydroPartitionEnum;
|
---|
| 1439 | else if (strcmp(name,"CumBslcOceanPartition")==0) return CumBslcOceanPartitionEnum;
|
---|
| 1440 | else if (strcmp(name,"CumGmtslc")==0) return CumGmtslcEnum;
|
---|
| 1441 | - else if (strcmp(name,"CumGmslc")==0) return CumGmslcEnum;
|
---|
| 1442 | else stage=2;
|
---|
| 1443 | }
|
---|
| 1444 | if(stage==2){
|
---|
| 1445 | - if (strcmp(name,"DamageC1")==0) return DamageC1Enum;
|
---|
| 1446 | + if (strcmp(name,"CumGmslc")==0) return CumGmslcEnum;
|
---|
| 1447 | + else if (strcmp(name,"DamageC1")==0) return DamageC1Enum;
|
---|
| 1448 | else if (strcmp(name,"DamageC2")==0) return DamageC2Enum;
|
---|
| 1449 | else if (strcmp(name,"DamageC3")==0) return DamageC3Enum;
|
---|
| 1450 | else if (strcmp(name,"DamageC4")==0) return DamageC4Enum;
|
---|
| 1451 | @@ -179,7 +180,7 @@
|
---|
| 1452 | else if (strcmp(name,"FlowequationIsFS")==0) return FlowequationIsFSEnum;
|
---|
| 1453 | else if (strcmp(name,"FlowequationIsHO")==0) return FlowequationIsHOEnum;
|
---|
| 1454 | else if (strcmp(name,"FlowequationIsL1L2")==0) return FlowequationIsL1L2Enum;
|
---|
| 1455 | - else if (strcmp(name,"FlowequationIsMLHO")==0) return FlowequationIsMLHOEnum;
|
---|
| 1456 | + else if (strcmp(name,"FlowequationIsMOLHO")==0) return FlowequationIsMOLHOEnum;
|
---|
| 1457 | else if (strcmp(name,"FlowequationIsSIA")==0) return FlowequationIsSIAEnum;
|
---|
| 1458 | else if (strcmp(name,"FlowequationIsSSA")==0) return FlowequationIsSSAEnum;
|
---|
| 1459 | else if (strcmp(name,"FlowequationIsNitsche")==0) return FlowequationIsNitscheEnum;
|
---|
| 1460 | @@ -258,11 +259,11 @@
|
---|
| 1461 | else if (strcmp(name,"InputToSmooth")==0) return InputToSmoothEnum;
|
---|
| 1462 | else if (strcmp(name,"InversionAlgorithm")==0) return InversionAlgorithmEnum;
|
---|
| 1463 | else if (strcmp(name,"InversionControlParameters")==0) return InversionControlParametersEnum;
|
---|
| 1464 | - else if (strcmp(name,"InversionControlScalingFactors")==0) return InversionControlScalingFactorsEnum;
|
---|
| 1465 | else stage=3;
|
---|
| 1466 | }
|
---|
| 1467 | if(stage==3){
|
---|
| 1468 | - if (strcmp(name,"InversionCostFunctions")==0) return InversionCostFunctionsEnum;
|
---|
| 1469 | + if (strcmp(name,"InversionControlScalingFactors")==0) return InversionControlScalingFactorsEnum;
|
---|
| 1470 | + else if (strcmp(name,"InversionCostFunctions")==0) return InversionCostFunctionsEnum;
|
---|
| 1471 | else if (strcmp(name,"InversionDxmin")==0) return InversionDxminEnum;
|
---|
| 1472 | else if (strcmp(name,"InversionGatol")==0) return InversionGatolEnum;
|
---|
| 1473 | else if (strcmp(name,"InversionGradientScaling")==0) return InversionGradientScalingEnum;
|
---|
| 1474 | @@ -381,11 +382,11 @@
|
---|
| 1475 | else if (strcmp(name,"SamplingRobin")==0) return SamplingRobinEnum;
|
---|
| 1476 | else if (strcmp(name,"SamplingSeed")==0) return SamplingSeedEnum;
|
---|
| 1477 | else if (strcmp(name,"SaveResults")==0) return SaveResultsEnum;
|
---|
| 1478 | - else if (strcmp(name,"SolidearthPartitionIce")==0) return SolidearthPartitionIceEnum;
|
---|
| 1479 | else stage=4;
|
---|
| 1480 | }
|
---|
| 1481 | if(stage==4){
|
---|
| 1482 | - if (strcmp(name,"SolidearthPartitionHydro")==0) return SolidearthPartitionHydroEnum;
|
---|
| 1483 | + if (strcmp(name,"SolidearthPartitionIce")==0) return SolidearthPartitionIceEnum;
|
---|
| 1484 | + else if (strcmp(name,"SolidearthPartitionHydro")==0) return SolidearthPartitionHydroEnum;
|
---|
| 1485 | else if (strcmp(name,"SolidearthPartitionOcean")==0) return SolidearthPartitionOceanEnum;
|
---|
| 1486 | else if (strcmp(name,"SolidearthNpartIce")==0) return SolidearthNpartIceEnum;
|
---|
| 1487 | else if (strcmp(name,"SolidearthNpartOcean")==0) return SolidearthNpartOceanEnum;
|
---|
| 1488 | @@ -504,11 +505,11 @@
|
---|
| 1489 | else if (strcmp(name,"SmbIsturbulentflux")==0) return SmbIsturbulentfluxEnum;
|
---|
| 1490 | else if (strcmp(name,"SmbK")==0) return SmbKEnum;
|
---|
| 1491 | else if (strcmp(name,"SmbLapseRates")==0) return SmbLapseRatesEnum;
|
---|
| 1492 | - else if (strcmp(name,"SmbNumBasins")==0) return SmbNumBasinsEnum;
|
---|
| 1493 | else stage=5;
|
---|
| 1494 | }
|
---|
| 1495 | if(stage==5){
|
---|
| 1496 | - if (strcmp(name,"SmbNumElevationBins")==0) return SmbNumElevationBinsEnum;
|
---|
| 1497 | + if (strcmp(name,"SmbNumBasins")==0) return SmbNumBasinsEnum;
|
---|
| 1498 | + else if (strcmp(name,"SmbNumElevationBins")==0) return SmbNumElevationBinsEnum;
|
---|
| 1499 | else if (strcmp(name,"SmbNumRequestedOutputs")==0) return SmbNumRequestedOutputsEnum;
|
---|
| 1500 | else if (strcmp(name,"SmbPfac")==0) return SmbPfacEnum;
|
---|
| 1501 | else if (strcmp(name,"SmbPhi")==0) return SmbPhiEnum;
|
---|
| 1502 | @@ -627,11 +628,11 @@
|
---|
| 1503 | else if (strcmp(name,"BasalforcingsDeepwaterMeltingRateValuesAutoregression")==0) return BasalforcingsDeepwaterMeltingRateValuesAutoregressionEnum;
|
---|
| 1504 | else if (strcmp(name,"BasalforcingsFloatingiceMeltingRate")==0) return BasalforcingsFloatingiceMeltingRateEnum;
|
---|
| 1505 | else if (strcmp(name,"BasalforcingsGeothermalflux")==0) return BasalforcingsGeothermalfluxEnum;
|
---|
| 1506 | - else if (strcmp(name,"BasalforcingsGroundediceMeltingRate")==0) return BasalforcingsGroundediceMeltingRateEnum;
|
---|
| 1507 | else stage=6;
|
---|
| 1508 | }
|
---|
| 1509 | if(stage==6){
|
---|
| 1510 | - if (strcmp(name,"BasalforcingsLinearBasinId")==0) return BasalforcingsLinearBasinIdEnum;
|
---|
| 1511 | + if (strcmp(name,"BasalforcingsGroundediceMeltingRate")==0) return BasalforcingsGroundediceMeltingRateEnum;
|
---|
| 1512 | + else if (strcmp(name,"BasalforcingsLinearBasinId")==0) return BasalforcingsLinearBasinIdEnum;
|
---|
| 1513 | else if (strcmp(name,"BasalforcingsPerturbationMeltingRate")==0) return BasalforcingsPerturbationMeltingRateEnum;
|
---|
| 1514 | else if (strcmp(name,"BasalforcingsSpatialDeepwaterElevation")==0) return BasalforcingsSpatialDeepwaterElevationEnum;
|
---|
| 1515 | else if (strcmp(name,"BasalforcingsSpatialDeepwaterMeltingRate")==0) return BasalforcingsSpatialDeepwaterMeltingRateEnum;
|
---|
| 1516 | @@ -674,6 +675,7 @@
|
---|
| 1517 | else if (strcmp(name,"BottomPressureOld")==0) return BottomPressureOldEnum;
|
---|
| 1518 | else if (strcmp(name,"CalvingCalvingrate")==0) return CalvingCalvingrateEnum;
|
---|
| 1519 | else if (strcmp(name,"CalvingHabFraction")==0) return CalvingHabFractionEnum;
|
---|
| 1520 | + else if (strcmp(name,"CalvingAblationrate")==0) return CalvingAblationrateEnum;
|
---|
| 1521 | else if (strcmp(name,"CalvingMeltingrate")==0) return CalvingMeltingrateEnum;
|
---|
| 1522 | else if (strcmp(name,"CalvingStressThresholdFloatingice")==0) return CalvingStressThresholdFloatingiceEnum;
|
---|
| 1523 | else if (strcmp(name,"CalvingStressThresholdGroundedice")==0) return CalvingStressThresholdGroundediceEnum;
|
---|
| 1524 | @@ -749,12 +751,12 @@
|
---|
| 1525 | else if (strcmp(name,"FrictionM")==0) return FrictionMEnum;
|
---|
| 1526 | else if (strcmp(name,"FrictionP")==0) return FrictionPEnum;
|
---|
| 1527 | else if (strcmp(name,"FrictionPressureAdjustedTemperature")==0) return FrictionPressureAdjustedTemperatureEnum;
|
---|
| 1528 | - else if (strcmp(name,"FrictionQ")==0) return FrictionQEnum;
|
---|
| 1529 | - else if (strcmp(name,"FrictionSedimentCompressibilityCoefficient")==0) return FrictionSedimentCompressibilityCoefficientEnum;
|
---|
| 1530 | else stage=7;
|
---|
| 1531 | }
|
---|
| 1532 | if(stage==7){
|
---|
| 1533 | - if (strcmp(name,"FrictionTillFrictionAngle")==0) return FrictionTillFrictionAngleEnum;
|
---|
| 1534 | + if (strcmp(name,"FrictionQ")==0) return FrictionQEnum;
|
---|
| 1535 | + else if (strcmp(name,"FrictionSedimentCompressibilityCoefficient")==0) return FrictionSedimentCompressibilityCoefficientEnum;
|
---|
| 1536 | + else if (strcmp(name,"FrictionTillFrictionAngle")==0) return FrictionTillFrictionAngleEnum;
|
---|
| 1537 | else if (strcmp(name,"FrictionWaterLayer")==0) return FrictionWaterLayerEnum;
|
---|
| 1538 | else if (strcmp(name,"Frictionf")==0) return FrictionfEnum;
|
---|
| 1539 | else if (strcmp(name,"FrontalForcingsBasinId")==0) return FrontalForcingsBasinIdEnum;
|
---|
| 1540 | @@ -872,12 +874,12 @@
|
---|
| 1541 | else if (strcmp(name,"SealevelBarystaticIceMask")==0) return SealevelBarystaticIceMaskEnum;
|
---|
| 1542 | else if (strcmp(name,"SealevelBarystaticIceWeights")==0) return SealevelBarystaticIceWeightsEnum;
|
---|
| 1543 | else if (strcmp(name,"SealevelBarystaticIceArea")==0) return SealevelBarystaticIceAreaEnum;
|
---|
| 1544 | - else if (strcmp(name,"SealevelBarystaticIceLatbar")==0) return SealevelBarystaticIceLatbarEnum;
|
---|
| 1545 | - else if (strcmp(name,"SealevelBarystaticIceLongbar")==0) return SealevelBarystaticIceLongbarEnum;
|
---|
| 1546 | else stage=8;
|
---|
| 1547 | }
|
---|
| 1548 | if(stage==8){
|
---|
| 1549 | - if (strcmp(name,"SealevelBarystaticIceLoad")==0) return SealevelBarystaticIceLoadEnum;
|
---|
| 1550 | + if (strcmp(name,"SealevelBarystaticIceLatbar")==0) return SealevelBarystaticIceLatbarEnum;
|
---|
| 1551 | + else if (strcmp(name,"SealevelBarystaticIceLongbar")==0) return SealevelBarystaticIceLongbarEnum;
|
---|
| 1552 | + else if (strcmp(name,"SealevelBarystaticIceLoad")==0) return SealevelBarystaticIceLoadEnum;
|
---|
| 1553 | else if (strcmp(name,"SealevelBarystaticHydroMask")==0) return SealevelBarystaticHydroMaskEnum;
|
---|
| 1554 | else if (strcmp(name,"SealevelBarystaticHydroWeights")==0) return SealevelBarystaticHydroWeightsEnum;
|
---|
| 1555 | else if (strcmp(name,"SealevelBarystaticHydroArea")==0) return SealevelBarystaticHydroAreaEnum;
|
---|
| 1556 | @@ -995,12 +997,12 @@
|
---|
| 1557 | else if (strcmp(name,"SmbGdn")==0) return SmbGdnEnum;
|
---|
| 1558 | else if (strcmp(name,"SmbGdnini")==0) return SmbGdniniEnum;
|
---|
| 1559 | else if (strcmp(name,"SmbGsp")==0) return SmbGspEnum;
|
---|
| 1560 | - else if (strcmp(name,"SmbGspini")==0) return SmbGspiniEnum;
|
---|
| 1561 | - else if (strcmp(name,"SmbHref")==0) return SmbHrefEnum;
|
---|
| 1562 | else stage=9;
|
---|
| 1563 | }
|
---|
| 1564 | if(stage==9){
|
---|
| 1565 | - if (strcmp(name,"SmbIsInitialized")==0) return SmbIsInitializedEnum;
|
---|
| 1566 | + if (strcmp(name,"SmbGspini")==0) return SmbGspiniEnum;
|
---|
| 1567 | + else if (strcmp(name,"SmbHref")==0) return SmbHrefEnum;
|
---|
| 1568 | + else if (strcmp(name,"SmbIsInitialized")==0) return SmbIsInitializedEnum;
|
---|
| 1569 | else if (strcmp(name,"SmbMAdd")==0) return SmbMAddEnum;
|
---|
| 1570 | else if (strcmp(name,"SmbMassBalance")==0) return SmbMassBalanceEnum;
|
---|
| 1571 | else if (strcmp(name,"SmbMassBalanceSubstep")==0) return SmbMassBalanceSubstepEnum;
|
---|
| 1572 | @@ -1118,12 +1120,12 @@
|
---|
| 1573 | else if (strcmp(name,"VxShear")==0) return VxShearEnum;
|
---|
| 1574 | else if (strcmp(name,"VxSurface")==0) return VxSurfaceEnum;
|
---|
| 1575 | else if (strcmp(name,"VyAverage")==0) return VyAverageEnum;
|
---|
| 1576 | - else if (strcmp(name,"VyBase")==0) return VyBaseEnum;
|
---|
| 1577 | - else if (strcmp(name,"Vy")==0) return VyEnum;
|
---|
| 1578 | else stage=10;
|
---|
| 1579 | }
|
---|
| 1580 | if(stage==10){
|
---|
| 1581 | - if (strcmp(name,"VyMesh")==0) return VyMeshEnum;
|
---|
| 1582 | + if (strcmp(name,"VyBase")==0) return VyBaseEnum;
|
---|
| 1583 | + else if (strcmp(name,"Vy")==0) return VyEnum;
|
---|
| 1584 | + else if (strcmp(name,"VyMesh")==0) return VyMeshEnum;
|
---|
| 1585 | else if (strcmp(name,"VyObs")==0) return VyObsEnum;
|
---|
| 1586 | else if (strcmp(name,"VyShear")==0) return VyShearEnum;
|
---|
| 1587 | else if (strcmp(name,"VySurface")==0) return VySurfaceEnum;
|
---|
| 1588 | @@ -1241,12 +1243,12 @@
|
---|
| 1589 | else if (strcmp(name,"Outputdefinition95")==0) return Outputdefinition95Enum;
|
---|
| 1590 | else if (strcmp(name,"Outputdefinition96")==0) return Outputdefinition96Enum;
|
---|
| 1591 | else if (strcmp(name,"Outputdefinition97")==0) return Outputdefinition97Enum;
|
---|
| 1592 | - else if (strcmp(name,"Outputdefinition98")==0) return Outputdefinition98Enum;
|
---|
| 1593 | - else if (strcmp(name,"Outputdefinition99")==0) return Outputdefinition99Enum;
|
---|
| 1594 | else stage=11;
|
---|
| 1595 | }
|
---|
| 1596 | if(stage==11){
|
---|
| 1597 | - if (strcmp(name,"Outputdefinition9")==0) return Outputdefinition9Enum;
|
---|
| 1598 | + if (strcmp(name,"Outputdefinition98")==0) return Outputdefinition98Enum;
|
---|
| 1599 | + else if (strcmp(name,"Outputdefinition99")==0) return Outputdefinition99Enum;
|
---|
| 1600 | + else if (strcmp(name,"Outputdefinition9")==0) return Outputdefinition9Enum;
|
---|
| 1601 | else if (strcmp(name,"Outputdefinition100")==0) return Outputdefinition100Enum;
|
---|
| 1602 | else if (strcmp(name,"InputsEND")==0) return InputsENDEnum;
|
---|
| 1603 | else if (strcmp(name,"Absolute")==0) return AbsoluteEnum;
|
---|
| 1604 | @@ -1364,12 +1366,12 @@
|
---|
| 1605 | else if (strcmp(name,"GaussSeg")==0) return GaussSegEnum;
|
---|
| 1606 | else if (strcmp(name,"GaussTetra")==0) return GaussTetraEnum;
|
---|
| 1607 | else if (strcmp(name,"GaussTria")==0) return GaussTriaEnum;
|
---|
| 1608 | - else if (strcmp(name,"GenericOption")==0) return GenericOptionEnum;
|
---|
| 1609 | - else if (strcmp(name,"GenericParam")==0) return GenericParamEnum;
|
---|
| 1610 | else stage=12;
|
---|
| 1611 | }
|
---|
| 1612 | if(stage==12){
|
---|
| 1613 | - if (strcmp(name,"GenericExternalResult")==0) return GenericExternalResultEnum;
|
---|
| 1614 | + if (strcmp(name,"GenericOption")==0) return GenericOptionEnum;
|
---|
| 1615 | + else if (strcmp(name,"GenericParam")==0) return GenericParamEnum;
|
---|
| 1616 | + else if (strcmp(name,"GenericExternalResult")==0) return GenericExternalResultEnum;
|
---|
| 1617 | else if (strcmp(name,"Gradient1")==0) return Gradient1Enum;
|
---|
| 1618 | else if (strcmp(name,"Gradient2")==0) return Gradient2Enum;
|
---|
| 1619 | else if (strcmp(name,"Gradient3")==0) return Gradient3Enum;
|
---|
| 1620 | @@ -1417,7 +1419,7 @@
|
---|
| 1621 | else if (strcmp(name,"InversionVzObs")==0) return InversionVzObsEnum;
|
---|
| 1622 | else if (strcmp(name,"J")==0) return JEnum;
|
---|
| 1623 | else if (strcmp(name,"L1L2Approximation")==0) return L1L2ApproximationEnum;
|
---|
| 1624 | - else if (strcmp(name,"MLHOApproximation")==0) return MLHOApproximationEnum;
|
---|
| 1625 | + else if (strcmp(name,"MOLHOApproximation")==0) return MOLHOApproximationEnum;
|
---|
| 1626 | else if (strcmp(name,"L2ProjectionBaseAnalysis")==0) return L2ProjectionBaseAnalysisEnum;
|
---|
| 1627 | else if (strcmp(name,"L2ProjectionEPLAnalysis")==0) return L2ProjectionEPLAnalysisEnum;
|
---|
| 1628 | else if (strcmp(name,"LACrouzeixRaviart")==0) return LACrouzeixRaviartEnum;
|
---|
| 1629 | @@ -1487,12 +1489,12 @@
|
---|
| 1630 | else if (strcmp(name,"NoMeltOnPartiallyFloating")==0) return NoMeltOnPartiallyFloatingEnum;
|
---|
| 1631 | else if (strcmp(name,"Nodal")==0) return NodalEnum;
|
---|
| 1632 | else if (strcmp(name,"Nodalvalue")==0) return NodalvalueEnum;
|
---|
| 1633 | - else if (strcmp(name,"NodeSId")==0) return NodeSIdEnum;
|
---|
| 1634 | - else if (strcmp(name,"NoneApproximation")==0) return NoneApproximationEnum;
|
---|
| 1635 | else stage=13;
|
---|
| 1636 | }
|
---|
| 1637 | if(stage==13){
|
---|
| 1638 | - if (strcmp(name,"None")==0) return NoneEnum;
|
---|
| 1639 | + if (strcmp(name,"NodeSId")==0) return NodeSIdEnum;
|
---|
| 1640 | + else if (strcmp(name,"NoneApproximation")==0) return NoneApproximationEnum;
|
---|
| 1641 | + else if (strcmp(name,"None")==0) return NoneEnum;
|
---|
| 1642 | else if (strcmp(name,"Numberedcostfunction")==0) return NumberedcostfunctionEnum;
|
---|
| 1643 | else if (strcmp(name,"NyeCO2")==0) return NyeCO2Enum;
|
---|
| 1644 | else if (strcmp(name,"NyeH2O")==0) return NyeH2OEnum;
|
---|
| 1645 | @@ -1610,12 +1612,12 @@
|
---|
| 1646 | else if (strcmp(name,"TotalSmb")==0) return TotalSmbEnum;
|
---|
| 1647 | else if (strcmp(name,"TotalSmbScaled")==0) return TotalSmbScaledEnum;
|
---|
| 1648 | else if (strcmp(name,"TransientArrayParam")==0) return TransientArrayParamEnum;
|
---|
| 1649 | - else if (strcmp(name,"TransientInput")==0) return TransientInputEnum;
|
---|
| 1650 | - else if (strcmp(name,"TransientParam")==0) return TransientParamEnum;
|
---|
| 1651 | else stage=14;
|
---|
| 1652 | }
|
---|
| 1653 | if(stage==14){
|
---|
| 1654 | - if (strcmp(name,"TransientSolution")==0) return TransientSolutionEnum;
|
---|
| 1655 | + if (strcmp(name,"TransientInput")==0) return TransientInputEnum;
|
---|
| 1656 | + else if (strcmp(name,"TransientParam")==0) return TransientParamEnum;
|
---|
| 1657 | + else if (strcmp(name,"TransientSolution")==0) return TransientSolutionEnum;
|
---|
| 1658 | else if (strcmp(name,"Tria")==0) return TriaEnum;
|
---|
| 1659 | else if (strcmp(name,"TriaInput")==0) return TriaInputEnum;
|
---|
| 1660 | else if (strcmp(name,"UzawaPressureAnalysis")==0) return UzawaPressureAnalysisEnum;
|
---|
| 1661 | Index: ../trunk-jpl/src/m/boundaryconditions/SetMOLHOBC.m
|
---|
| 1662 | ===================================================================
|
---|
| 1663 | --- ../trunk-jpl/src/m/boundaryconditions/SetMOLHOBC.m (nonexistent)
|
---|
| 1664 | +++ ../trunk-jpl/src/m/boundaryconditions/SetMOLHOBC.m (revision 27031)
|
---|
| 1665 | @@ -0,0 +1,16 @@
|
---|
| 1666 | +function md=SetMOLHOBC(md)
|
---|
| 1667 | +%SETMOLHOBC - Create the boundary conditions for stressbalance for MOLHO: VxBase, VyBase, VxShear, VyShear
|
---|
| 1668 | +%
|
---|
| 1669 | +% Usage:
|
---|
| 1670 | +% md=SetMOLHOBC(md)
|
---|
| 1671 | +%
|
---|
| 1672 | +
|
---|
| 1673 | +
|
---|
| 1674 | +%node on Dirichlet
|
---|
| 1675 | +if md.flowequation.isMOLHO
|
---|
| 1676 | + md.stressbalance.spcvx_base=md.stressbalance.spcvx;
|
---|
| 1677 | + md.stressbalance.spcvy_base=md.stressbalance.spcvy;
|
---|
| 1678 | +
|
---|
| 1679 | + md.stressbalance.spcvx_shear=NaN*ones(size(md.stressbalance.spcvx_base));
|
---|
| 1680 | + md.stressbalance.spcvy_shear=NaN*ones(size(md.stressbalance.spcvy_base));
|
---|
| 1681 | +end
|
---|
| 1682 | Index: ../trunk-jpl/src/m/classes/flowequation.js
|
---|
| 1683 | ===================================================================
|
---|
| 1684 | --- ../trunk-jpl/src/m/classes/flowequation.js (revision 27030)
|
---|
| 1685 | +++ ../trunk-jpl/src/m/classes/flowequation.js (revision 27031)
|
---|
| 1686 | @@ -21,7 +21,7 @@
|
---|
| 1687 | fielddisplay(this,'isSIA','is the Shallow Ice Approximation (SIA) used ?');
|
---|
| 1688 | fielddisplay(this,'isSSA','is the Shelfy-Stream Approximation (SSA) used ?');
|
---|
| 1689 | fielddisplay(this,'isL1L2','is the L1L2 approximation used ?');
|
---|
| 1690 | - fielddisplay(this,'isMLHO','is the Mono-Layer Higher-Order approximation used?');
|
---|
| 1691 | + fielddisplay(this,'isMOLHO','is the MOno-Layer Higher-Order (MOLHO) approximation used?');
|
---|
| 1692 | fielddisplay(this,'isHO','is the Higher-Order (HO) approximation used ?');
|
---|
| 1693 | fielddisplay(this,'isFS','are the Full-FS (FS) equations used ?');
|
---|
| 1694 | fielddisplay(this,'isNitscheBC','is weakly imposed condition used?');
|
---|
| 1695 | @@ -40,13 +40,13 @@
|
---|
| 1696 | return "flowequation";
|
---|
| 1697 |
|
---|
| 1698 | }// }}}
|
---|
| 1699 | - this.extrude = function(md) {//{{{
|
---|
| 1700 | - this.element_equation=project3d(md,'vector',this.element_equation,'type','element');
|
---|
| 1701 | - this.vertex_equation=project3d(md,'vector',this.vertex_equation,'type','node');
|
---|
| 1702 | - this.borderSSA=project3d(md,'vector',this.borderSSA,'type','node');
|
---|
| 1703 | - this.borderHO=project3d(md,'vector',this.borderHO,'type','node');
|
---|
| 1704 | - this.borderFS=project3d(md,'vector',this.borderFS,'type','node');
|
---|
| 1705 | - return this;
|
---|
| 1706 | + this.extrude = function(md) {//{{{
|
---|
| 1707 | + this.element_equation=project3d(md,'vector',this.element_equation,'type','element');
|
---|
| 1708 | + this.vertex_equation=project3d(md,'vector',this.vertex_equation,'type','node');
|
---|
| 1709 | + this.borderSSA=project3d(md,'vector',this.borderSSA,'type','node');
|
---|
| 1710 | + this.borderHO=project3d(md,'vector',this.borderHO,'type','node');
|
---|
| 1711 | + this.borderFS=project3d(md,'vector',this.borderFS,'type','node');
|
---|
| 1712 | + return this;
|
---|
| 1713 | }//}}}
|
---|
| 1714 | this.checkconsistency = function(md,solution,analyses) {//{{{
|
---|
| 1715 |
|
---|
| 1716 | @@ -58,7 +58,7 @@
|
---|
| 1717 | checkfield(md,'fieldname','flowequation.isSIA','numel',[1],'values',[0, 1]);
|
---|
| 1718 | checkfield(md,'fieldname','flowequation.isSSA','numel',[1],'values',[0, 1]);
|
---|
| 1719 | checkfield(md,'fieldname','flowequation.isL1L2','numel',[1],'values',[0, 1]);
|
---|
| 1720 | - checkfield(md,'fieldname','flowequation.isMLHO','numel',[1],'values',[0, 1]);
|
---|
| 1721 | + checkfield(md,'fieldname','flowequation.isMOLHO','numel',[1],'values',[0, 1]);
|
---|
| 1722 | checkfield(md,'fieldname','flowequation.isHO','numel',[1],'values',[0, 1]);
|
---|
| 1723 | checkfield(md,'fieldname','flowequation.isFS','numel',[1],'values',[0, 1]);
|
---|
| 1724 | checkfield(md,'fieldname','flowequation.isNitscheBC','numel',[1],'values',[0, 1]);
|
---|
| 1725 | @@ -92,7 +92,7 @@
|
---|
| 1726 | }
|
---|
| 1727 | else throw Error('Case not supported yet');
|
---|
| 1728 |
|
---|
| 1729 | - if (!(this.isSIA | this.isSSA | this.isL1L2 | this.isMLHO | this.isHO | this.isFS)){
|
---|
| 1730 | + if (!(this.isSIA | this.isSSA | this.isL1L2 | this.isMOLHO | this.isHO | this.isFS)){
|
---|
| 1731 | checkmessage(md,['no element types set for this model']);
|
---|
| 1732 | }
|
---|
| 1733 | if(ArrayAnyEqual(ArrayIsMember('StressbalanceSIAAnalysis', analyses),1)){
|
---|
| 1734 | @@ -107,7 +107,7 @@
|
---|
| 1735 | WriteData(fid,prefix,'object',this,'fieldname','isSIA','format','Boolean');
|
---|
| 1736 | WriteData(fid,prefix,'object',this,'fieldname','isSSA','format','Boolean');
|
---|
| 1737 | WriteData(fid,prefix,'object',this,'fieldname','isL1L2','format','Boolean');
|
---|
| 1738 | - WriteData(fid,prefix,'object',this,'fieldname','isMLHO','format','Boolean');
|
---|
| 1739 | + WriteData(fid,prefix,'object',this,'fieldname','isMOLHO','format','Boolean');
|
---|
| 1740 | WriteData(fid,prefix,'object',this,'fieldname','isHO','format','Boolean');
|
---|
| 1741 | WriteData(fid,prefix,'object',this,'fieldname','isFS','format','Boolean');
|
---|
| 1742 | WriteData(fid,prefix,'object',this,'fieldname','isNitscheBC','format','Boolean');
|
---|
| 1743 | @@ -137,7 +137,7 @@
|
---|
| 1744 | this.isSIA = 0;
|
---|
| 1745 | this.isSSA = 0;
|
---|
| 1746 | this.isL1L2 = 0;
|
---|
| 1747 | - this.isMLHO = 0;
|
---|
| 1748 | + this.isMOLHO = 0;
|
---|
| 1749 | this.isHO = 0;
|
---|
| 1750 | this.isFS = 0;
|
---|
| 1751 | this.isNitscheBC = 0;
|
---|
| 1752 | Index: ../trunk-jpl/src/m/classes/inversion.m
|
---|
| 1753 | ===================================================================
|
---|
| 1754 | --- ../trunk-jpl/src/m/classes/inversion.m (revision 27030)
|
---|
| 1755 | +++ ../trunk-jpl/src/m/classes/inversion.m (revision 27031)
|
---|
| 1756 | @@ -103,8 +103,8 @@
|
---|
| 1757 |
|
---|
| 1758 | %Only SSA, HO and FS are supported right now
|
---|
| 1759 | if strcmp(solution,'StressbalanceSolution')
|
---|
| 1760 | - if ~(md.flowequation.isSSA || md.flowequation.isMLHO || md.flowequation.isHO || md.flowequation.isFS || md.flowequation.isL1L2),
|
---|
| 1761 | - md = checkmessage(md,['inversion can only be performed for SSA, MLHO, HO or FS ice flow models']);
|
---|
| 1762 | + if ~(md.flowequation.isSSA || md.flowequation.isMOLHO || md.flowequation.isHO || md.flowequation.isFS || md.flowequation.isL1L2),
|
---|
| 1763 | + md = checkmessage(md,['inversion can only be performed for SSA, MOLHO, HO or FS ice flow models']);
|
---|
| 1764 | end
|
---|
| 1765 | end
|
---|
| 1766 | if strcmp(solution,'BalancethicknessSolution')
|
---|
| 1767 | Index: ../trunk-jpl/src/m/classes/stressbalance.py
|
---|
| 1768 | ===================================================================
|
---|
| 1769 | --- ../trunk-jpl/src/m/classes/stressbalance.py (revision 27030)
|
---|
| 1770 | +++ ../trunk-jpl/src/m/classes/stressbalance.py (revision 27031)
|
---|
| 1771 | @@ -58,7 +58,7 @@
|
---|
| 1772 | s += '{}\n'.format(fielddisplay(self, 'spcvy', 'y-axis velocity constraint (NaN means no constraint) [m / yr]'))
|
---|
| 1773 | s += '{}\n'.format(fielddisplay(self, 'spcvz', 'z-axis velocity constraint (NaN means no constraint) [m / yr]'))
|
---|
| 1774 | s += '{}\n'.format(fielddisplay(self, 'icefront', 'segments on ice front list (last column 0: Air, 1: Water, 2: Ice'))
|
---|
| 1775 | - s += ' MLHO boundary conditions:\n'
|
---|
| 1776 | + s += ' MOLHO boundary conditions:\n'
|
---|
| 1777 | s += '{}\n'.format(fielddisplay(self, 'spcvx_base', 'x-axis basal velocity constraint (NaN means no constraint) [m / yr]'))
|
---|
| 1778 | s += '{}\n'.format(fielddisplay(self, 'spcvy_base', 'y-axis basal velocity constraint (NaN means no constraint) [m / yr]'))
|
---|
| 1779 | s += '{}\n'.format(fielddisplay(self, 'spcvx_shear', 'x-axis shear velocity constraint (NaN means no constraint) [m / yr]'))
|
---|
| 1780 | @@ -85,7 +85,7 @@
|
---|
| 1781 | self.referential = project3d(md, 'vector', self.referential, 'type', 'node')
|
---|
| 1782 | self.loadingforce = project3d(md, 'vector', self.loadingforce, 'type', 'node')
|
---|
| 1783 |
|
---|
| 1784 | - if md.flowequation.isMLHO:
|
---|
| 1785 | + if md.flowequation.isMOLHO:
|
---|
| 1786 | self.spcvx_base = project3d(md, 'vector', self.spcvx_base, 'type', 'node')
|
---|
| 1787 | self.spcvy_base = project3d(md, 'vector', self.spcvy_base, 'type', 'node')
|
---|
| 1788 | self.spcvx_shear = project3d(md, 'vector', self.spcvx_shear, 'type', 'poly', 'degree', 4)
|
---|
| 1789 | @@ -175,7 +175,7 @@
|
---|
| 1790 | pos = np.nonzero(np.logical_and(md.mask.ocean_levelset, md.mesh.vertexonbase))
|
---|
| 1791 | if np.any(np.logical_not(np.isnan(md.stressbalance.referential[pos, :]))):
|
---|
| 1792 | md.checkmessage("no referential should be specified for basal vertices of grounded ice")
|
---|
| 1793 | - if md.flowequation.isMLHO:
|
---|
| 1794 | + if md.flowequation.isMOLHO:
|
---|
| 1795 | md = checkfield(md, 'fieldname', 'stressbalance.spcvx_base', 'Inf', 1, 'timeseries', 1)
|
---|
| 1796 | md = checkfield(md, 'fieldname', 'stressbalance.spcvy_base', 'Inf', 1, 'timeseries', 1)
|
---|
| 1797 | md = checkfield(md, 'fieldname', 'stressbalance.spcvx_shear', 'Inf', 1, 'timeseries', 1)
|
---|
| 1798 | @@ -214,8 +214,8 @@
|
---|
| 1799 | outputscopy = outputs[0:max(0, indices[0] - 1)] + self.defaultoutputs(md) + outputs[indices[0] + 1:]
|
---|
| 1800 | outputs = outputscopy
|
---|
| 1801 | WriteData(fid, prefix, 'data', outputs, 'name', 'md.stressbalance.requested_outputs', 'format', 'StringArray')
|
---|
| 1802 | - # MLHO
|
---|
| 1803 | - if md.flowequation.isMLHO:
|
---|
| 1804 | + # MOLHO
|
---|
| 1805 | + if md.flowequation.isMOLHO:
|
---|
| 1806 | WriteData(fid, prefix, 'object', self, 'class', 'stressbalance', 'fieldname', 'spcvx_base', 'format', 'DoubleMat', 'mattype', 1, 'scale', 1. / yts, 'timeserieslength', md.mesh.numberofvertices + 1, 'yts', yts)
|
---|
| 1807 | WriteData(fid, prefix, 'object', self, 'class', 'stressbalance', 'fieldname', 'spcvy_base', 'format', 'DoubleMat', 'mattype', 1, 'scale', 1. / yts, 'timeserieslength', md.mesh.numberofvertices + 1, 'yts', yts)
|
---|
| 1808 | WriteData(fid, prefix, 'object', self, 'class', 'stressbalance', 'fieldname', 'spcvx_shear', 'format', 'DoubleMat', 'mattype', 1, 'scale', 1. / yts, 'timeserieslength', md.mesh.numberofvertices + 1, 'yts', yts)
|
---|
| 1809 | Index: ../trunk-jpl/src/c/classes/Materials/Matestar.h
|
---|
| 1810 | ===================================================================
|
---|
| 1811 | --- ../trunk-jpl/src/c/classes/Materials/Matestar.h (revision 27030)
|
---|
| 1812 | +++ ../trunk-jpl/src/c/classes/Materials/Matestar.h (revision 27031)
|
---|
| 1813 | @@ -75,8 +75,8 @@
|
---|
| 1814 |
|
---|
| 1815 | void ViscosityFS(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input);
|
---|
| 1816 | void ViscosityHO(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input);
|
---|
| 1817 | - void ViscosityMLHO(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vxshear_input,Input* vyshear_input,Input* thickness_input,Input* n_input);
|
---|
| 1818 | - void ViscosityMLHOAdjoint(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vxshear_input,Input* vyshear_input,Input* thickness_input,Input* n_input);
|
---|
| 1819 | + void ViscosityMOLHO(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vxshear_input,Input* vyshear_input,Input* thickness_input,Input* n_input);
|
---|
| 1820 | + void ViscosityMOLHOAdjoint(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vxshear_input,Input* vyshear_input,Input* thickness_input,Input* n_input);
|
---|
| 1821 | void ViscosityL1L2(IssmDouble* pviscosity,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* surf);
|
---|
| 1822 | void ViscositySSA(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input);
|
---|
| 1823 | void ViscosityBFS(IssmDouble* pmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input,IssmDouble eps_eff);
|
---|
| 1824 | Index: ../trunk-jpl/src/c/classes/Materials/Matice.cpp
|
---|
| 1825 | ===================================================================
|
---|
| 1826 | --- ../trunk-jpl/src/c/classes/Materials/Matice.cpp (revision 27030)
|
---|
| 1827 | +++ ../trunk-jpl/src/c/classes/Materials/Matice.cpp (revision 27031)
|
---|
| 1828 | @@ -733,7 +733,7 @@
|
---|
| 1829 | /*Assign output pointer*/
|
---|
| 1830 | *pviscosity=viscosity;
|
---|
| 1831 | }/*}}}*/
|
---|
| 1832 | -void Matice::ViscosityMLHO(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vxbase_input,Input* vybase_input,Input* vxshear_input,Input* vyshear_input,Input* thickness_input,Input* n_input){/*{{{*/
|
---|
| 1833 | +void Matice::ViscosityMOLHO(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vxbase_input,Input* vybase_input,Input* vxshear_input,Input* vyshear_input,Input* thickness_input,Input* n_input){/*{{{*/
|
---|
| 1834 |
|
---|
| 1835 | /*Intermediaries*/
|
---|
| 1836 | IssmDouble epsilon[5]; /* epsilon=[exx,eyy,exy,exz,eyz]; */
|
---|
| 1837 | @@ -754,7 +754,7 @@
|
---|
| 1838 | zeta=0.5*(gauss_seg->coord1+1);
|
---|
| 1839 |
|
---|
| 1840 | /* eps_eff^2 = exx^2 + eyy^2 + exy^2 + exz^2 + eyz^2 + exx*eyy (for a given zeta)*/
|
---|
| 1841 | - element->StrainRateMLHO(&epsilon[0],xyz_list,gauss,
|
---|
| 1842 | + element->StrainRateMOLHO(&epsilon[0],xyz_list,gauss,
|
---|
| 1843 | vxbase_input,vybase_input,vxshear_input,vyshear_input,thickness_input,n_input,zeta);
|
---|
| 1844 | epsilon_eff=sqrt(epsilon[0]*epsilon[0] + epsilon[1]*epsilon[1] + epsilon[2]*epsilon[2]
|
---|
| 1845 | + epsilon[3]*epsilon[3] + epsilon[4]*epsilon[4] + epsilon[0]*epsilon[1]);
|
---|
| 1846 | @@ -794,7 +794,7 @@
|
---|
| 1847 | /*Clean up*/
|
---|
| 1848 | delete gauss_seg;
|
---|
| 1849 | }/*}}}*/
|
---|
| 1850 | -void Matice::ViscosityMLHOAdjoint(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vxbase_input,Input* vybase_input,Input* vxshear_input,Input* vyshear_input,Input* thickness_input,Input* n_input){/*{{{*/
|
---|
| 1851 | +void Matice::ViscosityMOLHOAdjoint(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vxbase_input,Input* vybase_input,Input* vxshear_input,Input* vyshear_input,Input* thickness_input,Input* n_input){/*{{{*/
|
---|
| 1852 |
|
---|
| 1853 | /* To compute the additional 5 terms in the viscosity appear in the adjoint equation*/
|
---|
| 1854 | /*Intermediaries*/
|
---|
| 1855 | @@ -816,7 +816,7 @@
|
---|
| 1856 | zeta=0.5*(gauss_seg->coord1+1);
|
---|
| 1857 |
|
---|
| 1858 | /* eps_eff^2 = exx^2 + eyy^2 + exy^2 + exz^2 + eyz^2 + exx*eyy (for a given zeta)*/
|
---|
| 1859 | - element->StrainRateMLHO(&epsilon[0],xyz_list,gauss,
|
---|
| 1860 | + element->StrainRateMOLHO(&epsilon[0],xyz_list,gauss,
|
---|
| 1861 | vxbase_input,vybase_input,vxshear_input,vyshear_input,thickness_input,n_input,zeta);
|
---|
| 1862 | epsilon_eff=sqrt(epsilon[0]*epsilon[0] + epsilon[1]*epsilon[1] + epsilon[2]*epsilon[2]
|
---|
| 1863 | + epsilon[3]*epsilon[3] + epsilon[4]*epsilon[4] + epsilon[0]*epsilon[1]);
|
---|
| 1864 | Index: ../trunk-jpl/src/c/classes/Materials/Matice.h
|
---|
| 1865 | ===================================================================
|
---|
| 1866 | --- ../trunk-jpl/src/c/classes/Materials/Matice.h (revision 27030)
|
---|
| 1867 | +++ ../trunk-jpl/src/c/classes/Materials/Matice.h (revision 27031)
|
---|
| 1868 | @@ -77,8 +77,8 @@
|
---|
| 1869 |
|
---|
| 1870 | void ViscosityFS(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input);
|
---|
| 1871 | void ViscosityHO(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input);
|
---|
| 1872 | - void ViscosityMLHO(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vxshear_input,Input* vyshear_input,Input* thickness_input,Input* n_input);
|
---|
| 1873 | - void ViscosityMLHOAdjoint(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vxshear_input,Input* vyshear_input,Input* thickness_input,Input* n_input);
|
---|
| 1874 | + void ViscosityMOLHO(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vxshear_input,Input* vyshear_input,Input* thickness_input,Input* n_input);
|
---|
| 1875 | + void ViscosityMOLHOAdjoint(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vxshear_input,Input* vyshear_input,Input* thickness_input,Input* n_input);
|
---|
| 1876 | void ViscosityL1L2(IssmDouble* pviscosity,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* surf);
|
---|
| 1877 | void ViscositySSA(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input);
|
---|
| 1878 | void ViscosityBFS(IssmDouble* pmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input,IssmDouble eps_eff){_error_("not supported");};
|
---|
| 1879 | Index: ../trunk-jpl/src/c/classes/Materials/Matlitho.h
|
---|
| 1880 | ===================================================================
|
---|
| 1881 | --- ../trunk-jpl/src/c/classes/Materials/Matlitho.h (revision 27030)
|
---|
| 1882 | +++ ../trunk-jpl/src/c/classes/Materials/Matlitho.h (revision 27031)
|
---|
| 1883 | @@ -71,8 +71,8 @@
|
---|
| 1884 |
|
---|
| 1885 | void ViscosityFS(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input){_error_("not supported");};
|
---|
| 1886 | void ViscosityHO(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input){_error_("not supported");};
|
---|
| 1887 | - void ViscosityMLHO(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vxshear_input,Input* vyshear_input,Input* thickness_input,Input* n_input){_error_("not supported");};
|
---|
| 1888 | - void ViscosityMLHOAdjoint(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vxshear_input,Input* vyshear_input,Input* thickness_input,Input* n_input){_error_("not supported");};
|
---|
| 1889 | + void ViscosityMOLHO(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vxshear_input,Input* vyshear_input,Input* thickness_input,Input* n_input){_error_("not supported");};
|
---|
| 1890 | + void ViscosityMOLHOAdjoint(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vxshear_input,Input* vyshear_input,Input* thickness_input,Input* n_input){_error_("not supported");};
|
---|
| 1891 | void ViscosityL1L2(IssmDouble* pviscosity,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* surf){_error_("not supported");};
|
---|
| 1892 | void ViscositySSA(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input){_error_("not supported");};
|
---|
| 1893 | void ViscosityBFS(IssmDouble* pmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input,IssmDouble epseff){_error_("not supported");};
|
---|
| 1894 | Index: ../trunk-jpl/src/c/classes/Node.cpp
|
---|
| 1895 | ===================================================================
|
---|
| 1896 | --- ../trunk-jpl/src/c/classes/Node.cpp (revision 27030)
|
---|
| 1897 | +++ ../trunk-jpl/src/c/classes/Node.cpp (revision 27031)
|
---|
| 1898 | @@ -117,7 +117,7 @@
|
---|
| 1899 | if(in_approximation==L1L2ApproximationEnum && !reCast<int>(iomodel->Data("md.mesh.vertexonbase")[io_index])){
|
---|
| 1900 | this->HardDeactivate();
|
---|
| 1901 | }
|
---|
| 1902 | - if(in_approximation==MLHOApproximationEnum && !reCast<int>(iomodel->Data("md.mesh.vertexonbase")[io_index])){
|
---|
| 1903 | + if(in_approximation==MOLHOApproximationEnum && !reCast<int>(iomodel->Data("md.mesh.vertexonbase")[io_index])){
|
---|
| 1904 | this->HardDeactivate();
|
---|
| 1905 | }
|
---|
| 1906 | if(in_approximation==SSAHOApproximationEnum && reCast<int>(iomodel->Data("md.flowequation.borderSSA")[io_index])){
|
---|
| 1907 | Index: ../trunk-jpl/src/c/cores/stressbalance_core.cpp
|
---|
| 1908 | ===================================================================
|
---|
| 1909 | --- ../trunk-jpl/src/c/cores/stressbalance_core.cpp (revision 27030)
|
---|
| 1910 | +++ ../trunk-jpl/src/c/cores/stressbalance_core.cpp (revision 27031)
|
---|
| 1911 | @@ -18,7 +18,7 @@
|
---|
| 1912 | /*parameters: */
|
---|
| 1913 | bool dakota_analysis,control_analysis;
|
---|
| 1914 | int domaintype;
|
---|
| 1915 | - bool isSIA,isSSA,isL1L2,isMLHO,isHO,isFS,isNitsche;
|
---|
| 1916 | + bool isSIA,isSSA,isL1L2,isMOLHO,isHO,isFS,isNitsche;
|
---|
| 1917 | bool save_results;
|
---|
| 1918 | int solution_type;
|
---|
| 1919 | int numoutputs = 0;
|
---|
| 1920 | @@ -30,7 +30,7 @@
|
---|
| 1921 | femmodel->parameters->FindParam(&isSIA,FlowequationIsSIAEnum);
|
---|
| 1922 | femmodel->parameters->FindParam(&isSSA,FlowequationIsSSAEnum);
|
---|
| 1923 | femmodel->parameters->FindParam(&isL1L2,FlowequationIsL1L2Enum);
|
---|
| 1924 | - femmodel->parameters->FindParam(&isMLHO,FlowequationIsMLHOEnum);
|
---|
| 1925 | + femmodel->parameters->FindParam(&isMOLHO,FlowequationIsMOLHOEnum);
|
---|
| 1926 | femmodel->parameters->FindParam(&isHO,FlowequationIsHOEnum);
|
---|
| 1927 | femmodel->parameters->FindParam(&isFS,FlowequationIsFSEnum);
|
---|
| 1928 | femmodel->parameters->FindParam(&isNitsche,FlowequationIsNitscheEnum);
|
---|
| 1929 | @@ -74,7 +74,7 @@
|
---|
| 1930 | }
|
---|
| 1931 |
|
---|
| 1932 | /*Compute stressbalance for SSA L1L2 HO and FS*/
|
---|
| 1933 | - if(isSSA || isL1L2 || isMLHO || isHO || isFS){
|
---|
| 1934 | + if(isSSA || isL1L2 || isMOLHO || isHO || isFS){
|
---|
| 1935 | analysis = new StressbalanceAnalysis();
|
---|
| 1936 | analysis->Core(femmodel);
|
---|
| 1937 | delete analysis;
|
---|
| 1938 | @@ -81,7 +81,7 @@
|
---|
| 1939 | }
|
---|
| 1940 |
|
---|
| 1941 | /*Compute vertical velocities*/
|
---|
| 1942 | - if (domaintype==Domain3DEnum && (isSIA || isSSA || isL1L2 || isMLHO || isHO)){
|
---|
| 1943 | + if (domaintype==Domain3DEnum && (isSIA || isSSA || isL1L2 || isMOLHO || isHO)){
|
---|
| 1944 |
|
---|
| 1945 | /*We need basal melt rates for vertical velocity*/
|
---|
| 1946 | bmb_core(femmodel);
|
---|
| 1947 | Index: ../trunk-jpl/src/c/modules/SurfaceAbsVelMisfitx/SurfaceAbsVelMisfitx.cpp
|
---|
| 1948 | ===================================================================
|
---|
| 1949 | --- ../trunk-jpl/src/c/modules/SurfaceAbsVelMisfitx/SurfaceAbsVelMisfitx.cpp (revision 27030)
|
---|
| 1950 | +++ ../trunk-jpl/src/c/modules/SurfaceAbsVelMisfitx/SurfaceAbsVelMisfitx.cpp (revision 27031)
|
---|
| 1951 | @@ -65,7 +65,7 @@
|
---|
| 1952 | Input* vy_input = NULL;
|
---|
| 1953 | Input* vyobs_input = NULL;
|
---|
| 1954 |
|
---|
| 1955 | - /*Read SurfaceEnum from 2D models:SSA, L1L2, MLHO*/
|
---|
| 1956 | + /*Read SurfaceEnum from 2D models:SSA, L1L2, MOLHO*/
|
---|
| 1957 | if (domaintype == Domain2DhorizontalEnum) {
|
---|
| 1958 | vx_input = topelement->GetInput(VxSurfaceEnum); _assert_(vx_input);
|
---|
| 1959 | if(numcomponents==2){
|
---|
| 1960 | Index: ../trunk-jpl/src/c/modules/SurfaceAverageVelMisfitx/SurfaceAverageVelMisfitx.cpp
|
---|
| 1961 | ===================================================================
|
---|
| 1962 | --- ../trunk-jpl/src/c/modules/SurfaceAverageVelMisfitx/SurfaceAverageVelMisfitx.cpp (revision 27030)
|
---|
| 1963 | +++ ../trunk-jpl/src/c/modules/SurfaceAverageVelMisfitx/SurfaceAverageVelMisfitx.cpp (revision 27031)
|
---|
| 1964 | @@ -73,7 +73,7 @@
|
---|
| 1965 | Input* vy_input = NULL;
|
---|
| 1966 | Input* vyobs_input = NULL;
|
---|
| 1967 |
|
---|
| 1968 | - /*Read SurfaceEnum from 2D models:SSA, L1L2, MLHO*/
|
---|
| 1969 | + /*Read SurfaceEnum from 2D models:SSA, L1L2, MOLHO*/
|
---|
| 1970 | if (domaintype == Domain2DhorizontalEnum) {
|
---|
| 1971 | vx_input = topelement->GetInput(VxSurfaceEnum); _assert_(vx_input);
|
---|
| 1972 | if(numcomponents==2){
|
---|
| 1973 | Index: ../trunk-jpl/src/c/modules/SurfaceLogVelMisfitx/SurfaceLogVelMisfitx.cpp
|
---|
| 1974 | ===================================================================
|
---|
| 1975 | --- ../trunk-jpl/src/c/modules/SurfaceLogVelMisfitx/SurfaceLogVelMisfitx.cpp (revision 27030)
|
---|
| 1976 | +++ ../trunk-jpl/src/c/modules/SurfaceLogVelMisfitx/SurfaceLogVelMisfitx.cpp (revision 27031)
|
---|
| 1977 | @@ -67,7 +67,7 @@
|
---|
| 1978 | Input* vy_input = NULL;
|
---|
| 1979 | Input* vyobs_input = NULL;
|
---|
| 1980 |
|
---|
| 1981 | - /*Read SurfaceEnum from 2D models:SSA, L1L2, MLHO*/
|
---|
| 1982 | + /*Read SurfaceEnum from 2D models:SSA, L1L2, MOLHO*/
|
---|
| 1983 | if (domaintype == Domain2DhorizontalEnum) {
|
---|
| 1984 | vx_input = topelement->GetInput(VxSurfaceEnum); _assert_(vx_input);
|
---|
| 1985 | if(numcomponents==2){
|
---|
| 1986 | Index: ../trunk-jpl/src/c/modules/SurfaceLogVxVyMisfitx/SurfaceLogVxVyMisfitx.cpp
|
---|
| 1987 | ===================================================================
|
---|
| 1988 | --- ../trunk-jpl/src/c/modules/SurfaceLogVxVyMisfitx/SurfaceLogVxVyMisfitx.cpp (revision 27030)
|
---|
| 1989 | +++ ../trunk-jpl/src/c/modules/SurfaceLogVxVyMisfitx/SurfaceLogVxVyMisfitx.cpp (revision 27031)
|
---|
| 1990 | @@ -67,7 +67,7 @@
|
---|
| 1991 | Input* vy_input = NULL;
|
---|
| 1992 | Input* vyobs_input = NULL;
|
---|
| 1993 |
|
---|
| 1994 | - /*Read SurfaceEnum from 2D models:SSA, L1L2, MLHO*/
|
---|
| 1995 | + /*Read SurfaceEnum from 2D models:SSA, L1L2, MOLHO*/
|
---|
| 1996 | if (domaintype == Domain2DhorizontalEnum) {
|
---|
| 1997 | vx_input = topelement->GetInput(VxSurfaceEnum); _assert_(vx_input);
|
---|
| 1998 | if(numcomponents==2){
|
---|
| 1999 | Index: ../trunk-jpl/src/c/modules/SurfaceRelVelMisfitx/SurfaceRelVelMisfitx.cpp
|
---|
| 2000 | ===================================================================
|
---|
| 2001 | --- ../trunk-jpl/src/c/modules/SurfaceRelVelMisfitx/SurfaceRelVelMisfitx.cpp (revision 27030)
|
---|
| 2002 | +++ ../trunk-jpl/src/c/modules/SurfaceRelVelMisfitx/SurfaceRelVelMisfitx.cpp (revision 27031)
|
---|
| 2003 | @@ -67,7 +67,7 @@
|
---|
| 2004 | Input* vy_input = NULL;
|
---|
| 2005 | Input* vyobs_input = NULL;
|
---|
| 2006 |
|
---|
| 2007 | - /*Read SurfaceEnum from 2D models:SSA, L1L2, MLHO*/
|
---|
| 2008 | + /*Read SurfaceEnum from 2D models:SSA, L1L2, MOLHO*/
|
---|
| 2009 | if (domaintype == Domain2DhorizontalEnum) {
|
---|
| 2010 | vx_input = topelement->GetInput(VxSurfaceEnum); _assert_(vx_input);
|
---|
| 2011 | if(numcomponents==2){
|
---|
| 2012 | Index: ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
|
---|
| 2013 | ===================================================================
|
---|
| 2014 | --- ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h (revision 27030)
|
---|
| 2015 | +++ ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h (revision 27031)
|
---|
| 2016 | @@ -169,7 +169,7 @@
|
---|
| 2017 | FlowequationIsFSEnum,
|
---|
| 2018 | FlowequationIsHOEnum,
|
---|
| 2019 | FlowequationIsL1L2Enum,
|
---|
| 2020 | - FlowequationIsMLHOEnum,
|
---|
| 2021 | + FlowequationIsMOLHOEnum,
|
---|
| 2022 | FlowequationIsSIAEnum,
|
---|
| 2023 | FlowequationIsSSAEnum,
|
---|
| 2024 | FlowequationIsNitscheEnum,
|
---|
| 2025 | @@ -1383,7 +1383,7 @@
|
---|
| 2026 | InversionVzObsEnum,
|
---|
| 2027 | JEnum,
|
---|
| 2028 | L1L2ApproximationEnum,
|
---|
| 2029 | - MLHOApproximationEnum,
|
---|
| 2030 | + MOLHOApproximationEnum,
|
---|
| 2031 | L2ProjectionBaseAnalysisEnum,
|
---|
| 2032 | L2ProjectionEPLAnalysisEnum,
|
---|
| 2033 | LACrouzeixRaviartEnum,
|
---|
| 2034 | Index: ../trunk-jpl/src/c/shared/Enum/Enumjl.vim
|
---|
| 2035 | ===================================================================
|
---|
| 2036 | --- ../trunk-jpl/src/c/shared/Enum/Enumjl.vim (revision 27030)
|
---|
| 2037 | +++ ../trunk-jpl/src/c/shared/Enum/Enumjl.vim (revision 27031)
|
---|
| 2038 | @@ -105,6 +105,7 @@
|
---|
| 2039 | syn keyword juliaConstC CalvingLawEnum
|
---|
| 2040 | syn keyword juliaConstC CalvingMinthicknessEnum
|
---|
| 2041 | syn keyword juliaConstC CalvingTestSpeedfactorEnum
|
---|
| 2042 | +syn keyword juliaConstC CalvingTestIndependentRateEnum
|
---|
| 2043 | syn keyword juliaConstC CalvingUseParamEnum
|
---|
| 2044 | syn keyword juliaConstC CalvingScaleThetaEnum
|
---|
| 2045 | syn keyword juliaConstC CalvingAmpAlphaEnum
|
---|
| 2046 | @@ -167,7 +168,7 @@
|
---|
| 2047 | syn keyword juliaConstC FlowequationIsFSEnum
|
---|
| 2048 | syn keyword juliaConstC FlowequationIsHOEnum
|
---|
| 2049 | syn keyword juliaConstC FlowequationIsL1L2Enum
|
---|
| 2050 | -syn keyword juliaConstC FlowequationIsMLHOEnum
|
---|
| 2051 | +syn keyword juliaConstC FlowequationIsMOLHOEnum
|
---|
| 2052 | syn keyword juliaConstC FlowequationIsSIAEnum
|
---|
| 2053 | syn keyword juliaConstC FlowequationIsSSAEnum
|
---|
| 2054 | syn keyword juliaConstC FlowequationIsNitscheEnum
|
---|
| 2055 | @@ -650,6 +651,7 @@
|
---|
| 2056 | syn keyword juliaConstC BottomPressureOldEnum
|
---|
| 2057 | syn keyword juliaConstC CalvingCalvingrateEnum
|
---|
| 2058 | syn keyword juliaConstC CalvingHabFractionEnum
|
---|
| 2059 | +syn keyword juliaConstC CalvingAblationrateEnum
|
---|
| 2060 | syn keyword juliaConstC CalvingMeltingrateEnum
|
---|
| 2061 | syn keyword juliaConstC CalvingStressThresholdFloatingiceEnum
|
---|
| 2062 | syn keyword juliaConstC CalvingStressThresholdGroundediceEnum
|
---|
| 2063 | @@ -1375,7 +1377,7 @@
|
---|
| 2064 | syn keyword juliaConstC InversionVzObsEnum
|
---|
| 2065 | syn keyword juliaConstC JEnum
|
---|
| 2066 | syn keyword juliaConstC L1L2ApproximationEnum
|
---|
| 2067 | -syn keyword juliaConstC MLHOApproximationEnum
|
---|
| 2068 | +syn keyword juliaConstC MOLHOApproximationEnum
|
---|
| 2069 | syn keyword juliaConstC L2ProjectionBaseAnalysisEnum
|
---|
| 2070 | syn keyword juliaConstC L2ProjectionEPLAnalysisEnum
|
---|
| 2071 | syn keyword juliaConstC LACrouzeixRaviartEnum
|
---|
| 2072 | Index: ../trunk-jpl/src/c/shared/io/Marshalling/IoCodeConversions.cpp
|
---|
| 2073 | ===================================================================
|
---|
| 2074 | --- ../trunk-jpl/src/c/shared/io/Marshalling/IoCodeConversions.cpp (revision 27030)
|
---|
| 2075 | +++ ../trunk-jpl/src/c/shared/io/Marshalling/IoCodeConversions.cpp (revision 27031)
|
---|
| 2076 | @@ -344,7 +344,7 @@
|
---|
| 2077 | case 1: return SIAApproximationEnum;
|
---|
| 2078 | case 2: return SSAApproximationEnum;
|
---|
| 2079 | case 3: return L1L2ApproximationEnum;
|
---|
| 2080 | - case 4: return MLHOApproximationEnum;
|
---|
| 2081 | + case 4: return MOLHOApproximationEnum;
|
---|
| 2082 | case 5: return HOApproximationEnum;
|
---|
| 2083 | case 6: return FSApproximationEnum;
|
---|
| 2084 | case 7: return SSAHOApproximationEnum;
|
---|
| 2085 | @@ -359,7 +359,7 @@
|
---|
| 2086 | case 1: return SIAApproximationEnum;
|
---|
| 2087 | case 2: return SSAApproximationEnum;
|
---|
| 2088 | case 3: return L1L2ApproximationEnum;
|
---|
| 2089 | - case 4: return MLHOApproximationEnum;
|
---|
| 2090 | + case 4: return MOLHOApproximationEnum;
|
---|
| 2091 | case 5: return HOApproximationEnum;
|
---|
| 2092 | case 6: return FSApproximationEnum;
|
---|
| 2093 | case 7: return SSAHOApproximationEnum;
|
---|
| 2094 | Index: ../trunk-jpl/src/m/boundaryconditions/SetMOLHOBC.py
|
---|
| 2095 | ===================================================================
|
---|
| 2096 | --- ../trunk-jpl/src/m/boundaryconditions/SetMOLHOBC.py (nonexistent)
|
---|
| 2097 | +++ ../trunk-jpl/src/m/boundaryconditions/SetMOLHOBC.py (revision 27031)
|
---|
| 2098 | @@ -0,0 +1,21 @@
|
---|
| 2099 | +import numpy as np
|
---|
| 2100 | +
|
---|
| 2101 | +def SetMOLHOBC(md):
|
---|
| 2102 | + """
|
---|
| 2103 | + SETMOLHOBC - Create the boundary conditions for stressbalance for MOLHO: VxBase, VyBase, VxShear, VyShear
|
---|
| 2104 | +
|
---|
| 2105 | + Usage:
|
---|
| 2106 | + md = SetIceShelfBC(md, varargin)
|
---|
| 2107 | +
|
---|
| 2108 | + Example:
|
---|
| 2109 | + md = SetIceShelfBC(md)
|
---|
| 2110 | +
|
---|
| 2111 | + """
|
---|
| 2112 | +
|
---|
| 2113 | + #node on Dirichlet (boundary and ~icefront)
|
---|
| 2114 | + md.stressbalance.spcvx_base = md.stressbalance.spcvx
|
---|
| 2115 | + md.stressbalance.spcvy_base = md.stressbalance.spcvy
|
---|
| 2116 | + md.stressbalance.spcvx_shear = np.nan * md.stressbalance.spcvx
|
---|
| 2117 | + md.stressbalance.spcvy_shear = np.nan * md.stressbalance.spcvy
|
---|
| 2118 | +
|
---|
| 2119 | + return md
|
---|
| 2120 | Index: ../trunk-jpl/src/m/classes/flowequation.py
|
---|
| 2121 | ===================================================================
|
---|
| 2122 | --- ../trunk-jpl/src/m/classes/flowequation.py (revision 27030)
|
---|
| 2123 | +++ ../trunk-jpl/src/m/classes/flowequation.py (revision 27031)
|
---|
| 2124 | @@ -18,7 +18,7 @@
|
---|
| 2125 | self.isSIA = 0
|
---|
| 2126 | self.isSSA = 0
|
---|
| 2127 | self.isL1L2 = 0
|
---|
| 2128 | - self.isMLHO = 0
|
---|
| 2129 | + self.isMOLHO = 0
|
---|
| 2130 | self.isHO = 0
|
---|
| 2131 | self.isFS = 0
|
---|
| 2132 | self.isNitscheBC = 0
|
---|
| 2133 | @@ -45,7 +45,7 @@
|
---|
| 2134 | s += '{}\n'.format(fielddisplay(self, 'isSIA', "is the Shallow Ice Approximation (SIA) used?"))
|
---|
| 2135 | s += '{}\n'.format(fielddisplay(self, 'isSSA', "is the Shelfy-Stream Approximation (SSA) used?"))
|
---|
| 2136 | s += '{}\n'.format(fielddisplay(self, 'isL1L2', "are L1L2 equations used?"))
|
---|
| 2137 | - s += '{}\n'.format(fielddisplay(self, 'isMLHO', "are Mono-layer Higher-Order equations used?"))
|
---|
| 2138 | + s += '{}\n'.format(fielddisplay(self, 'isMOLHO', "are MOno-layer Higher-Order (MOLHO) equations used?"))
|
---|
| 2139 | s += '{}\n'.format(fielddisplay(self, 'isHO', "is the Higher-Order (HO) approximation used?"))
|
---|
| 2140 | s += '{}\n'.format(fielddisplay(self, 'isFS', "are the Full-FS (FS) equations used?"))
|
---|
| 2141 | s += '{}\n'.format(fielddisplay(self, 'isNitscheBC', "is weakly imposed condition used?"))
|
---|
| 2142 | @@ -89,7 +89,7 @@
|
---|
| 2143 | md = checkfield(md, 'fieldname', 'flowequation.isSIA', 'numel', [1], 'values', [0, 1])
|
---|
| 2144 | md = checkfield(md, 'fieldname', 'flowequation.isSSA', 'numel', [1], 'values', [0, 1])
|
---|
| 2145 | md = checkfield(md, 'fieldname', 'flowequation.isL1L2', 'numel', [1], 'values', [0, 1])
|
---|
| 2146 | - md = checkfield(md, 'fieldname', 'flowequation.isMLHO', 'numel', [1], 'values', [0, 1])
|
---|
| 2147 | + md = checkfield(md, 'fieldname', 'flowequation.isMOLHO', 'numel', [1], 'values', [0, 1])
|
---|
| 2148 | md = checkfield(md, 'fieldname', 'flowequation.isHO', 'numel', [1], 'values', [0, 1])
|
---|
| 2149 | md = checkfield(md, 'fieldname', 'flowequation.isFS', 'numel', [1], 'values', [0, 1])
|
---|
| 2150 | md = checkfield(md, 'fieldname', 'flowequation.isNitscheBC', 'numel', [1], 'values', [0, 1])
|
---|
| 2151 | @@ -120,7 +120,7 @@
|
---|
| 2152 | else:
|
---|
| 2153 | raise RuntimeError('Case not supported yet')
|
---|
| 2154 |
|
---|
| 2155 | - if not (self.isSIA or self.isSSA or self.isL1L2 or self.isMLHO or self.isHO or self.isFS):
|
---|
| 2156 | + if not (self.isSIA or self.isSSA or self.isL1L2 or self.isMOLHO or self.isHO or self.isFS):
|
---|
| 2157 | md.checkmessage("no element types set for this model")
|
---|
| 2158 | if 'StressbalanceSIAAnalysis' in analyses:
|
---|
| 2159 | if any(self.element_equation == 1):
|
---|
| 2160 | @@ -133,7 +133,7 @@
|
---|
| 2161 | WriteData(fid, prefix, 'object', self, 'fieldname', 'isSIA', 'format', 'Boolean')
|
---|
| 2162 | WriteData(fid, prefix, 'object', self, 'fieldname', 'isSSA', 'format', 'Boolean')
|
---|
| 2163 | WriteData(fid, prefix, 'object', self, 'fieldname', 'isL1L2', 'format', 'Boolean')
|
---|
| 2164 | - WriteData(fid, prefix, 'object', self, 'fieldname', 'isMLHO', 'format', 'Boolean')
|
---|
| 2165 | + WriteData(fid, prefix, 'object', self, 'fieldname', 'isMOLHO', 'format', 'Boolean')
|
---|
| 2166 | WriteData(fid, prefix, 'object', self, 'fieldname', 'isHO', 'format', 'Boolean')
|
---|
| 2167 | WriteData(fid, prefix, 'object', self, 'fieldname', 'isFS', 'format', 'Boolean')
|
---|
| 2168 | WriteData(fid, prefix, 'object', self, 'fieldname', 'isNitscheBC', 'format', 'Boolean')
|
---|
| 2169 | Index: ../trunk-jpl/src/m/classes/stressbalance.m
|
---|
| 2170 | ===================================================================
|
---|
| 2171 | --- ../trunk-jpl/src/m/classes/stressbalance.m (revision 27030)
|
---|
| 2172 | +++ ../trunk-jpl/src/m/classes/stressbalance.m (revision 27031)
|
---|
| 2173 | @@ -35,8 +35,8 @@
|
---|
| 2174 | self.referential=project3d(md,'vector',self.referential,'type','node');
|
---|
| 2175 | self.loadingforce=project3d(md,'vector',self.loadingforce,'type','node');
|
---|
| 2176 |
|
---|
| 2177 | - % for MLHO
|
---|
| 2178 | - if md.flowequation.isMLHO
|
---|
| 2179 | + % for MOLHO
|
---|
| 2180 | + if md.flowequation.isMOLHO
|
---|
| 2181 | self.spcvx_base=project3d(md,'vector',self.spcvx_base,'type','node');
|
---|
| 2182 | self.spcvy_base=project3d(md,'vector',self.spcvy_base,'type','node');
|
---|
| 2183 | self.spcvx_shear=project3d(md,'vector',self.spcvx_shear,'type','poly','degree',4);
|
---|
| 2184 | @@ -133,8 +133,8 @@
|
---|
| 2185 | end
|
---|
| 2186 | md = checkfield(md,'fieldname','stressbalance.FSreconditioning','>',0);
|
---|
| 2187 | end
|
---|
| 2188 | - % CHECK THIS ONLY WORKS FOR MLHO
|
---|
| 2189 | - if md.flowequation.isMLHO
|
---|
| 2190 | + % CHECK THIS ONLY WORKS FOR MOLHO
|
---|
| 2191 | + if md.flowequation.isMOLHO
|
---|
| 2192 | md = checkfield(md,'fieldname','stressbalance.spcvx_base','Inf',1,'timeseries',1);
|
---|
| 2193 | md = checkfield(md,'fieldname','stressbalance.spcvy_base','Inf',1,'timeseries',1);
|
---|
| 2194 | md = checkfield(md,'fieldname','stressbalance.spcvx_shear','Inf',1,'timeseries',1);
|
---|
| 2195 | @@ -168,7 +168,7 @@
|
---|
| 2196 | fielddisplay(self,'spcvy','y-axis velocity constraint (NaN means no constraint) [m/yr]');
|
---|
| 2197 | fielddisplay(self,'spcvz','z-axis velocity constraint (NaN means no constraint) [m/yr]');
|
---|
| 2198 |
|
---|
| 2199 | - disp(sprintf('\n %s','MLHO boundary conditions:'));
|
---|
| 2200 | + disp(sprintf('\n %s','MOLHO boundary conditions:'));
|
---|
| 2201 | fielddisplay(self,'spcvx_base','x-axis basal velocity constraint (NaN means no constraint) [m/yr]');
|
---|
| 2202 | fielddisplay(self,'spcvy_base','y-axis basal velocity constraint (NaN means no constraint) [m/yr]');
|
---|
| 2203 | fielddisplay(self,'spcvx_shear','x-axis shear velocity constraint (NaN means no constraint) [m/yr]');
|
---|
| 2204 | @@ -225,8 +225,8 @@
|
---|
| 2205 | outputs = [outputs defaultoutputs(self,md)]; %add defaults
|
---|
| 2206 | end
|
---|
| 2207 | WriteData(fid,prefix,'data',outputs,'name','md.stressbalance.requested_outputs','format','StringArray');
|
---|
| 2208 | - % for MLHO
|
---|
| 2209 | - if (md.flowequation.isMLHO)
|
---|
| 2210 | + % for MOLHO
|
---|
| 2211 | + if (md.flowequation.isMOLHO)
|
---|
| 2212 | WriteData(fid,prefix,'object',self,'class','stressbalance','fieldname','spcvx_base','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
|
---|
| 2213 | WriteData(fid,prefix,'object',self,'class','stressbalance','fieldname','spcvy_base','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
|
---|
| 2214 | WriteData(fid,prefix,'object',self,'class','stressbalance','fieldname','spcvx_shear','format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
|
---|
| 2215 | Index: ../trunk-jpl/src/m/parameterization/setflowequation.m
|
---|
| 2216 | ===================================================================
|
---|
| 2217 | --- ../trunk-jpl/src/m/parameterization/setflowequation.m (revision 27030)
|
---|
| 2218 | +++ ../trunk-jpl/src/m/parameterization/setflowequation.m (revision 27031)
|
---|
| 2219 | @@ -2,7 +2,7 @@
|
---|
| 2220 | %SETFLOWEQUATION - associate a solution type to each element
|
---|
| 2221 | %
|
---|
| 2222 | % This routine works like plotmodel: it works with an even number of inputs
|
---|
| 2223 | -% 'SIA','SSA','L1L2','MLHO','HO','FS' and 'fill' are the possible options
|
---|
| 2224 | +% 'SIA','SSA','L1L2','MOLHO','HO','FS' and 'fill' are the possible options
|
---|
| 2225 | % that must be followed by the corresponding exp file or flags list
|
---|
| 2226 | % It can either be a domain file (argus type, .exp extension), or an array of element flags.
|
---|
| 2227 | % If user wants every element outside the domain to be
|
---|
| 2228 | @@ -10,7 +10,7 @@
|
---|
| 2229 | % an empty string '' will be considered as an empty domain
|
---|
| 2230 | % a string 'all' will be considered as the entire domain
|
---|
| 2231 | % You can specify the type of coupling, 'penalties' or 'tiling', to use with the input 'coupling'
|
---|
| 2232 | -% NB: L1L2 and MLHO cannot currently be coupled to any other ice flow model
|
---|
| 2233 | +% NB: L1L2 and MOLHO cannot currently be coupled to any other ice flow model
|
---|
| 2234 | %
|
---|
| 2235 | % Usage:
|
---|
| 2236 | % md=setflowequation(md,varargin)
|
---|
| 2237 | @@ -38,7 +38,7 @@
|
---|
| 2238 | SSAflag = FlagElements(md,getfieldvalue(options,'SSA',''));
|
---|
| 2239 | HOflag = FlagElements(md,getfieldvalue(options,'HO',''));
|
---|
| 2240 | L1L2flag = FlagElements(md,getfieldvalue(options,'L1L2',''));
|
---|
| 2241 | -MLHOflag = FlagElements(md,getfieldvalue(options,'MLHO',''));
|
---|
| 2242 | +MOLHOflag = FlagElements(md,getfieldvalue(options,'MOLHO',''));
|
---|
| 2243 | FSflag = FlagElements(md,getfieldvalue(options,'FS',''));
|
---|
| 2244 | filltype = getfieldvalue(options,'fill','none');
|
---|
| 2245 | displayunused(options);
|
---|
| 2246 | @@ -53,12 +53,12 @@
|
---|
| 2247 | end
|
---|
| 2248 |
|
---|
| 2249 | %check that each element has at least one flag
|
---|
| 2250 | -if any(SIAflag+SSAflag+HOflag+L1L2flag+MLHOflag+FSflag==0),
|
---|
| 2251 | +if any(SIAflag+SSAflag+HOflag+L1L2flag+MOLHOflag+FSflag==0),
|
---|
| 2252 | error('elements type not assigned, supported models are ''SIA'',''SSA'',''HO'' and ''FS''')
|
---|
| 2253 | end
|
---|
| 2254 |
|
---|
| 2255 | %check that each element has only one flag
|
---|
| 2256 | -if any(SIAflag+SSAflag+HOflag+L1L2flag+MLHOflag+FSflag>1),
|
---|
| 2257 | +if any(SIAflag+SSAflag+HOflag+L1L2flag+MOLHOflag+FSflag>1),
|
---|
| 2258 | disp('setflowequation.m: Warning: some elements have several types, higher order type is used for them')
|
---|
| 2259 | SIAflag(find(SIAflag & SSAflag))=0;
|
---|
| 2260 | SIAflag(find(SIAflag & HOflag))=0;
|
---|
| 2261 | @@ -69,8 +69,8 @@
|
---|
| 2262 | if any(L1L2flag) & any(SIAflag | SSAflag | HOflag | FSflag)
|
---|
| 2263 | error('L1L2 cannot be coupled to any other model');
|
---|
| 2264 | end
|
---|
| 2265 | -if any(MLHOflag) & any(SIAflag | SSAflag | HOflag | FSflag)
|
---|
| 2266 | - error('MLHO cannot be coupled to any other model');
|
---|
| 2267 | +if any(MOLHOflag) & any(SIAflag | SSAflag | HOflag | FSflag)
|
---|
| 2268 | + error('MOLHO cannot be coupled to any other model');
|
---|
| 2269 | end
|
---|
| 2270 |
|
---|
| 2271 | %Check that no HO or FS for 2d mesh
|
---|
| 2272 | @@ -90,7 +90,7 @@
|
---|
| 2273 | nodeonSSA=zeros(md.mesh.numberofvertices,1); nodeonSSA(md.mesh.elements(find(SSAflag),:))=1;
|
---|
| 2274 | nodeonHO=zeros(md.mesh.numberofvertices,1); nodeonHO(md.mesh.elements(find(HOflag),:))=1;
|
---|
| 2275 | nodeonL1L2=zeros(md.mesh.numberofvertices,1); nodeonL1L2(md.mesh.elements(find(L1L2flag),:))=1;
|
---|
| 2276 | -nodeonMLHO=zeros(md.mesh.numberofvertices,1); nodeonMLHO(md.mesh.elements(find(MLHOflag),:))=1;
|
---|
| 2277 | +nodeonMOLHO=zeros(md.mesh.numberofvertices,1); nodeonMOLHO(md.mesh.elements(find(MOLHOflag),:))=1;
|
---|
| 2278 | nodeonFS=zeros(md.mesh.numberofvertices,1);
|
---|
| 2279 | noneflag=zeros(md.mesh.numberofelements,1);
|
---|
| 2280 |
|
---|
| 2281 | @@ -247,7 +247,7 @@
|
---|
| 2282 | md.flowequation.element_equation(find(SIAflag))=1;
|
---|
| 2283 | md.flowequation.element_equation(find(SSAflag))=2;
|
---|
| 2284 | md.flowequation.element_equation(find(L1L2flag))=3;
|
---|
| 2285 | -md.flowequation.element_equation(find(MLHOflag))=4;
|
---|
| 2286 | +md.flowequation.element_equation(find(MOLHOflag))=4;
|
---|
| 2287 | md.flowequation.element_equation(find(HOflag))=5;
|
---|
| 2288 | md.flowequation.element_equation(find(FSflag))=6;
|
---|
| 2289 | md.flowequation.element_equation(find(SSAHOflag))=7;
|
---|
| 2290 | @@ -263,7 +263,7 @@
|
---|
| 2291 | md.flowequation.vertex_equation=zeros(md.mesh.numberofvertices,1);
|
---|
| 2292 | pos=find(nodeonSSA); md.flowequation.vertex_equation(pos)=2;
|
---|
| 2293 | pos=find(nodeonL1L2); md.flowequation.vertex_equation(pos)=3;
|
---|
| 2294 | -pos=find(nodeonMLHO); md.flowequation.vertex_equation(pos)=4;
|
---|
| 2295 | +pos=find(nodeonMOLHO); md.flowequation.vertex_equation(pos)=4;
|
---|
| 2296 | pos=find(nodeonHO); md.flowequation.vertex_equation(pos)=5;
|
---|
| 2297 | pos=find(nodeonFS); md.flowequation.vertex_equation(pos)=6;
|
---|
| 2298 | %DO SIA LAST! Otherwise spcs might not be set up correctly (SIA should have priority)
|
---|
| 2299 | @@ -286,7 +286,7 @@
|
---|
| 2300 | md.flowequation.isSIA = double(any(md.flowequation.element_equation == 1));
|
---|
| 2301 | md.flowequation.isSSA = double(any(md.flowequation.element_equation == 2));
|
---|
| 2302 | md.flowequation.isL1L2 = double(any(md.flowequation.element_equation == 3));
|
---|
| 2303 | -md.flowequation.isMLHO = double(any(md.flowequation.element_equation == 4));
|
---|
| 2304 | +md.flowequation.isMOLHO = double(any(md.flowequation.element_equation == 4));
|
---|
| 2305 | md.flowequation.isHO = double(any(md.flowequation.element_equation == 5));
|
---|
| 2306 | md.flowequation.isFS = double(any(md.flowequation.element_equation == 6));
|
---|
| 2307 |
|
---|
| 2308 | Index: ../trunk-jpl/src/m/plot/plot_elementstype.m
|
---|
| 2309 | ===================================================================
|
---|
| 2310 | --- ../trunk-jpl/src/m/plot/plot_elementstype.m (revision 27030)
|
---|
| 2311 | +++ ../trunk-jpl/src/m/plot/plot_elementstype.m (revision 27031)
|
---|
| 2312 | @@ -36,7 +36,7 @@
|
---|
| 2313 | patch( 'Faces', [C A D F],'Vertices', [x y z],'CData', i,'FaceColor','flat','EdgeColor',edgecolor);
|
---|
| 2314 | end
|
---|
| 2315 | end
|
---|
| 2316 | -legend(p,'None','SIA','SSA','L1L2','MLHO','HO',...
|
---|
| 2317 | +legend(p,'None','SIA','SSA','L1L2','MOLHO','HO',...
|
---|
| 2318 | 'SSAHO','FS','SSAFS','HOFS');
|
---|
| 2319 |
|
---|
| 2320 | %apply options
|
---|
| 2321 | Index: ../trunk-jpl/test/NightlyRun/test128.py
|
---|
| 2322 | ===================================================================
|
---|
| 2323 | --- ../trunk-jpl/test/NightlyRun/test128.py (revision 27030)
|
---|
| 2324 | +++ ../trunk-jpl/test/NightlyRun/test128.py (revision 27031)
|
---|
| 2325 | @@ -1,6 +1,6 @@
|
---|
| 2326 | -#Test Name: SquareShelfConstrainedTranMLHO2d
|
---|
| 2327 | +#Test Name: SquareShelfConstrainedTranMOLHO2d
|
---|
| 2328 | from model import *
|
---|
| 2329 | -from SetMLHOBC import SetMLHOBC
|
---|
| 2330 | +from SetMOLHOBC import SetMOLHOBC
|
---|
| 2331 | from socket import gethostname
|
---|
| 2332 | from triangle import *
|
---|
| 2333 | from setmask import *
|
---|
| 2334 | @@ -12,11 +12,11 @@
|
---|
| 2335 | md = triangle(model(), '../Exp/Square.exp', 150000)
|
---|
| 2336 | md = setmask(md, 'all', '')
|
---|
| 2337 | md = parameterize(md, '../Par/SquareShelfConstrained.py')
|
---|
| 2338 | -md = setflowequation(md, 'MLHO', 'all')
|
---|
| 2339 | +md = setflowequation(md, 'MOLHO', 'all')
|
---|
| 2340 | md.cluster = generic('name', gethostname(), 'np', 3)
|
---|
| 2341 | md.transient.requested_outputs = ['IceVolume','VxSurface','VySurface','VxShear','VyShear','VxBase','VyBase']
|
---|
| 2342 |
|
---|
| 2343 | -md = SetMLHOBC(md)
|
---|
| 2344 | +md = SetMOLHOBC(md)
|
---|
| 2345 | md = solve(md, 'Transient')
|
---|
| 2346 |
|
---|
| 2347 | #Fields and tolerances to track changes
|
---|
| 2348 | Index: ../trunk-jpl/test/NightlyRun/test248.py
|
---|
| 2349 | ===================================================================
|
---|
| 2350 | --- ../trunk-jpl/test/NightlyRun/test248.py (revision 27030)
|
---|
| 2351 | +++ ../trunk-jpl/test/NightlyRun/test248.py (revision 27031)
|
---|
| 2352 | @@ -1,4 +1,4 @@
|
---|
| 2353 | -#Test Name: SquareShelfStressMLHO2d
|
---|
| 2354 | +#Test Name: SquareShelfStressMOLHO2d
|
---|
| 2355 | from model import *
|
---|
| 2356 | from socket import gethostname
|
---|
| 2357 | from triangle import triangle
|
---|
| 2358 | @@ -6,15 +6,15 @@
|
---|
| 2359 | from parameterize import parameterize
|
---|
| 2360 | from setflowequation import setflowequation
|
---|
| 2361 | from solve import solve
|
---|
| 2362 | -from SetMLHOBC import SetMLHOBC
|
---|
| 2363 | +from SetMOLHOBC import SetMOLHOBC
|
---|
| 2364 |
|
---|
| 2365 | md = triangle(model(), '../Exp/Square.exp', 150000)
|
---|
| 2366 | md = setmask(md, 'all', '')
|
---|
| 2367 | md = parameterize(md, '../Par/SquareShelf.py')
|
---|
| 2368 | -md = setflowequation(md, 'MLHO', 'all')
|
---|
| 2369 | +md = setflowequation(md, 'MOLHO', 'all')
|
---|
| 2370 | md.cluster = generic('name', gethostname(), 'np', 3)
|
---|
| 2371 | md.stressbalance.requested_outputs = ['default', 'VxSurface', 'VySurface', 'VxShear', 'VyShear', 'VxBase', 'VyBase']
|
---|
| 2372 | -md = SetMLHOBC(md)
|
---|
| 2373 | +md = SetMOLHOBC(md)
|
---|
| 2374 | md = solve(md, 'Stressbalance')
|
---|
| 2375 |
|
---|
| 2376 | #Fields and tolerances to track changes
|
---|
| 2377 | Index: ../trunk-jpl/test/NightlyRun/test254.py
|
---|
| 2378 | ===================================================================
|
---|
| 2379 | --- ../trunk-jpl/test/NightlyRun/test254.py (revision 27030)
|
---|
| 2380 | +++ ../trunk-jpl/test/NightlyRun/test254.py (revision 27031)
|
---|
| 2381 | @@ -1,4 +1,4 @@
|
---|
| 2382 | -#Test Name: SquareShelfConstrainedMLHO
|
---|
| 2383 | +#Test Name: SquareShelfConstrainedMOLHO
|
---|
| 2384 | from model import *
|
---|
| 2385 | from socket import gethostname
|
---|
| 2386 | import numpy as np
|
---|
| 2387 | @@ -8,13 +8,13 @@
|
---|
| 2388 | from setflowequation import setflowequation
|
---|
| 2389 | from paterson import paterson
|
---|
| 2390 | from solve import solve
|
---|
| 2391 | -from SetMLHOBC import SetMLHOBC
|
---|
| 2392 | +from SetMOLHOBC import SetMOLHOBC
|
---|
| 2393 | from generic import generic
|
---|
| 2394 |
|
---|
| 2395 | md = triangle(model(), '../Exp/Square.exp', 150000)
|
---|
| 2396 | md = setmask(md, 'all', '')
|
---|
| 2397 | md = parameterize(md, '../Par/SquareShelf.py')
|
---|
| 2398 | -md = setflowequation(md, 'MLHO', 'all')
|
---|
| 2399 | +md = setflowequation(md, 'MOLHO', 'all')
|
---|
| 2400 | md.cluster = generic('name', gethostname(), 'np', 3)
|
---|
| 2401 |
|
---|
| 2402 | # redo the parameter file for this special shelf.
|
---|
| 2403 | @@ -70,7 +70,7 @@
|
---|
| 2404 | md.mask.ice_levelset = -1 + nodeonicefront
|
---|
| 2405 |
|
---|
| 2406 | md.stressbalance.requested_outputs = ['default', 'VySurface', 'VyShear', 'VyBase']
|
---|
| 2407 | -md = SetMLHOBC(md)
|
---|
| 2408 | +md = SetMOLHOBC(md)
|
---|
| 2409 | md = solve(md, 'Stressbalance')
|
---|
| 2410 |
|
---|
| 2411 | # create analytical solution: strain rate is constant = ((rho_ice * g * h) / 4B)^3 (Paterson, 4th Edition, page 292.
|
---|
| 2412 | Index: ../trunk-jpl/src/m/parameterization/setflowequation.py
|
---|
| 2413 | ===================================================================
|
---|
| 2414 | --- ../trunk-jpl/src/m/parameterization/setflowequation.py (revision 27030)
|
---|
| 2415 | +++ ../trunk-jpl/src/m/parameterization/setflowequation.py (revision 27031)
|
---|
| 2416 | @@ -8,7 +8,7 @@
|
---|
| 2417 | """SETFLOWEQUATION - associate a solution type to each element
|
---|
| 2418 |
|
---|
| 2419 | This routine works like plotmodel: it works with an even number of inputs
|
---|
| 2420 | - 'SIA', 'SSA', 'HO', 'L1L2', 'MLHO', 'FS' and 'fill' are the possible
|
---|
| 2421 | + 'SIA', 'SSA', 'HO', 'L1L2', 'MOLHO', 'FS' and 'fill' are the possible
|
---|
| 2422 | options that must be followed by the corresponding exp file or flags list.
|
---|
| 2423 | It can either be a domain file (argus type, .exp extension), or an array of
|
---|
| 2424 | element flags.
|
---|
| 2425 | @@ -44,7 +44,7 @@
|
---|
| 2426 | SSAflag = FlagElements(md, options.getfieldvalue('SSA', ''))
|
---|
| 2427 | HOflag = FlagElements(md, options.getfieldvalue('HO', ''))
|
---|
| 2428 | L1L2flag = FlagElements(md, options.getfieldvalue('L1L2', ''))
|
---|
| 2429 | - MLHOflag = FlagElements(md, options.getfieldvalue('MLHO', ''))
|
---|
| 2430 | + MOLHOflag = FlagElements(md, options.getfieldvalue('MOLHO', ''))
|
---|
| 2431 | FSflag = FlagElements(md, options.getfieldvalue('FS', ''))
|
---|
| 2432 | filltype = options.getfieldvalue('fill', 'none')
|
---|
| 2433 |
|
---|
| 2434 | @@ -56,21 +56,21 @@
|
---|
| 2435 | elif 'HO' in filltype:
|
---|
| 2436 | HOflag = ~SIAflag & ~SSAflag & ~FSflag
|
---|
| 2437 | #check that each element has at least one flag
|
---|
| 2438 | - if not any(SIAflag + SSAflag + L1L2flag + MLHOflag + HOflag + FSflag):
|
---|
| 2439 | + if not any(SIAflag + SSAflag + L1L2flag + MOLHOflag + HOflag + FSflag):
|
---|
| 2440 | raise TypeError("elements type not assigned, supported models are 'SIA', 'SSA', 'HO' and 'FS'")
|
---|
| 2441 |
|
---|
| 2442 | #check that each element has only one flag
|
---|
| 2443 | - if any(SIAflag + SSAflag + L1L2flag + MLHOflag + HOflag + FSflag > 1):
|
---|
| 2444 | + if any(SIAflag + SSAflag + L1L2flag + MOLHOflag + HOflag + FSflag > 1):
|
---|
| 2445 | print('Warning: setflowequation.py: some elements have several types, higher order type is used for them')
|
---|
| 2446 | SIAflag[np.where(np.logical_and(SIAflag, SSAflag))] = False
|
---|
| 2447 | SIAflag[np.where(np.logical_and(SIAflag, HOflag))] = False
|
---|
| 2448 | SSAflag[np.where(np.logical_and(SSAflag, HOflag))] = False
|
---|
| 2449 |
|
---|
| 2450 | - #check that L1L2 and MLHO is not coupled to any other model for now
|
---|
| 2451 | + #check that L1L2 and MOLHO is not coupled to any other model for now
|
---|
| 2452 | if any(L1L2flag) and any(SIAflag + SSAflag + HOflag + FSflag):
|
---|
| 2453 | raise TypeError('L1L2 cannot be coupled to any other model')
|
---|
| 2454 | - if any(MLHOflag) and any(SIAflag + SSAflag + HOflag + FSflag):
|
---|
| 2455 | - raise TypeError('MLHO cannot be coupled to any other model')
|
---|
| 2456 | + if any(MOLHOflag) and any(SIAflag + SSAflag + HOflag + FSflag):
|
---|
| 2457 | + raise TypeError('MOLHO cannot be coupled to any other model')
|
---|
| 2458 |
|
---|
| 2459 | #Check that no HO or FS for 2d mesh
|
---|
| 2460 | if md.mesh.domaintype == '2Dhorizontal':
|
---|
| 2461 | @@ -88,8 +88,8 @@
|
---|
| 2462 | nodeonSSA[md.mesh.elements[np.where(SSAflag), :] - 1] = True
|
---|
| 2463 | nodeonL1L2 = np.zeros(md.mesh.numberofvertices, bool)
|
---|
| 2464 | nodeonL1L2[md.mesh.elements[np.where(L1L2flag), :] - 1] = True
|
---|
| 2465 | - nodeonMLHO = np.zeros(md.mesh.numberofvertices, bool)
|
---|
| 2466 | - nodeonMLHO[md.mesh.elements[np.where(MLHOflag), :] - 1] = True
|
---|
| 2467 | + nodeonMOLHO = np.zeros(md.mesh.numberofvertices, bool)
|
---|
| 2468 | + nodeonMOLHO[md.mesh.elements[np.where(MOLHOflag), :] - 1] = True
|
---|
| 2469 | nodeonHO = np.zeros(md.mesh.numberofvertices, bool)
|
---|
| 2470 | nodeonHO[md.mesh.elements[np.where(HOflag), :] - 1] = True
|
---|
| 2471 | nodeonFS = np.zeros(md.mesh.numberofvertices, bool)
|
---|
| 2472 | @@ -240,7 +240,7 @@
|
---|
| 2473 | md.flowequation.element_equation[np.where(SIAflag)] = 1
|
---|
| 2474 | md.flowequation.element_equation[np.where(SSAflag)] = 2
|
---|
| 2475 | md.flowequation.element_equation[np.where(L1L2flag)] = 3
|
---|
| 2476 | - md.flowequation.element_equation[np.where(MLHOflag)] = 4
|
---|
| 2477 | + md.flowequation.element_equation[np.where(MOLHOflag)] = 4
|
---|
| 2478 | md.flowequation.element_equation[np.where(HOflag)] = 5
|
---|
| 2479 | md.flowequation.element_equation[np.where(FSflag)] = 6
|
---|
| 2480 | md.flowequation.element_equation[np.where(SSAHOflag)] = 7
|
---|
| 2481 | @@ -258,7 +258,7 @@
|
---|
| 2482 | md.flowequation.vertex_equation[pos] = 2
|
---|
| 2483 | pos = np.where(nodeonL1L2)
|
---|
| 2484 | md.flowequation.vertex_equation[pos] = 3
|
---|
| 2485 | - pos = np.where(nodeonMLHO)
|
---|
| 2486 | + pos = np.where(nodeonMOLHO)
|
---|
| 2487 | md.flowequation.vertex_equation[pos] = 4
|
---|
| 2488 | pos = np.where(nodeonHO)
|
---|
| 2489 | md.flowequation.vertex_equation[pos] = 5
|
---|
| 2490 | @@ -282,7 +282,7 @@
|
---|
| 2491 | md.flowequation.isSIA = any(md.flowequation.element_equation == 1)
|
---|
| 2492 | md.flowequation.isSSA = any(md.flowequation.element_equation == 2)
|
---|
| 2493 | md.flowequation.isL1L2= any(md.flowequation.element_equation == 3)
|
---|
| 2494 | - md.flowequation.isMLHO= any(md.flowequation.element_equation == 4)
|
---|
| 2495 | + md.flowequation.isMOLHO= any(md.flowequation.element_equation == 4)
|
---|
| 2496 | md.flowequation.isHO = any(md.flowequation.element_equation == 5)
|
---|
| 2497 | md.flowequation.isFS = any(md.flowequation.element_equation == 6)
|
---|
| 2498 |
|
---|
| 2499 | Index: ../trunk-jpl/test/NightlyRun/test128.m
|
---|
| 2500 | ===================================================================
|
---|
| 2501 | --- ../trunk-jpl/test/NightlyRun/test128.m (revision 27030)
|
---|
| 2502 | +++ ../trunk-jpl/test/NightlyRun/test128.m (revision 27031)
|
---|
| 2503 | @@ -1,12 +1,12 @@
|
---|
| 2504 | -%Test Name: SquareShelfConstrainedTranMLHO2d
|
---|
| 2505 | +%Test Name: SquareShelfConstrainedTranMOLHO2d
|
---|
| 2506 | md=triangle(model(),'../Exp/Square.exp',150000.);
|
---|
| 2507 | md=setmask(md,'all','');
|
---|
| 2508 | md=parameterize(md,'../Par/SquareShelfConstrained.par');
|
---|
| 2509 | -md=setflowequation(md,'MLHO','all');
|
---|
| 2510 | +md=setflowequation(md,'MOLHO','all');
|
---|
| 2511 | md.cluster=generic('name',oshostname(),'np',3);
|
---|
| 2512 | md.transient.requested_outputs={'IceVolume','VxShear','VyShear','VxBase','VyBase','VxSurface','VySurface'};
|
---|
| 2513 |
|
---|
| 2514 | -md=SetMLHOBC(md);
|
---|
| 2515 | +md=SetMOLHOBC(md);
|
---|
| 2516 | md=solve(md,'Transient');
|
---|
| 2517 |
|
---|
| 2518 | %Fields and tolerances to track changes
|
---|
| 2519 | Index: ../trunk-jpl/test/NightlyRun/test248.m
|
---|
| 2520 | ===================================================================
|
---|
| 2521 | --- ../trunk-jpl/test/NightlyRun/test248.m (revision 27030)
|
---|
| 2522 | +++ ../trunk-jpl/test/NightlyRun/test248.m (revision 27031)
|
---|
| 2523 | @@ -1,11 +1,11 @@
|
---|
| 2524 | -%Test Name: SquareShelfStressMLHO2d
|
---|
| 2525 | +%Test Name: SquareShelfStressMOLHO2d
|
---|
| 2526 | md=triangle(model(),'../Exp/Square.exp',150000.);
|
---|
| 2527 | md=setmask(md,'all','');
|
---|
| 2528 | md=parameterize(md,'../Par/SquareShelf.par');
|
---|
| 2529 | -md=setflowequation(md,'MLHO','all');
|
---|
| 2530 | +md=setflowequation(md,'MOLHO','all');
|
---|
| 2531 | md.cluster=generic('name',oshostname(),'np',3);
|
---|
| 2532 | md.stressbalance.requested_outputs={'default','VxSurface','VySurface','VxShear','VyShear','VxBase','VyBase'};
|
---|
| 2533 | -md=SetMLHOBC(md);
|
---|
| 2534 | +md=SetMOLHOBC(md);
|
---|
| 2535 | md=solve(md,'Stressbalance');
|
---|
| 2536 |
|
---|
| 2537 | %Fields and tolerances to track changes
|
---|
| 2538 | Index: ../trunk-jpl/test/NightlyRun/test254.m
|
---|
| 2539 | ===================================================================
|
---|
| 2540 | --- ../trunk-jpl/test/NightlyRun/test254.m (revision 27030)
|
---|
| 2541 | +++ ../trunk-jpl/test/NightlyRun/test254.m (revision 27031)
|
---|
| 2542 | @@ -1,8 +1,8 @@
|
---|
| 2543 | -%Test Name: SquareShelfConstrainedMLHO
|
---|
| 2544 | +%Test Name: SquareShelfConstrainedMOLHO
|
---|
| 2545 | md=triangle(model(),'../Exp/Square.exp',150000.);
|
---|
| 2546 | md=setmask(md,'all','');
|
---|
| 2547 | md=parameterize(md,'../Par/SquareShelf.par');
|
---|
| 2548 | -md=setflowequation(md,'MLHO','all');
|
---|
| 2549 | +md=setflowequation(md,'MOLHO','all');
|
---|
| 2550 | md.cluster=generic('name',oshostname(),'np',3);
|
---|
| 2551 |
|
---|
| 2552 | %redo the parameter file for this special shelf.
|
---|
| 2553 | @@ -57,7 +57,7 @@
|
---|
| 2554 | md.mask.ice_levelset=-1+nodeonicefront;
|
---|
| 2555 |
|
---|
| 2556 | md.stressbalance.requested_outputs={'default','VySurface','VyShear','VyBase'};
|
---|
| 2557 | -md=SetMLHOBC(md);
|
---|
| 2558 | +md=SetMOLHOBC(md);
|
---|
| 2559 | md=solve(md,'Stressbalance');
|
---|
| 2560 |
|
---|
| 2561 | %create analytical solution: strain rate is constant = ((rho_ice*g*h)/4B)^3 (Paterson, 4th Edition, page 292.
|
---|
| 2562 | Index: ../trunk-jpl/test/NightlyRun/test256.m
|
---|
| 2563 | ===================================================================
|
---|
| 2564 | --- ../trunk-jpl/test/NightlyRun/test256.m (revision 27030)
|
---|
| 2565 | +++ ../trunk-jpl/test/NightlyRun/test256.m (revision 27031)
|
---|
| 2566 | @@ -1,12 +1,12 @@
|
---|
| 2567 | -%Test Name: SquareShelfStressMLHO2dTransientIncrNonHydro
|
---|
| 2568 | +%Test Name: SquareShelfStressMOLHO2dTransientIncrNonHydro
|
---|
| 2569 | md=triangle(model(),'../Exp/Square.exp',150000.);
|
---|
| 2570 | md=setmask(md,'all','');
|
---|
| 2571 | md=parameterize(md,'../Par/SquareShelf.par');
|
---|
| 2572 | -md=setflowequation(md,'MLHO','all');
|
---|
| 2573 | +md=setflowequation(md,'MOLHO','all');
|
---|
| 2574 | md.geometry.base=md.geometry.base+50.; md.geometry.surface=md.geometry.surface+50.;
|
---|
| 2575 | md.cluster=generic('name',oshostname(),'np',1);
|
---|
| 2576 | md.masstransport.hydrostatic_adjustment='Incremental';
|
---|
| 2577 | -md=SetMLHOBC(md);
|
---|
| 2578 | +md=SetMOLHOBC(md);
|
---|
| 2579 | md=solve(md,'Transient');
|
---|
| 2580 |
|
---|
| 2581 | %Fields and tolerances to track changes
|
---|
| 2582 | Index: ../trunk-jpl/test/NightlyRun/test127.py
|
---|
| 2583 | ===================================================================
|
---|
| 2584 | --- ../trunk-jpl/test/NightlyRun/test127.py (revision 27030)
|
---|
| 2585 | +++ ../trunk-jpl/test/NightlyRun/test127.py (revision 27031)
|
---|
| 2586 | @@ -1,4 +1,4 @@
|
---|
| 2587 | -#Test Name: SquareShelfConstrainedStressMLHO2d
|
---|
| 2588 | +#Test Name: SquareShelfConstrainedStressMOLHO2d
|
---|
| 2589 | from model import *
|
---|
| 2590 | from socket import gethostname
|
---|
| 2591 | from triangle import triangle
|
---|
| 2592 | @@ -8,15 +8,15 @@
|
---|
| 2593 | from solve import solve
|
---|
| 2594 | from massfluxatgate import massfluxatgate
|
---|
| 2595 | from generic import generic
|
---|
| 2596 | -from SetMLHOBC import SetMLHOBC
|
---|
| 2597 | +from SetMOLHOBC import SetMOLHOBC
|
---|
| 2598 |
|
---|
| 2599 | md = triangle(model(), '../Exp/Square.exp', 50000)
|
---|
| 2600 | md = setmask(md, 'all', '')
|
---|
| 2601 | md = parameterize(md, '../Par/SquareShelfConstrained.py')
|
---|
| 2602 | -md = setflowequation(md, 'MLHO', 'all')
|
---|
| 2603 | +md = setflowequation(md, 'MOLHO', 'all')
|
---|
| 2604 | md.cluster = generic('name', gethostname(), 'np', 2)
|
---|
| 2605 | #outputs
|
---|
| 2606 | -#FIXME compute the stress components for MLHO
|
---|
| 2607 | +#FIXME compute the stress components for MOLHO
|
---|
| 2608 | md.stressbalance.requested_outputs = ['default', 'VxSurface', 'VySurface', 'VxShear', 'VyShear', 'VxBase', 'VyBase', 'MassFlux1', 'MassFlux2', 'MassFlux3', 'MassFlux4', 'MassFlux5', 'MassFlux6']
|
---|
| 2609 | #md.stressbalance.requested_outputs = ['default', 'DeviatoricStressxx', 'DeviatoricStressyy', 'DeviatoricStressxy', 'MassFlux1', 'MassFlux2', 'MassFlux3', 'MassFlux4', 'MassFlux5', 'MassFlux6']
|
---|
| 2610 | md.outputdefinition.definitions = [massfluxatgate('name', 'MassFlux1', 'profilename', '../Exp/MassFlux1.exp', 'definitionstring', 'Outputdefinition1'),
|
---|
| 2611 | @@ -25,7 +25,7 @@
|
---|
| 2612 | massfluxatgate('name', 'MassFlux4', 'profilename', '../Exp/MassFlux4.exp', 'definitionstring', 'Outputdefinition4'),
|
---|
| 2613 | massfluxatgate('name', 'MassFlux5', 'profilename', '../Exp/MassFlux5.exp', 'definitionstring', 'Outputdefinition5'),
|
---|
| 2614 | massfluxatgate('name', 'MassFlux6', 'profilename', '../Exp/MassFlux6.exp', 'definitionstring', 'Outputdefinition6')]
|
---|
| 2615 | -md = SetMLHOBC(md)
|
---|
| 2616 | +md = SetMOLHOBC(md)
|
---|
| 2617 | md = solve(md, 'Stressbalance')
|
---|
| 2618 |
|
---|
| 2619 | #Fields and tolerances to track changes
|
---|
| 2620 | Index: ../trunk-jpl/test/NightlyRun/test129.py
|
---|
| 2621 | ===================================================================
|
---|
| 2622 | --- ../trunk-jpl/test/NightlyRun/test129.py (revision 27030)
|
---|
| 2623 | +++ ../trunk-jpl/test/NightlyRun/test129.py (revision 27031)
|
---|
| 2624 | @@ -1,7 +1,7 @@
|
---|
| 2625 | -#Test Name: SquareShelfConstrainedRestartTranMLHO2d
|
---|
| 2626 | +#Test Name: SquareShelfConstrainedRestartTranMOLHO2d
|
---|
| 2627 | from model import *
|
---|
| 2628 | from socket import gethostname
|
---|
| 2629 | -from SetMLHOBC import SetMLHOBC
|
---|
| 2630 | +from SetMOLHOBC import SetMOLHOBC
|
---|
| 2631 | from triangle import *
|
---|
| 2632 | from setmask import *
|
---|
| 2633 | from parameterize import *
|
---|
| 2634 | @@ -13,7 +13,7 @@
|
---|
| 2635 | md = triangle(model(), '../Exp/Square.exp', 150000.)
|
---|
| 2636 | md = setmask(md, 'all', '')
|
---|
| 2637 | md = parameterize(md, '../Par/SquareShelfConstrained.py')
|
---|
| 2638 | -md = setflowequation(md, 'MLHO', 'all')
|
---|
| 2639 | +md = setflowequation(md, 'MOLHO', 'all')
|
---|
| 2640 | md.cluster = generic('name', gethostname(), 'np', 1)
|
---|
| 2641 | md.transient.requested_outputs = ['IceVolume', 'TotalSmb', 'VxShear','VyShear','VxBase','VyBase','VxSurface','VySurface']
|
---|
| 2642 |
|
---|
| 2643 | @@ -23,7 +23,7 @@
|
---|
| 2644 | # time steps and resolution
|
---|
| 2645 | md.timestepping.final_time = 19
|
---|
| 2646 | md.settings.output_frequency = 2
|
---|
| 2647 | -md = SetMLHOBC(md)
|
---|
| 2648 | +md = SetMOLHOBC(md)
|
---|
| 2649 |
|
---|
| 2650 | md = solve(md, 'Transient')
|
---|
| 2651 | md2 = copy.deepcopy(md)
|
---|
| 2652 | Index: ../trunk-jpl/test/NightlyRun/test249.py
|
---|
| 2653 | ===================================================================
|
---|
| 2654 | --- ../trunk-jpl/test/NightlyRun/test249.py (revision 27030)
|
---|
| 2655 | +++ ../trunk-jpl/test/NightlyRun/test249.py (revision 27031)
|
---|
| 2656 | @@ -1,4 +1,4 @@
|
---|
| 2657 | -#Test Name: SquareShelfTranMLHO2d
|
---|
| 2658 | +#Test Name: SquareShelfTranMOLHO2d
|
---|
| 2659 |
|
---|
| 2660 | from model import *
|
---|
| 2661 | from socket import gethostname
|
---|
| 2662 | @@ -8,16 +8,16 @@
|
---|
| 2663 | from setflowequation import setflowequation
|
---|
| 2664 | from solve import solve
|
---|
| 2665 | from generic import generic
|
---|
| 2666 | -from SetMLHOBC import SetMLHOBC
|
---|
| 2667 | +from SetMOLHOBC import SetMOLHOBC
|
---|
| 2668 |
|
---|
| 2669 | md = triangle(model(), '../Exp/Square.exp', 150000)
|
---|
| 2670 | md = setmask(md, 'all', '')
|
---|
| 2671 | md = parameterize(md, '../Par/SquareShelf.py')
|
---|
| 2672 | md.basalforcings.floatingice_melting_rate[:] = 1.
|
---|
| 2673 | -md = setflowequation(md, 'MLHO', 'all')
|
---|
| 2674 | +md = setflowequation(md, 'MOLHO', 'all')
|
---|
| 2675 | md.cluster = generic('name', gethostname(), 'np', 3)
|
---|
| 2676 | md.transient.requested_outputs = ['default', 'FloatingArea', 'GroundedArea', 'TotalFloatingBmb', 'TotalGroundedBmb']
|
---|
| 2677 | -md = SetMLHOBC(md)
|
---|
| 2678 | +md = SetMOLHOBC(md)
|
---|
| 2679 | md = solve(md, 'Transient')
|
---|
| 2680 |
|
---|
| 2681 |
|
---|
| 2682 | Index: ../trunk-jpl/test/NightlyRun/test255.py
|
---|
| 2683 | ===================================================================
|
---|
| 2684 | --- ../trunk-jpl/test/NightlyRun/test255.py (revision 27030)
|
---|
| 2685 | +++ ../trunk-jpl/test/NightlyRun/test255.py (revision 27031)
|
---|
| 2686 | @@ -1,4 +1,4 @@
|
---|
| 2687 | -#Test Name: SquareShelfStressMLHO2dTransientIncrHydro
|
---|
| 2688 | +#Test Name: SquareShelfStressMOLHO2dTransientIncrHydro
|
---|
| 2689 | from model import *
|
---|
| 2690 | from socket import gethostname
|
---|
| 2691 | from triangle import triangle
|
---|
| 2692 | @@ -6,15 +6,15 @@
|
---|
| 2693 | from parameterize import parameterize
|
---|
| 2694 | from setflowequation import setflowequation
|
---|
| 2695 | from solve import solve
|
---|
| 2696 | -from SetMLHOBC import SetMLHOBC
|
---|
| 2697 | +from SetMOLHOBC import SetMOLHOBC
|
---|
| 2698 |
|
---|
| 2699 | md = triangle(model(), '../Exp/Square.exp', 150000.)
|
---|
| 2700 | md = setmask(md, 'all', '')
|
---|
| 2701 | md = parameterize(md, '../Par/SquareShelf.py')
|
---|
| 2702 | -md = setflowequation(md, 'MLHO', 'all')
|
---|
| 2703 | +md = setflowequation(md, 'MOLHO', 'all')
|
---|
| 2704 | md.cluster = generic('name', gethostname(), 'np', 3)
|
---|
| 2705 | md.masstransport.hydrostatic_adjustment = 'Incremental'
|
---|
| 2706 | -md = SetMLHOBC(md)
|
---|
| 2707 | +md = SetMOLHOBC(md)
|
---|
| 2708 | md = solve(md, 'Transient')
|
---|
| 2709 |
|
---|
| 2710 | #Fields and tolerances to track changes
|
---|
| 2711 | Index: ../trunk-jpl/test/NightlyRun/test256.py
|
---|
| 2712 | ===================================================================
|
---|
| 2713 | --- ../trunk-jpl/test/NightlyRun/test256.py (revision 27030)
|
---|
| 2714 | +++ ../trunk-jpl/test/NightlyRun/test256.py (revision 27031)
|
---|
| 2715 | @@ -1,4 +1,4 @@
|
---|
| 2716 | -#Test Name: SquareShelfStressMLHO2dTransientIncrNonHydro
|
---|
| 2717 | +#Test Name: SquareShelfStressMOLHO2dTransientIncrNonHydro
|
---|
| 2718 | from model import *
|
---|
| 2719 | from socket import gethostname
|
---|
| 2720 | from triangle import triangle
|
---|
| 2721 | @@ -6,18 +6,18 @@
|
---|
| 2722 | from parameterize import parameterize
|
---|
| 2723 | from setflowequation import setflowequation
|
---|
| 2724 | from solve import solve
|
---|
| 2725 | -from SetMLHOBC import SetMLHOBC
|
---|
| 2726 | +from SetMOLHOBC import SetMOLHOBC
|
---|
| 2727 |
|
---|
| 2728 |
|
---|
| 2729 | md = triangle(model(), '../Exp/Square.exp', 150000.)
|
---|
| 2730 | md = setmask(md, 'all', '')
|
---|
| 2731 | md = parameterize(md, '../Par/SquareShelf.py')
|
---|
| 2732 | -md = setflowequation(md, 'MLHO', 'all')
|
---|
| 2733 | +md = setflowequation(md, 'MOLHO', 'all')
|
---|
| 2734 | md.geometry.base = md.geometry.base + 50.
|
---|
| 2735 | md.geometry.surface = md.geometry.surface + 50.
|
---|
| 2736 | md.cluster = generic('name', gethostname(), 'np', 1)
|
---|
| 2737 | md.masstransport.hydrostatic_adjustment = 'Incremental'
|
---|
| 2738 | -md = SetMLHOBC(md)
|
---|
| 2739 | +md = SetMOLHOBC(md)
|
---|
| 2740 | md = solve(md, 'Transient')
|
---|
| 2741 |
|
---|
| 2742 | #Fields and tolerances to track changes
|
---|
| 2743 | Index: ../trunk-jpl/test/NightlyRun/test332.py
|
---|
| 2744 | ===================================================================
|
---|
| 2745 | --- ../trunk-jpl/test/NightlyRun/test332.py (revision 27030)
|
---|
| 2746 | +++ ../trunk-jpl/test/NightlyRun/test332.py (revision 27031)
|
---|
| 2747 | @@ -1,4 +1,4 @@
|
---|
| 2748 | -#Test Name: SquareSheetConstrainedTranMLHO2d
|
---|
| 2749 | +#Test Name: SquareSheetConstrainedTranMOLHO2d
|
---|
| 2750 | from model import *
|
---|
| 2751 | from socket import gethostname
|
---|
| 2752 | from triangle import triangle
|
---|
| 2753 | @@ -6,14 +6,14 @@
|
---|
| 2754 | from parameterize import parameterize
|
---|
| 2755 | from setflowequation import setflowequation
|
---|
| 2756 | from solve import solve
|
---|
| 2757 | -from SetMLHOBC import SetMLHOBC
|
---|
| 2758 | +from SetMOLHOBC import SetMOLHOBC
|
---|
| 2759 |
|
---|
| 2760 | md = triangle(model(), '../Exp/Square.exp', 150000.)
|
---|
| 2761 | md = setmask(md, '', '')
|
---|
| 2762 | md = parameterize(md, '../Par/SquareSheetConstrained.py')
|
---|
| 2763 | -md = setflowequation(md, 'MLHO', 'all')
|
---|
| 2764 | +md = setflowequation(md, 'MOLHO', 'all')
|
---|
| 2765 | md.cluster = generic('name', gethostname(), 'np', 3)
|
---|
| 2766 | -md = SetMLHOBC(md)
|
---|
| 2767 | +md = SetMOLHOBC(md)
|
---|
| 2768 | md = solve(md, 'Transient')
|
---|
| 2769 |
|
---|
| 2770 | #Fields and tolerances to track changes
|
---|
| 2771 | Index: ../trunk-jpl/test/NightlyRun/test334.py
|
---|
| 2772 | ===================================================================
|
---|
| 2773 | --- ../trunk-jpl/test/NightlyRun/test334.py (revision 27030)
|
---|
| 2774 | +++ ../trunk-jpl/test/NightlyRun/test334.py (revision 27031)
|
---|
| 2775 | @@ -1,4 +1,4 @@
|
---|
| 2776 | -#Test Name: SquareShelfCMBMLHO
|
---|
| 2777 | +#Test Name: SquareShelfCMBMOLHO
|
---|
| 2778 | from model import *
|
---|
| 2779 | from socket import gethostname
|
---|
| 2780 | import numpy as np
|
---|
| 2781 | @@ -8,12 +8,12 @@
|
---|
| 2782 | from setflowequation import setflowequation
|
---|
| 2783 | from solve import solve
|
---|
| 2784 | from generic import generic
|
---|
| 2785 | -from SetMLHOBC import SetMLHOBC
|
---|
| 2786 | +from SetMOLHOBC import SetMOLHOBC
|
---|
| 2787 |
|
---|
| 2788 | md = triangle(model(), '../Exp/Square.exp', 200000)
|
---|
| 2789 | md = setmask(md, 'all', '')
|
---|
| 2790 | md = parameterize(md, '../Par/SquareShelf.py')
|
---|
| 2791 | -md = setflowequation(md, 'MLHO', 'all')
|
---|
| 2792 | +md = setflowequation(md, 'MOLHO', 'all')
|
---|
| 2793 |
|
---|
| 2794 | # control parameters
|
---|
| 2795 |
|
---|
| 2796 | @@ -32,7 +32,7 @@
|
---|
| 2797 |
|
---|
| 2798 |
|
---|
| 2799 | md.cluster = generic('name', gethostname(), 'np', 3)
|
---|
| 2800 | -md = SetMLHOBC(md)
|
---|
| 2801 | +md = SetMOLHOBC(md)
|
---|
| 2802 | md = solve(md, 'Stressbalance')
|
---|
| 2803 |
|
---|
| 2804 |
|
---|
| 2805 | Index: ../trunk-jpl/test/NightlyRun/test446.py
|
---|
| 2806 | ===================================================================
|
---|
| 2807 | --- ../trunk-jpl/test/NightlyRun/test446.py (revision 27030)
|
---|
| 2808 | +++ ../trunk-jpl/test/NightlyRun/test446.py (revision 27031)
|
---|
| 2809 | @@ -1,4 +1,4 @@
|
---|
| 2810 | -#Test Name: SquareSheetShelfStressMLHO2d
|
---|
| 2811 | +#Test Name: SquareSheetShelfStressMOLHO2d
|
---|
| 2812 | from model import *
|
---|
| 2813 | from socket import gethostname
|
---|
| 2814 | from triangle import triangle
|
---|
| 2815 | @@ -6,15 +6,15 @@
|
---|
| 2816 | from parameterize import parameterize
|
---|
| 2817 | from setflowequation import setflowequation
|
---|
| 2818 | from solve import solve
|
---|
| 2819 | -from SetMLHOBC import SetMLHOBC
|
---|
| 2820 | +from SetMOLHOBC import SetMOLHOBC
|
---|
| 2821 |
|
---|
| 2822 | md = triangle(model(), '../Exp/Square.exp', 150000.)
|
---|
| 2823 | md = setmask(md, '../Exp/SquareShelf.exp', '')
|
---|
| 2824 | md = parameterize(md, '../Par/SquareSheetShelf.py')
|
---|
| 2825 | -md = setflowequation(md, 'MLHO', 'all')
|
---|
| 2826 | +md = setflowequation(md, 'MOLHO', 'all')
|
---|
| 2827 | md.cluster = generic('name', gethostname(), 'np', 3)
|
---|
| 2828 | md.stressbalance.requested_outputs = ['default', 'VxSurface', 'VySurface', 'VxShear', 'VyShear', 'VxBase', 'VyBase']
|
---|
| 2829 | -md = SetMLHOBC(md);
|
---|
| 2830 | +md = SetMOLHOBC(md);
|
---|
| 2831 | md = solve(md, 'Stressbalance')
|
---|
| 2832 |
|
---|
| 2833 | #Fields and tolerances to track changes
|
---|
| 2834 | Index: ../trunk-jpl/test/NightlyRun/test448.py
|
---|
| 2835 | ===================================================================
|
---|
| 2836 | --- ../trunk-jpl/test/NightlyRun/test448.py (revision 27030)
|
---|
| 2837 | +++ ../trunk-jpl/test/NightlyRun/test448.py (revision 27031)
|
---|
| 2838 | @@ -1,4 +1,4 @@
|
---|
| 2839 | -#Test Name: RoundSheetShelfGLMigrationMLHO2d
|
---|
| 2840 | +#Test Name: RoundSheetShelfGLMigrationMOLHO2d
|
---|
| 2841 | import numpy as np
|
---|
| 2842 | from model import *
|
---|
| 2843 | from socket import gethostname
|
---|
| 2844 | @@ -7,7 +7,7 @@
|
---|
| 2845 | from parameterize import parameterize
|
---|
| 2846 | from setflowequation import setflowequation
|
---|
| 2847 | from solve import solve
|
---|
| 2848 | -from SetMLHOBC import SetMLHOBC
|
---|
| 2849 | +from SetMOLHOBC import SetMOLHOBC
|
---|
| 2850 |
|
---|
| 2851 |
|
---|
| 2852 | radius = 1.e6
|
---|
| 2853 | @@ -27,7 +27,7 @@
|
---|
| 2854 | flags[pos] = 1
|
---|
| 2855 | md = setmask(md, flags, '')
|
---|
| 2856 | md = parameterize(md, '../Par/RoundSheetShelf.py')
|
---|
| 2857 | -md = setflowequation(md, 'MLHO', 'all')
|
---|
| 2858 | +md = setflowequation(md, 'MOLHO', 'all')
|
---|
| 2859 | md.cluster = generic('name', gethostname(), 'np', 3)
|
---|
| 2860 |
|
---|
| 2861 | md.transient.isthermal = False
|
---|
| 2862 | @@ -38,7 +38,7 @@
|
---|
| 2863 |
|
---|
| 2864 | #test different grounding line dynamics.
|
---|
| 2865 | md.groundingline.migration = 'AggressiveMigration'
|
---|
| 2866 | -md = SetMLHOBC(md)
|
---|
| 2867 | +md = SetMOLHOBC(md)
|
---|
| 2868 | md = solve(md, 'Transient')
|
---|
| 2869 | element_on_iceshelf_agressive = md.results.TransientSolution[0].MaskOceanLevelset
|
---|
| 2870 | vel_agressive = md.results.TransientSolution[0].Vel
|
---|
| 2871 | Index: ../trunk-jpl/test/NightlyRun/test518.py
|
---|
| 2872 | ===================================================================
|
---|
| 2873 | --- ../trunk-jpl/test/NightlyRun/test518.py (revision 27030)
|
---|
| 2874 | +++ ../trunk-jpl/test/NightlyRun/test518.py (revision 27031)
|
---|
| 2875 | @@ -1,5 +1,5 @@
|
---|
| 2876 |
|
---|
| 2877 | -#Test Name: PigStressMLHO2d
|
---|
| 2878 | +#Test Name: PigStressMOLHO2d
|
---|
| 2879 | from model import *
|
---|
| 2880 | from socket import gethostname
|
---|
| 2881 | from triangle import triangle
|
---|
| 2882 | @@ -7,16 +7,16 @@
|
---|
| 2883 | from parameterize import parameterize
|
---|
| 2884 | from setflowequation import setflowequation
|
---|
| 2885 | from solve import solve
|
---|
| 2886 | -from SetMLHOBC import SetMLHOBC
|
---|
| 2887 | +from SetMOLHOBC import SetMOLHOBC
|
---|
| 2888 |
|
---|
| 2889 |
|
---|
| 2890 | md = triangle(model(), '../Exp/Pig.exp', 20000.)
|
---|
| 2891 | md = setmask(md, '../Exp/PigShelves.exp', '../Exp/PigIslands.exp')
|
---|
| 2892 | md = parameterize(md, '../Par/Pig.py')
|
---|
| 2893 | -md = setflowequation(md, 'MLHO', 'all')
|
---|
| 2894 | +md = setflowequation(md, 'MOLHO', 'all')
|
---|
| 2895 | md.cluster = generic('name', gethostname(), 'np', 3)
|
---|
| 2896 | md.stressbalance.requested_outputs = ['default', 'VxSurface', 'VySurface', 'VxShear', 'VyShear', 'VxBase', 'VyBase']
|
---|
| 2897 | -md = SetMLHOBC(md)
|
---|
| 2898 | +md = SetMOLHOBC(md)
|
---|
| 2899 | md = solve(md, 'Stressbalance')
|
---|
| 2900 |
|
---|
| 2901 | #Fields and tolerances to track changes
|
---|
| 2902 | Index: ../trunk-jpl/test/NightlyRun/test332.m
|
---|
| 2903 | ===================================================================
|
---|
| 2904 | --- ../trunk-jpl/test/NightlyRun/test332.m (revision 27030)
|
---|
| 2905 | +++ ../trunk-jpl/test/NightlyRun/test332.m (revision 27031)
|
---|
| 2906 | @@ -1,10 +1,10 @@
|
---|
| 2907 | -%Test Name: SquareSheetConstrainedTranMLHO2d
|
---|
| 2908 | +%Test Name: SquareSheetConstrainedTranMOLHO2d
|
---|
| 2909 | md=triangle(model(),'../Exp/Square.exp',150000.);
|
---|
| 2910 | md=setmask(md,'','');
|
---|
| 2911 | md=parameterize(md,'../Par/SquareSheetConstrained.par');
|
---|
| 2912 | -md=setflowequation(md,'MLHO','all');
|
---|
| 2913 | +md=setflowequation(md,'MOLHO','all');
|
---|
| 2914 | md.cluster=generic('name',oshostname(),'np',3);
|
---|
| 2915 | -md=SetMLHOBC(md);
|
---|
| 2916 | +md=SetMOLHOBC(md);
|
---|
| 2917 | md=solve(md,'Transient');
|
---|
| 2918 |
|
---|
| 2919 | %Fields and tolerances to track changes
|
---|
| 2920 | Index: ../trunk-jpl/test/NightlyRun/test334.m
|
---|
| 2921 | ===================================================================
|
---|
| 2922 | --- ../trunk-jpl/test/NightlyRun/test334.m (revision 27030)
|
---|
| 2923 | +++ ../trunk-jpl/test/NightlyRun/test334.m (revision 27031)
|
---|
| 2924 | @@ -1,8 +1,8 @@
|
---|
| 2925 | -%Test Name: SquareShelfCMBMLHO
|
---|
| 2926 | +%Test Name: SquareShelfCMBMOLHO
|
---|
| 2927 | md=triangle(model(),'../Exp/Square.exp',200000.);
|
---|
| 2928 | md=setmask(md,'all','');
|
---|
| 2929 | md=parameterize(md,'../Par/SquareShelf.par');
|
---|
| 2930 | -md=setflowequation(md,'MLHO','all');
|
---|
| 2931 | +md=setflowequation(md,'MOLHO','all');
|
---|
| 2932 |
|
---|
| 2933 | %control parameters
|
---|
| 2934 | md.inversion.iscontrol=1;
|
---|
| 2935 | @@ -19,7 +19,7 @@
|
---|
| 2936 | md.verbose.control=true;
|
---|
| 2937 |
|
---|
| 2938 | md.cluster=generic('name',oshostname(),'np',3);
|
---|
| 2939 | -md=SetMLHOBC(md);
|
---|
| 2940 | +md=SetMOLHOBC(md);
|
---|
| 2941 | md=solve(md,'Stressbalance');
|
---|
| 2942 |
|
---|
| 2943 | %Fields and tolerances to track changes
|
---|
| 2944 | Index: ../trunk-jpl/test/NightlyRun/test446.m
|
---|
| 2945 | ===================================================================
|
---|
| 2946 | --- ../trunk-jpl/test/NightlyRun/test446.m (revision 27030)
|
---|
| 2947 | +++ ../trunk-jpl/test/NightlyRun/test446.m (revision 27031)
|
---|
| 2948 | @@ -1,11 +1,11 @@
|
---|
| 2949 | -%Test Name: SquareSheetShelfStressMLHO2d
|
---|
| 2950 | +%Test Name: SquareSheetShelfStressMOLHO2d
|
---|
| 2951 | md=triangle(model(),'../Exp/Square.exp',150000.);
|
---|
| 2952 | md=setmask(md,'../Exp/SquareShelf.exp','');
|
---|
| 2953 | md=parameterize(md,'../Par/SquareSheetShelf.par');
|
---|
| 2954 | -md=setflowequation(md,'MLHO','all');
|
---|
| 2955 | +md=setflowequation(md,'MOLHO','all');
|
---|
| 2956 | md.cluster=generic('name',oshostname(),'np',3);
|
---|
| 2957 | md.stressbalance.requested_outputs={'default','VxSurface','VySurface','VxShear','VyShear','VxBase','VyBase'};
|
---|
| 2958 | -md=SetMLHOBC(md);
|
---|
| 2959 | +md=SetMOLHOBC(md);
|
---|
| 2960 | md=solve(md,'Stressbalance');
|
---|
| 2961 |
|
---|
| 2962 | %Fields and tolerances to track changes
|
---|
| 2963 | Index: ../trunk-jpl/test/NightlyRun/test448.m
|
---|
| 2964 | ===================================================================
|
---|
| 2965 | --- ../trunk-jpl/test/NightlyRun/test448.m (revision 27030)
|
---|
| 2966 | +++ ../trunk-jpl/test/NightlyRun/test448.m (revision 27031)
|
---|
| 2967 | @@ -1,4 +1,4 @@
|
---|
| 2968 | -%Test Name: RoundSheetShelfGLMigrationMLHO2d
|
---|
| 2969 | +%Test Name: RoundSheetShelfGLMigrationMOLHO2d
|
---|
| 2970 | radius=1.e6;
|
---|
| 2971 | shelfextent=2.e5;
|
---|
| 2972 |
|
---|
| 2973 | @@ -15,7 +15,7 @@
|
---|
| 2974 | flags(pos)=1;
|
---|
| 2975 | md=setmask(md,flags,'');
|
---|
| 2976 | md=parameterize(md,'../Par/RoundSheetShelf.par');
|
---|
| 2977 | -md=setflowequation(md,'MLHO','all');
|
---|
| 2978 | +md=setflowequation(md,'MOLHO','all');
|
---|
| 2979 | md.cluster=generic('name',oshostname(),'np',3);
|
---|
| 2980 |
|
---|
| 2981 | md.transient.isthermal=0;
|
---|
| 2982 | @@ -24,7 +24,7 @@
|
---|
| 2983 | md.transient.isstressbalance=1;
|
---|
| 2984 | md.transient.isgroundingline=1;
|
---|
| 2985 |
|
---|
| 2986 | -md=SetMLHOBC(md);
|
---|
| 2987 | +md=SetMOLHOBC(md);
|
---|
| 2988 | %test different grounding line dynamics.
|
---|
| 2989 | md.groundingline.migration='AggressiveMigration';
|
---|
| 2990 | md=solve(md,'Transient');
|
---|
| 2991 | Index: ../trunk-jpl/test/NightlyRun/test518.m
|
---|
| 2992 | ===================================================================
|
---|
| 2993 | --- ../trunk-jpl/test/NightlyRun/test518.m (revision 27030)
|
---|
| 2994 | +++ ../trunk-jpl/test/NightlyRun/test518.m (revision 27031)
|
---|
| 2995 | @@ -1,11 +1,11 @@
|
---|
| 2996 | -%Test Name: PigStressMLHO2d
|
---|
| 2997 | +%Test Name: PigStressMOLHO2d
|
---|
| 2998 | md=triangle(model(),'../Exp/Pig.exp',20000.);
|
---|
| 2999 | md=setmask(md,'../Exp/PigShelves.exp','../Exp/PigIslands.exp');
|
---|
| 3000 | md=parameterize(md,'../Par/Pig.par');
|
---|
| 3001 | -md=setflowequation(md,'MLHO','all');
|
---|
| 3002 | +md=setflowequation(md,'MOLHO','all');
|
---|
| 3003 | md.cluster=generic('name',oshostname(),'np',3);
|
---|
| 3004 | md.stressbalance.requested_outputs={'default','VxSurface','VySurface','VxShear','VyShear','VxBase','VyBase'};
|
---|
| 3005 | -md=SetMLHOBC(md);
|
---|
| 3006 | +md=SetMOLHOBC(md);
|
---|
| 3007 | md=solve(md,'Stressbalance');
|
---|
| 3008 |
|
---|
| 3009 | %Fields and tolerances to track changes
|
---|
| 3010 | Index: ../trunk-jpl/test/NightlyRun/test810.m
|
---|
| 3011 | ===================================================================
|
---|
| 3012 | --- ../trunk-jpl/test/NightlyRun/test810.m (revision 27030)
|
---|
| 3013 | +++ ../trunk-jpl/test/NightlyRun/test810.m (revision 27031)
|
---|
| 3014 | @@ -1,8 +1,8 @@
|
---|
| 3015 | -%Test Name: ValleyGlacierLevelsetMLHO2d
|
---|
| 3016 | +%Test Name: ValleyGlacierLevelsetMOLHO2d
|
---|
| 3017 | md=triangle(model(),'../Exp/Square.exp',50000);
|
---|
| 3018 | md=setmask(md,'','');
|
---|
| 3019 | md=parameterize(md,'../Par/ValleyGlacierShelf.par');
|
---|
| 3020 | -md=setflowequation(md,'MLHO','all');
|
---|
| 3021 | +md=setflowequation(md,'MOLHO','all');
|
---|
| 3022 | md.levelset.stabilization=2;
|
---|
| 3023 | md.cluster=generic('name',oshostname(),'np',3);
|
---|
| 3024 |
|
---|
| 3025 | @@ -14,7 +14,7 @@
|
---|
| 3026 | md.transient.isthermal=0;
|
---|
| 3027 | md.transient.isgroundingline=1;
|
---|
| 3028 |
|
---|
| 3029 | -md=SetMLHOBC(md);
|
---|
| 3030 | +md=SetMOLHOBC(md);
|
---|
| 3031 | md=solve(md,'Transient');
|
---|
| 3032 |
|
---|
| 3033 | %Fields and tolerances to track changes
|
---|
| 3034 | Index: ../trunk-jpl/test/NightlyRun/test330.py
|
---|
| 3035 | ===================================================================
|
---|
| 3036 | --- ../trunk-jpl/test/NightlyRun/test330.py (revision 27030)
|
---|
| 3037 | +++ ../trunk-jpl/test/NightlyRun/test330.py (revision 27031)
|
---|
| 3038 | @@ -1,4 +1,4 @@
|
---|
| 3039 | -#Test Name: SquareSheetConstrainedStressMLHO2d
|
---|
| 3040 | +#Test Name: SquareSheetConstrainedStressMOLHO2d
|
---|
| 3041 | from model import *
|
---|
| 3042 | from socket import gethostname
|
---|
| 3043 | from triangle import triangle
|
---|
| 3044 | @@ -6,16 +6,16 @@
|
---|
| 3045 | from parameterize import parameterize
|
---|
| 3046 | from setflowequation import setflowequation
|
---|
| 3047 | from solve import solve
|
---|
| 3048 | -from SetMLHOBC import SetMLHOBC
|
---|
| 3049 | +from SetMOLHOBC import SetMOLHOBC
|
---|
| 3050 |
|
---|
| 3051 |
|
---|
| 3052 | md = triangle(model(), '../Exp/Square.exp', 150000.)
|
---|
| 3053 | md = setmask(md, '', '')
|
---|
| 3054 | md = parameterize(md, '../Par/SquareSheetConstrained.py')
|
---|
| 3055 | -md = setflowequation(md, 'MLHO', 'all')
|
---|
| 3056 | +md = setflowequation(md, 'MOLHO', 'all')
|
---|
| 3057 | md.cluster = generic('name', gethostname(), 'np', 3)
|
---|
| 3058 | md.stressbalance.requested_outputs = ['default', 'VxSurface', 'VySurface', 'VxShear', 'VyShear', 'VxBase', 'VyBase']
|
---|
| 3059 | -md = SetMLHOBC(md)
|
---|
| 3060 | +md = SetMOLHOBC(md)
|
---|
| 3061 | md = solve(md, 'Stressbalance')
|
---|
| 3062 |
|
---|
| 3063 | #Fields and tolerances to track changes
|
---|
| 3064 | Index: ../trunk-jpl/test/NightlyRun/test333.py
|
---|
| 3065 | ===================================================================
|
---|
| 3066 | --- ../trunk-jpl/test/NightlyRun/test333.py (revision 27030)
|
---|
| 3067 | +++ ../trunk-jpl/test/NightlyRun/test333.py (revision 27031)
|
---|
| 3068 | @@ -1,4 +1,4 @@
|
---|
| 3069 | -#Test Name: SquareSheetConstrainedCMDragMLHO
|
---|
| 3070 | +#Test Name: SquareSheetConstrainedCMDragMOLHO
|
---|
| 3071 | import numpy as np
|
---|
| 3072 | from model import *
|
---|
| 3073 | from socket import gethostname
|
---|
| 3074 | @@ -7,13 +7,13 @@
|
---|
| 3075 | from parameterize import parameterize
|
---|
| 3076 | from setflowequation import setflowequation
|
---|
| 3077 | from solve import solve
|
---|
| 3078 | -from SetMLHOBC import SetMLHOBC
|
---|
| 3079 | +from SetMOLHOBC import SetMOLHOBC
|
---|
| 3080 |
|
---|
| 3081 |
|
---|
| 3082 | md = triangle(model(), '../Exp/Square.exp', 200000.)
|
---|
| 3083 | md = setmask(md, '', '')
|
---|
| 3084 | md = parameterize(md, '../Par/SquareSheetConstrained.py')
|
---|
| 3085 | -md = setflowequation(md, 'MLHO', 'all')
|
---|
| 3086 | +md = setflowequation(md, 'MOLHO', 'all')
|
---|
| 3087 |
|
---|
| 3088 | #control parameters
|
---|
| 3089 |
|
---|
| 3090 | @@ -32,7 +32,7 @@
|
---|
| 3091 | md.inversion.vy_obs = md.initialization.vy
|
---|
| 3092 |
|
---|
| 3093 | md.cluster = generic('name', gethostname(), 'np', 3)
|
---|
| 3094 | -md = SetMLHOBC(md)
|
---|
| 3095 | +md = SetMOLHOBC(md)
|
---|
| 3096 | md = solve(md, 'Stressbalance')
|
---|
| 3097 |
|
---|
| 3098 | #Fields and tolerances to track changes
|
---|
| 3099 | Index: ../trunk-jpl/test/NightlyRun/test335.py
|
---|
| 3100 | ===================================================================
|
---|
| 3101 | --- ../trunk-jpl/test/NightlyRun/test335.py (revision 27030)
|
---|
| 3102 | +++ ../trunk-jpl/test/NightlyRun/test335.py (revision 27031)
|
---|
| 3103 | @@ -1,4 +1,4 @@
|
---|
| 3104 | -#Test Name: SquareSheetConstrainedStressMLHO2d
|
---|
| 3105 | +#Test Name: SquareSheetConstrainedStressMOLHO2d
|
---|
| 3106 | from model import *
|
---|
| 3107 | from socket import gethostname
|
---|
| 3108 | from triangle import triangle
|
---|
| 3109 | @@ -6,14 +6,14 @@
|
---|
| 3110 | from parameterize import parameterize
|
---|
| 3111 | from setflowequation import setflowequation
|
---|
| 3112 | from solve import solve
|
---|
| 3113 | -from SetMLHOBC import SetMLHOBC
|
---|
| 3114 | +from SetMOLHOBC import SetMOLHOBC
|
---|
| 3115 |
|
---|
| 3116 |
|
---|
| 3117 | md = triangle(model(), '../Exp/Square.exp', 200000.)
|
---|
| 3118 | md = setmask(md, '', '')
|
---|
| 3119 | md = parameterize(md, '../Par/SquareSheetConstrained.py')
|
---|
| 3120 | -md = setflowequation(md, 'MLHO', 'all')
|
---|
| 3121 | -md = SetMLHOBC(md)
|
---|
| 3122 | +md = setflowequation(md, 'MOLHO', 'all')
|
---|
| 3123 | +md = SetMOLHOBC(md)
|
---|
| 3124 | md.extrude(5, 1.)
|
---|
| 3125 | md.cluster = generic('name', gethostname(), 'np', 3)
|
---|
| 3126 | md.stressbalance.requested_outputs = ['default', 'VxSurface', 'VySurface', 'VxShear', 'VyShear', 'VxBase', 'VyBase']
|
---|
| 3127 | Index: ../trunk-jpl/test/NightlyRun/test447.py
|
---|
| 3128 | ===================================================================
|
---|
| 3129 | --- ../trunk-jpl/test/NightlyRun/test447.py (revision 27030)
|
---|
| 3130 | +++ ../trunk-jpl/test/NightlyRun/test447.py (revision 27031)
|
---|
| 3131 | @@ -1,4 +1,4 @@
|
---|
| 3132 | -#Test Name: SquareSheetShelfTranMLHO2d
|
---|
| 3133 | +#Test Name: SquareSheetShelfTranMOLHO2d
|
---|
| 3134 | import numpy as np
|
---|
| 3135 | from model import *
|
---|
| 3136 | from socket import gethostname
|
---|
| 3137 | @@ -7,7 +7,7 @@
|
---|
| 3138 | from parameterize import parameterize
|
---|
| 3139 | from setflowequation import setflowequation
|
---|
| 3140 | from solve import solve
|
---|
| 3141 | -from SetMLHOBC import SetMLHOBC
|
---|
| 3142 | +from SetMOLHOBC import SetMOLHOBC
|
---|
| 3143 | from frictioncoulomb import frictioncoulomb
|
---|
| 3144 | from generic import generic
|
---|
| 3145 |
|
---|
| 3146 | @@ -24,10 +24,10 @@
|
---|
| 3147 | md.friction.coefficientcoulomb = 0.02 * np.ones(md.mesh.numberofvertices)
|
---|
| 3148 | md.transient.isthermal = False
|
---|
| 3149 | md.transient.isgroundingline = True
|
---|
| 3150 | -md = setflowequation(md, 'MLHO', 'all')
|
---|
| 3151 | +md = setflowequation(md, 'MOLHO', 'all')
|
---|
| 3152 | md.cluster = generic('name', gethostname(), 'np', 3)
|
---|
| 3153 | md.transient.requested_outputs = ['default', 'GroundedArea', 'FloatingArea', 'TotalFloatingBmb', 'TotalGroundedBmb', 'TotalSmb']
|
---|
| 3154 | -md = SetMLHOBC(md)
|
---|
| 3155 | +md = SetMOLHOBC(md)
|
---|
| 3156 | md = solve(md, 'Transient')
|
---|
| 3157 |
|
---|
| 3158 | #Fields and tolerances to track changes
|
---|
| 3159 | Index: ../trunk-jpl/test/NightlyRun/test449.py
|
---|
| 3160 | ===================================================================
|
---|
| 3161 | --- ../trunk-jpl/test/NightlyRun/test449.py (revision 27030)
|
---|
| 3162 | +++ ../trunk-jpl/test/NightlyRun/test449.py (revision 27031)
|
---|
| 3163 | @@ -1,4 +1,4 @@
|
---|
| 3164 | -#Test Name: MISMIP3DMLHO
|
---|
| 3165 | +#Test Name: MISMIP3DMOLHO
|
---|
| 3166 | import numpy as np
|
---|
| 3167 | from model import *
|
---|
| 3168 | from socket import gethostname
|
---|
| 3169 | @@ -7,7 +7,7 @@
|
---|
| 3170 | from parameterize import parameterize
|
---|
| 3171 | from setflowequation import setflowequation
|
---|
| 3172 | from solve import solve
|
---|
| 3173 | -from SetMLHOBC import SetMLHOBC
|
---|
| 3174 | +from SetMOLHOBC import SetMOLHOBC
|
---|
| 3175 | from generic import generic
|
---|
| 3176 |
|
---|
| 3177 |
|
---|
| 3178 | @@ -23,7 +23,7 @@
|
---|
| 3179 | pos = np.where(md.mask.ocean_levelset >= 0.)
|
---|
| 3180 | md.geometry.base[pos] = md.geometry.bed[pos]
|
---|
| 3181 | md.geometry.surface = md.geometry.base + md.geometry.thickness
|
---|
| 3182 | -md = setflowequation(md, 'MLHO', 'all')
|
---|
| 3183 | +md = setflowequation(md, 'MOLHO', 'all')
|
---|
| 3184 |
|
---|
| 3185 | #Boundary conditions:
|
---|
| 3186 | md.mask.ice_levelset = -np.ones((md.mesh.numberofvertices, ))
|
---|
| 3187 | @@ -58,7 +58,7 @@
|
---|
| 3188 | md.timestepping.time_step = 10
|
---|
| 3189 |
|
---|
| 3190 | md.cluster = generic('name', gethostname(), 'np', 3)
|
---|
| 3191 | -md = SetMLHOBC(md)
|
---|
| 3192 | +md = SetMOLHOBC(md)
|
---|
| 3193 | md = solve(md, 'Transient')
|
---|
| 3194 | #print md.results.TransientSolution[0].BasalforcingsFloatingiceMeltingRate
|
---|
| 3195 | #print md.results.TransientSolution[1].BasalforcingsFloatingiceMeltingRate
|
---|
| 3196 | Index: ../trunk-jpl/test/NightlyRun/test519.py
|
---|
| 3197 | ===================================================================
|
---|
| 3198 | --- ../trunk-jpl/test/NightlyRun/test519.py (revision 27030)
|
---|
| 3199 | +++ ../trunk-jpl/test/NightlyRun/test519.py (revision 27031)
|
---|
| 3200 | @@ -1,4 +1,4 @@
|
---|
| 3201 | -#Test Name: PigTranMLHO2d
|
---|
| 3202 | +#Test Name: PigTranMOLHO2d
|
---|
| 3203 | import numpy as np
|
---|
| 3204 | from model import *
|
---|
| 3205 | from socket import gethostname
|
---|
| 3206 | @@ -7,17 +7,17 @@
|
---|
| 3207 | from parameterize import parameterize
|
---|
| 3208 | from setflowequation import setflowequation
|
---|
| 3209 | from solve import solve
|
---|
| 3210 | -from SetMLHOBC import SetMLHOBC
|
---|
| 3211 | +from SetMOLHOBC import SetMOLHOBC
|
---|
| 3212 | from generic import generic
|
---|
| 3213 |
|
---|
| 3214 | md = triangle(model(), '../Exp/Pig.exp', 20000.)
|
---|
| 3215 | md = setmask(md, '../Exp/PigShelves.exp', '../Exp/PigIslands.exp')
|
---|
| 3216 | md = parameterize(md, '../Par/Pig.py')
|
---|
| 3217 | -md = setflowequation(md, 'MLHO', 'all')
|
---|
| 3218 | +md = setflowequation(md, 'MOLHO', 'all')
|
---|
| 3219 | md.mesh.scale_factor = 0.9 * np.ones((md.mesh.numberofvertices))
|
---|
| 3220 | md.transient.requested_outputs = ['default', 'IceVolume', 'IceVolumeScaled', 'GroundedArea', 'GroundedAreaScaled', 'FloatingArea', 'FloatingAreaScaled', 'TotalSmb', 'TotalSmbScaled', 'TotalFloatingBmb', 'TotalFloatingBmbScaled']
|
---|
| 3221 | md.cluster = generic('name', gethostname(), 'np', 3)
|
---|
| 3222 | -md = SetMLHOBC(md)
|
---|
| 3223 | +md = SetMOLHOBC(md)
|
---|
| 3224 | md = solve(md, 'Transient')
|
---|
| 3225 |
|
---|
| 3226 | # Fields and tolerances to track changes
|
---|
| 3227 | Index: ../trunk-jpl/test/NightlyRun/test810.py
|
---|
| 3228 | ===================================================================
|
---|
| 3229 | --- ../trunk-jpl/test/NightlyRun/test810.py (revision 27030)
|
---|
| 3230 | +++ ../trunk-jpl/test/NightlyRun/test810.py (revision 27031)
|
---|
| 3231 | @@ -1,4 +1,4 @@
|
---|
| 3232 | -#Test Name: ValleyGlacierLevelsetMLHO2d
|
---|
| 3233 | +#Test Name: ValleyGlacierLevelsetMOLHO2d
|
---|
| 3234 | from model import *
|
---|
| 3235 | from socket import gethostname
|
---|
| 3236 | from triangle import triangle
|
---|
| 3237 | @@ -6,13 +6,13 @@
|
---|
| 3238 | from parameterize import parameterize
|
---|
| 3239 | from setflowequation import setflowequation
|
---|
| 3240 | from solve import solve
|
---|
| 3241 | -from SetMLHOBC import SetMLHOBC
|
---|
| 3242 | +from SetMOLHOBC import SetMOLHOBC
|
---|
| 3243 |
|
---|
| 3244 | md = triangle(model(), '../Exp/Square.exp', 50000)
|
---|
| 3245 | md = setmask(md, '', '')
|
---|
| 3246 | md = parameterize(md, '../Par/ValleyGlacierShelf.py')
|
---|
| 3247 | md.levelset.stabilization = 2
|
---|
| 3248 | -md = setflowequation(md, 'MLHO', 'all')
|
---|
| 3249 | +md = setflowequation(md, 'MOLHO', 'all')
|
---|
| 3250 | md.cluster = generic('name', gethostname(), 'np', 3)
|
---|
| 3251 |
|
---|
| 3252 | #Transient
|
---|
| 3253 | @@ -22,7 +22,7 @@
|
---|
| 3254 | md.transient.issmb = True
|
---|
| 3255 | md.transient.isthermal = False
|
---|
| 3256 | md.transient.isgroundingline = True
|
---|
| 3257 | -md = SetMLHOBC(md)
|
---|
| 3258 | +md = SetMOLHOBC(md)
|
---|
| 3259 |
|
---|
| 3260 | md = solve(md, 'Transient')
|
---|
| 3261 |
|
---|
| 3262 | Index: ../trunk-jpl/test/NightlyRun/test812.py
|
---|
| 3263 | ===================================================================
|
---|
| 3264 | --- ../trunk-jpl/test/NightlyRun/test812.py (revision 27030)
|
---|
| 3265 | +++ ../trunk-jpl/test/NightlyRun/test812.py (revision 27031)
|
---|
| 3266 | @@ -1,4 +1,4 @@
|
---|
| 3267 | -#Test Name: SquareShelfLevelsetCalvingMLHO2dLevermann
|
---|
| 3268 | +#Test Name: SquareShelfLevelsetCalvingMOLHO2dLevermann
|
---|
| 3269 | import numpy as np
|
---|
| 3270 | from socket import gethostname
|
---|
| 3271 | from model import *
|
---|
| 3272 | @@ -7,12 +7,12 @@
|
---|
| 3273 | from setmask import setmask
|
---|
| 3274 | from solve import solve
|
---|
| 3275 | from triangle import triangle
|
---|
| 3276 | -from SetMLHOBC import SetMLHOBC
|
---|
| 3277 | +from SetMOLHOBC import SetMOLHOBC
|
---|
| 3278 |
|
---|
| 3279 | md = triangle(model(), '../Exp/Square.exp', 50000.)
|
---|
| 3280 | md = setmask(md, 'all', '')
|
---|
| 3281 | md = parameterize(md, '../Par/SquareShelf.py')
|
---|
| 3282 | -md = setflowequation(md, 'MLHO', 'all')
|
---|
| 3283 | +md = setflowequation(md, 'MOLHO', 'all')
|
---|
| 3284 | md.cluster = generic('name', gethostname(), 'np', 3)
|
---|
| 3285 |
|
---|
| 3286 | x = md.mesh.x
|
---|
| 3287 | @@ -44,7 +44,7 @@
|
---|
| 3288 |
|
---|
| 3289 | md.transient.requested_outputs = ['default', 'StrainRateparallel', 'StrainRateperpendicular', 'Calvingratex', 'Calvingratey', 'CalvingCalvingrate']
|
---|
| 3290 |
|
---|
| 3291 | -md = SetMLHOBC(md);
|
---|
| 3292 | +md = SetMOLHOBC(md);
|
---|
| 3293 | md = solve(md, 'Transient')
|
---|
| 3294 |
|
---|
| 3295 | #Fields and tolerances to track changes
|
---|
| 3296 | Index: ../trunk-jpl/test/NightlyRun/test812.m
|
---|
| 3297 | ===================================================================
|
---|
| 3298 | --- ../trunk-jpl/test/NightlyRun/test812.m (revision 27030)
|
---|
| 3299 | +++ ../trunk-jpl/test/NightlyRun/test812.m (revision 27031)
|
---|
| 3300 | @@ -1,8 +1,8 @@
|
---|
| 3301 | -%Test Name: SquareShelfLevelsetCalvingMLHO2dLevermann
|
---|
| 3302 | +%Test Name: SquareShelfLevelsetCalvingMOLHO2dLevermann
|
---|
| 3303 | md=triangle(model(),'../Exp/Square.exp',50000.);
|
---|
| 3304 | md=setmask(md,'all','');
|
---|
| 3305 | md=parameterize(md,'../Par/SquareShelf.par');
|
---|
| 3306 | -md=setflowequation(md,'MLHO','all');
|
---|
| 3307 | +md=setflowequation(md,'MOLHO','all');
|
---|
| 3308 | md.cluster=generic('name',oshostname(),'np',3);
|
---|
| 3309 |
|
---|
| 3310 | %Do not kill ice bergs as all is floating
|
---|
| 3311 | @@ -34,7 +34,7 @@
|
---|
| 3312 |
|
---|
| 3313 | md.transient.requested_outputs={'default','StrainRateparallel','StrainRateperpendicular','Calvingratex','Calvingratey','CalvingCalvingrate'};
|
---|
| 3314 |
|
---|
| 3315 | -md=SetMLHOBC(md);
|
---|
| 3316 | +md=SetMOLHOBC(md);
|
---|
| 3317 | md=solve(md,'Transient');
|
---|
| 3318 |
|
---|
| 3319 | %Fields and tolerances to track changes
|
---|
| 3320 | Index: ../trunk-jpl/test/NightlyRun/test811.py
|
---|
| 3321 | ===================================================================
|
---|
| 3322 | --- ../trunk-jpl/test/NightlyRun/test811.py (revision 27030)
|
---|
| 3323 | +++ ../trunk-jpl/test/NightlyRun/test811.py (revision 27031)
|
---|
| 3324 | @@ -1,4 +1,4 @@
|
---|
| 3325 | -#Test Name: ValleyGlacierLevelsetCalvingMLHO2d
|
---|
| 3326 | +#Test Name: ValleyGlacierLevelsetCalvingMOLHO2d
|
---|
| 3327 | import numpy as np
|
---|
| 3328 | from model import *
|
---|
| 3329 | from socket import gethostname
|
---|
| 3330 | @@ -7,13 +7,13 @@
|
---|
| 3331 | from parameterize import parameterize
|
---|
| 3332 | from setflowequation import setflowequation
|
---|
| 3333 | from solve import solve
|
---|
| 3334 | -from SetMLHOBC import SetMLHOBC
|
---|
| 3335 | +from SetMOLHOBC import SetMOLHOBC
|
---|
| 3336 | from generic import generic
|
---|
| 3337 |
|
---|
| 3338 | md = triangle(model(), '../Exp/Square.exp', 50000)
|
---|
| 3339 | md = setmask(md, '', '')
|
---|
| 3340 | md = parameterize(md, '../Par/ValleyGlacierShelf.py')
|
---|
| 3341 | -md = setflowequation(md, 'MLHO', 'all')
|
---|
| 3342 | +md = setflowequation(md, 'MOLHO', 'all')
|
---|
| 3343 | md.cluster = generic('name', gethostname(), 'np', 3)
|
---|
| 3344 |
|
---|
| 3345 | #Transient
|
---|
| 3346 | @@ -28,7 +28,7 @@
|
---|
| 3347 | md.frontalforcings.meltingrate = np.zeros((md.mesh.numberofvertices))
|
---|
| 3348 | md.levelset.migration_max = 1e10
|
---|
| 3349 |
|
---|
| 3350 | -md = SetMLHOBC(md)
|
---|
| 3351 | +md = SetMOLHOBC(md)
|
---|
| 3352 | md = solve(md, 'Transient')
|
---|
| 3353 |
|
---|
| 3354 | #Fields and tolerances to track changes
|
---|
| 3355 | Index: ../trunk-jpl/test/NightlyRun/test127.m
|
---|
| 3356 | ===================================================================
|
---|
| 3357 | --- ../trunk-jpl/test/NightlyRun/test127.m (revision 27030)
|
---|
| 3358 | +++ ../trunk-jpl/test/NightlyRun/test127.m (revision 27031)
|
---|
| 3359 | @@ -1,12 +1,12 @@
|
---|
| 3360 | -%Test Name: SquareShelfConstrainedStressMLHO2d
|
---|
| 3361 | +%Test Name: SquareShelfConstrainedStressMOLHO2d
|
---|
| 3362 | md=triangle(model(),'../Exp/Square.exp',50000.);
|
---|
| 3363 | md=setmask(md,'all','');
|
---|
| 3364 | md=parameterize(md,'../Par/SquareShelfConstrained.par');
|
---|
| 3365 | -md=setflowequation(md,'MLHO','all');
|
---|
| 3366 | +md=setflowequation(md,'MOLHO','all');
|
---|
| 3367 | md.cluster=generic('name',oshostname(),'np',2);
|
---|
| 3368 |
|
---|
| 3369 | %output
|
---|
| 3370 | -%FIXME compute the stress components for MLHO
|
---|
| 3371 | +%FIXME compute the stress components for MOLHO
|
---|
| 3372 | md.stressbalance.requested_outputs={'default','VxSurface','VySurface','VxShear','VyShear','VxBase','VyBase','MassFlux1','MassFlux2','MassFlux3','MassFlux4','MassFlux5','MassFlux6'};
|
---|
| 3373 | %md.stressbalance.requested_outputs={'default','DeviatoricStressxx','DeviatoricStressyy','DeviatoricStressxy','MassFlux1','MassFlux2','MassFlux3','MassFlux4','MassFlux5','MassFlux6'};
|
---|
| 3374 | md.outputdefinition.definitions={...
|
---|
| 3375 | @@ -17,7 +17,7 @@
|
---|
| 3376 | massfluxatgate('name','MassFlux5','profilename',['../Exp/MassFlux5.exp'],'definitionstring','Outputdefinition5'),...
|
---|
| 3377 | massfluxatgate('name','MassFlux6','profilename',['../Exp/MassFlux6.exp'],'definitionstring','Outputdefinition6')...
|
---|
| 3378 | };
|
---|
| 3379 | -md=SetMLHOBC(md);
|
---|
| 3380 | +md=SetMOLHOBC(md);
|
---|
| 3381 | md=solve(md,'Stressbalance');
|
---|
| 3382 |
|
---|
| 3383 | %Fields and tolerances to track changes
|
---|
| 3384 | Index: ../trunk-jpl/test/NightlyRun/test129.m
|
---|
| 3385 | ===================================================================
|
---|
| 3386 | --- ../trunk-jpl/test/NightlyRun/test129.m (revision 27030)
|
---|
| 3387 | +++ ../trunk-jpl/test/NightlyRun/test129.m (revision 27031)
|
---|
| 3388 | @@ -1,8 +1,8 @@
|
---|
| 3389 | -%Test Name: SquareShelfConstrainedRestartTranMLHO2d
|
---|
| 3390 | +%Test Name: SquareShelfConstrainedRestartTranMOLHO2d
|
---|
| 3391 | md=triangle(model(),'../Exp/Square.exp',150000.);
|
---|
| 3392 | md=setmask(md,'all','');
|
---|
| 3393 | md=parameterize(md,'../Par/SquareShelfConstrained.par');
|
---|
| 3394 | -md=setflowequation(md,'MLHO','all');
|
---|
| 3395 | +md=setflowequation(md,'MOLHO','all');
|
---|
| 3396 | md.cluster=generic('name',oshostname(),'np',1);
|
---|
| 3397 | md.transient.requested_outputs={'IceVolume','TotalSmb','VxShear','VyShear','VxBase','VyBase','VxSurface','VySurface'};
|
---|
| 3398 |
|
---|
| 3399 | @@ -13,7 +13,7 @@
|
---|
| 3400 | md.timestepping.final_time=19;
|
---|
| 3401 | md.settings.output_frequency=2;
|
---|
| 3402 |
|
---|
| 3403 | -md=SetMLHOBC(md);
|
---|
| 3404 | +md=SetMOLHOBC(md);
|
---|
| 3405 | md=solve(md,'Transient');
|
---|
| 3406 | md2=solve(md,'Transient','restart',1);
|
---|
| 3407 |
|
---|
| 3408 | Index: ../trunk-jpl/test/NightlyRun/test249.m
|
---|
| 3409 | ===================================================================
|
---|
| 3410 | --- ../trunk-jpl/test/NightlyRun/test249.m (revision 27030)
|
---|
| 3411 | +++ ../trunk-jpl/test/NightlyRun/test249.m (revision 27031)
|
---|
| 3412 | @@ -1,12 +1,12 @@
|
---|
| 3413 | -%Test Name: SquareShelfTranMLHO2d
|
---|
| 3414 | +%Test Name: SquareShelfTranMOLHO2d
|
---|
| 3415 | md=triangle(model(),'../Exp/Square.exp',150000.);
|
---|
| 3416 | md=setmask(md,'all','');
|
---|
| 3417 | md=parameterize(md,'../Par/SquareShelf.par');
|
---|
| 3418 | -md=setflowequation(md,'MLHO','all');
|
---|
| 3419 | +md=setflowequation(md,'MOLHO','all');
|
---|
| 3420 | md.cluster=generic('name',oshostname(),'np',3);
|
---|
| 3421 | md.transient.requested_outputs={'default','FloatingArea','GroundedArea','TotalGroundedBmb','TotalFloatingBmb'};
|
---|
| 3422 | md.basalforcings.floatingice_melting_rate(:)=1;
|
---|
| 3423 | -md=SetMLHOBC(md);
|
---|
| 3424 | +md=SetMOLHOBC(md);
|
---|
| 3425 | md=solve(md,'Transient');
|
---|
| 3426 |
|
---|
| 3427 | %Fields and tolerances to track changes
|
---|
| 3428 | Index: ../trunk-jpl/test/NightlyRun/test255.m
|
---|
| 3429 | ===================================================================
|
---|
| 3430 | --- ../trunk-jpl/test/NightlyRun/test255.m (revision 27030)
|
---|
| 3431 | +++ ../trunk-jpl/test/NightlyRun/test255.m (revision 27031)
|
---|
| 3432 | @@ -1,11 +1,11 @@
|
---|
| 3433 | -%Test Name: SquareShelfStressMLHO2dTransientIncrHydro
|
---|
| 3434 | +%Test Name: SquareShelfStressMOLHO2dTransientIncrHydro
|
---|
| 3435 | md=triangle(model(),'../Exp/Square.exp',150000.);
|
---|
| 3436 | md=setmask(md,'all','');
|
---|
| 3437 | md=parameterize(md,'../Par/SquareShelf.par');
|
---|
| 3438 | -md=setflowequation(md,'MLHO','all');
|
---|
| 3439 | +md=setflowequation(md,'MOLHO','all');
|
---|
| 3440 | md.cluster=generic('name',oshostname(),'np',3);
|
---|
| 3441 | md.masstransport.hydrostatic_adjustment='Incremental';
|
---|
| 3442 | -md=SetMLHOBC(md);
|
---|
| 3443 | +md=SetMOLHOBC(md);
|
---|
| 3444 | md=solve(md,'Transient');
|
---|
| 3445 |
|
---|
| 3446 | %Fields and tolerances to track changes
|
---|
| 3447 | Index: ../trunk-jpl/test/NightlyRun/test330.m
|
---|
| 3448 | ===================================================================
|
---|
| 3449 | --- ../trunk-jpl/test/NightlyRun/test330.m (revision 27030)
|
---|
| 3450 | +++ ../trunk-jpl/test/NightlyRun/test330.m (revision 27031)
|
---|
| 3451 | @@ -1,11 +1,11 @@
|
---|
| 3452 | -%Test Name: SquareSheetConstrainedStressMLHO2d
|
---|
| 3453 | +%Test Name: SquareSheetConstrainedStressMOLHO2d
|
---|
| 3454 | md=triangle(model(),'../Exp/Square.exp',150000.);
|
---|
| 3455 | md=setmask(md,'','');
|
---|
| 3456 | md=parameterize(md,'../Par/SquareSheetConstrained.par');
|
---|
| 3457 | -md=setflowequation(md,'MLHO','all');
|
---|
| 3458 | +md=setflowequation(md,'MOLHO','all');
|
---|
| 3459 | md.cluster=generic('name',oshostname(),'np',3);
|
---|
| 3460 | md.stressbalance.requested_outputs={'default','VxSurface','VySurface','VxShear','VyShear','VxBase','VyBase'};
|
---|
| 3461 | -md=SetMLHOBC(md);
|
---|
| 3462 | +md=SetMOLHOBC(md);
|
---|
| 3463 | md=solve(md,'Stressbalance');
|
---|
| 3464 |
|
---|
| 3465 | %Fields and tolerances to track changes
|
---|
| 3466 | Index: ../trunk-jpl/test/NightlyRun/test333.m
|
---|
| 3467 | ===================================================================
|
---|
| 3468 | --- ../trunk-jpl/test/NightlyRun/test333.m (revision 27030)
|
---|
| 3469 | +++ ../trunk-jpl/test/NightlyRun/test333.m (revision 27031)
|
---|
| 3470 | @@ -1,8 +1,8 @@
|
---|
| 3471 | -%Test Name: SquareSheetConstrainedCMDragMLHO
|
---|
| 3472 | +%Test Name: SquareSheetConstrainedCMDragMOLHO
|
---|
| 3473 | md=triangle(model(),'../Exp/Square.exp',200000.);
|
---|
| 3474 | md=setmask(md,'','');
|
---|
| 3475 | md=parameterize(md,'../Par/SquareSheetConstrained.par');
|
---|
| 3476 | -md=setflowequation(md,'MLHO','all');
|
---|
| 3477 | +md=setflowequation(md,'MOLHO','all');
|
---|
| 3478 |
|
---|
| 3479 | %control parameters
|
---|
| 3480 | md.inversion.iscontrol=1;
|
---|
| 3481 | @@ -18,7 +18,7 @@
|
---|
| 3482 | md.inversion.vx_obs=md.initialization.vx; md.inversion.vy_obs=md.initialization.vy;
|
---|
| 3483 |
|
---|
| 3484 | md.cluster=generic('name',oshostname(),'np',3);
|
---|
| 3485 | -md=SetMLHOBC(md);
|
---|
| 3486 | +md=SetMOLHOBC(md);
|
---|
| 3487 | md=solve(md,'Stressbalance');
|
---|
| 3488 |
|
---|
| 3489 | %Fields and tolerances to track changes
|
---|
| 3490 | Index: ../trunk-jpl/test/NightlyRun/test335.m
|
---|
| 3491 | ===================================================================
|
---|
| 3492 | --- ../trunk-jpl/test/NightlyRun/test335.m (revision 27030)
|
---|
| 3493 | +++ ../trunk-jpl/test/NightlyRun/test335.m (revision 27031)
|
---|
| 3494 | @@ -1,12 +1,12 @@
|
---|
| 3495 | -%Test Name: SquareSheetConstrainedStressMLHO3d
|
---|
| 3496 | +%Test Name: SquareSheetConstrainedStressMOLHO3d
|
---|
| 3497 | md=triangle(model(),'../Exp/Square.exp',200000.);
|
---|
| 3498 | md=setmask(md,'','');
|
---|
| 3499 | md=parameterize(md,'../Par/SquareSheetConstrained.par');
|
---|
| 3500 | -md=setflowequation(md,'MLHO','all');
|
---|
| 3501 | +md=setflowequation(md,'MOLHO','all');
|
---|
| 3502 | md = extrude(md, 5, 1);
|
---|
| 3503 | md.cluster=generic('name',oshostname(),'np',3);
|
---|
| 3504 | md.stressbalance.requested_outputs={'default','VxSurface','VySurface','VxShear','VyShear','VxBase','VyBase'};
|
---|
| 3505 | -md=SetMLHOBC(md);
|
---|
| 3506 | +md=SetMOLHOBC(md);
|
---|
| 3507 | md=solve(md,'Stressbalance');
|
---|
| 3508 |
|
---|
| 3509 | %Fields and tolerances to track changes
|
---|
| 3510 | Index: ../trunk-jpl/test/NightlyRun/test447.m
|
---|
| 3511 | ===================================================================
|
---|
| 3512 | --- ../trunk-jpl/test/NightlyRun/test447.m (revision 27030)
|
---|
| 3513 | +++ ../trunk-jpl/test/NightlyRun/test447.m (revision 27031)
|
---|
| 3514 | @@ -1,4 +1,4 @@
|
---|
| 3515 | -%Test Name: SquareSheetShelfTranMLHO2d
|
---|
| 3516 | +%Test Name: SquareSheetShelfTranMOLHO2d
|
---|
| 3517 | md=triangle(model(),'../Exp/Square.exp',150000.);
|
---|
| 3518 | md=setmask(md,'../Exp/SquareShelf.exp','');
|
---|
| 3519 | md=parameterize(md,'../Par/SquareSheetShelf.par');
|
---|
| 3520 | @@ -12,10 +12,10 @@
|
---|
| 3521 | md.friction.coefficientcoulomb=0.02*ones(md.mesh.numberofvertices,1);
|
---|
| 3522 | md.transient.isthermal=0;
|
---|
| 3523 | md.transient.isgroundingline=1;
|
---|
| 3524 | -md=setflowequation(md,'MLHO','all');
|
---|
| 3525 | +md=setflowequation(md,'MOLHO','all');
|
---|
| 3526 | md.cluster=generic('name',oshostname(),'np',3);
|
---|
| 3527 | md.transient.requested_outputs={'default','GroundedArea','FloatingArea','TotalFloatingBmb','TotalGroundedBmb','TotalSmb'};
|
---|
| 3528 | -md=SetMLHOBC(md);
|
---|
| 3529 | +md=SetMOLHOBC(md);
|
---|
| 3530 | md=solve(md,'Transient');
|
---|
| 3531 |
|
---|
| 3532 | %Fields and tolerances to track changes
|
---|
| 3533 | Index: ../trunk-jpl/test/NightlyRun/test449.m
|
---|
| 3534 | ===================================================================
|
---|
| 3535 | --- ../trunk-jpl/test/NightlyRun/test449.m (revision 27030)
|
---|
| 3536 | +++ ../trunk-jpl/test/NightlyRun/test449.m (revision 27031)
|
---|
| 3537 | @@ -1,4 +1,4 @@
|
---|
| 3538 | -%Test Name: MISMIP3DMLHO
|
---|
| 3539 | +%Test Name: MISMIP3DMOLHO
|
---|
| 3540 | md=triangle(model(),'../Exp/Square.exp',100000.);
|
---|
| 3541 | md=setmask(md,'../Exp/SquareShelf.exp','');
|
---|
| 3542 | md=parameterize(md,'../Par/SquareSheetShelf.par');
|
---|
| 3543 | @@ -11,7 +11,7 @@
|
---|
| 3544 | pos=find(md.mask.ocean_levelset>=0);
|
---|
| 3545 | md.geometry.base(pos)=md.geometry.bed(pos);
|
---|
| 3546 | md.geometry.surface=md.geometry.base+md.geometry.thickness;
|
---|
| 3547 | -md=setflowequation(md,'MLHO','all');
|
---|
| 3548 | +md=setflowequation(md,'MOLHO','all');
|
---|
| 3549 |
|
---|
| 3550 | %Boundary conditions:
|
---|
| 3551 | md.mask.ice_levelset=-ones(md.mesh.numberofvertices,1);
|
---|
| 3552 | @@ -44,7 +44,7 @@
|
---|
| 3553 | md.timestepping.time_step=10;
|
---|
| 3554 |
|
---|
| 3555 | md.cluster=generic('name',oshostname(),'np',3);
|
---|
| 3556 | -md=SetMLHOBC(md);
|
---|
| 3557 | +md=SetMOLHOBC(md);
|
---|
| 3558 | md=solve(md,'Transient');
|
---|
| 3559 |
|
---|
| 3560 | %Fields and tolerances to track changes
|
---|
| 3561 | Index: ../trunk-jpl/test/NightlyRun/test519.m
|
---|
| 3562 | ===================================================================
|
---|
| 3563 | --- ../trunk-jpl/test/NightlyRun/test519.m (revision 27030)
|
---|
| 3564 | +++ ../trunk-jpl/test/NightlyRun/test519.m (revision 27031)
|
---|
| 3565 | @@ -1,14 +1,14 @@
|
---|
| 3566 | -%Test Name: PigTranMLHO2d
|
---|
| 3567 | +%Test Name: PigTranMOLHO2d
|
---|
| 3568 | md=triangle(model(),'../Exp/Pig.exp',20000.);
|
---|
| 3569 | md=setmask(md,'../Exp/PigShelves.exp','../Exp/PigIslands.exp');
|
---|
| 3570 | md=parameterize(md,'../Par/Pig.par');
|
---|
| 3571 | -md=setflowequation(md,'MLHO','all');
|
---|
| 3572 | +md=setflowequation(md,'MOLHO','all');
|
---|
| 3573 | md.cluster=generic('name',oshostname(),'np',3);
|
---|
| 3574 | md.geometry.bed=md.geometry.base;
|
---|
| 3575 | [md.mesh.lat,md.mesh.long] = xy2ll(md.mesh.x,md.mesh.y,-1);
|
---|
| 3576 | md.mesh.scale_factor=0.9*ones(md.mesh.numberofvertices,1);
|
---|
| 3577 | md.transient.requested_outputs={'default','IceVolume','IceVolumeScaled','GroundedArea','GroundedAreaScaled','FloatingArea','FloatingAreaScaled','TotalSmb','TotalSmbScaled','TotalFloatingBmb','TotalFloatingBmbScaled'};
|
---|
| 3578 | -md=SetMLHOBC(md);
|
---|
| 3579 | +md=SetMOLHOBC(md);
|
---|
| 3580 | md=solve(md,'Transient');
|
---|
| 3581 |
|
---|
| 3582 | %Fields and tolerances to track changes
|
---|
| 3583 | Index: ../trunk-jpl/test/NightlyRun/test811.m
|
---|
| 3584 | ===================================================================
|
---|
| 3585 | --- ../trunk-jpl/test/NightlyRun/test811.m (revision 27030)
|
---|
| 3586 | +++ ../trunk-jpl/test/NightlyRun/test811.m (revision 27031)
|
---|
| 3587 | @@ -1,8 +1,8 @@
|
---|
| 3588 | -%Test Name: ValleyGlacierLevelsetCalvingMLHO2d
|
---|
| 3589 | +%Test Name: ValleyGlacierLevelsetCalvingMOLHO2d
|
---|
| 3590 | md=triangle(model(),'../Exp/Square.exp',50000);
|
---|
| 3591 | md=setmask(md,'','');
|
---|
| 3592 | md=parameterize(md,'../Par/ValleyGlacierShelf.par');
|
---|
| 3593 | -md=setflowequation(md,'MLHO','all');
|
---|
| 3594 | +md=setflowequation(md,'MOLHO','all');
|
---|
| 3595 | md.cluster=generic('name',oshostname(),'np',3);
|
---|
| 3596 |
|
---|
| 3597 | %Transient
|
---|
| 3598 | @@ -17,7 +17,7 @@
|
---|
| 3599 | md.frontalforcings.meltingrate=zeros(md.mesh.numberofvertices,1);
|
---|
| 3600 | md.levelset.migration_max = 1e10;
|
---|
| 3601 |
|
---|
| 3602 | -md=SetMLHOBC(md);
|
---|
| 3603 | +md=SetMOLHOBC(md);
|
---|
| 3604 | md=solve(md,'Transient');
|
---|
| 3605 |
|
---|
| 3606 | %Fields and tolerances to track changes
|
---|