Changeset 17700
- Timestamp:
- 04/09/14 17:49:39 (11 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 3 added
- 4 deleted
- 54 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/AdjointBalancethicknessAnalysis.cpp
r17686 r17700 55 55 element->FindParam(&domaintype,DomainTypeEnum); 56 56 switch(domaintype){ 57 case Mesh2DhorizontalEnum:57 case Domain2DhorizontalEnum: 58 58 basalelement = element; 59 59 break; 60 case Mesh3DEnum:60 case Domain3DEnum: 61 61 if(!element->IsOnBase()) return NULL; 62 62 basalelement = element->SpawnBasalElement(); … … 143 143 xDelete<IssmDouble>(basis); 144 144 xDelete<IssmDouble>(dbasis); 145 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};145 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 146 146 delete gauss; 147 147 return pe; … … 155 155 element->FindParam(&domaintype,DomainTypeEnum); 156 156 switch(domaintype){ 157 case Mesh2DhorizontalEnum:157 case Domain2DhorizontalEnum: 158 158 element->InputUpdateFromSolutionOneDof(solution,AdjointEnum); 159 159 break; 160 case Mesh3DEnum:160 case Domain3DEnum: 161 161 element->InputUpdateFromSolutionOneDofCollapsed(solution,AdjointEnum); 162 162 break; -
issm/trunk-jpl/src/c/analyses/AdjointHorizAnalysis.cpp
r17686 r17700 61 61 element->FindParam(&domaintype,DomainTypeEnum); 62 62 switch(domaintype){ 63 case Mesh2DhorizontalEnum:63 case Domain2DhorizontalEnum: 64 64 basalelement = element; 65 65 break; 66 case Mesh3DEnum:66 case Domain3DEnum: 67 67 if(!element->IsOnBase()) return NULL; 68 68 basalelement = element->SpawnBasalElement(); … … 87 87 delete analysis; 88 88 if(incomplete_adjoint){ 89 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};89 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 90 90 return Ke; 91 91 } … … 136 136 xDelete<IssmDouble>(dbasis); 137 137 xDelete<IssmDouble>(xyz_list); 138 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};138 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 139 139 return Ke; 140 140 }/*}}}*/ … … 304 304 305 305 /*Intermediaries */ 306 int num_responses,i,d omaintype,dim;306 int num_responses,i,dim; 307 307 IssmDouble Jdet,obs_velocity_mag,velocity_mag; 308 308 IssmDouble vx,vy,vxobs,vyobs,dux,duy,weight; … … 312 312 313 313 /*Get problem dimension*/ 314 element->FindParam(&domaintype,DomainTypeEnum); 315 switch(domaintype){ 316 case Mesh2DverticalEnum: dim = 2; break; 317 case Mesh3DEnum: dim = 3; break; 318 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 319 } 314 element->FindParam(&dim,DomainDimensionEnum); 320 315 321 316 /*Fetch number of nodes and dof for this finite element*/ … … 690 685 element->FindParam(&domaintype,DomainTypeEnum); 691 686 switch(domaintype){ 692 case Mesh2DhorizontalEnum:687 case Domain2DhorizontalEnum: 693 688 basalelement = element; 694 689 break; 695 case Mesh3DEnum:690 case Domain3DEnum: 696 691 if(!element->IsOnBase()) return NULL; 697 692 basalelement = element->SpawnBasalElement(); … … 875 870 xDelete<IssmDouble>(xyz_list); 876 871 xDelete<IssmDouble>(basis); 877 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};872 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 878 873 delete gauss; 879 874 return pe; -
issm/trunk-jpl/src/c/analyses/BalancethicknessAnalysis.cpp
r17686 r17700 44 44 iomodel->FetchDataToInput(elements,BalancethicknessThickeningRateEnum); 45 45 46 if(iomodel->domaintype== Mesh3DEnum){46 if(iomodel->domaintype==Domain3DEnum){ 47 47 iomodel->FetchDataToInput(elements,MeshElementonbaseEnum); 48 48 iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum); … … 55 55 56 56 /*Check in 3d*/ 57 if(stabilization==3 && iomodel->domaintype== Mesh3DEnum) _error_("DG 3d not implemented yet");57 if(stabilization==3 && iomodel->domaintype==Domain3DEnum) _error_("DG 3d not implemented yet"); 58 58 59 59 /*First fetch data: */ 60 if(iomodel->domaintype== Mesh3DEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum);60 if(iomodel->domaintype==Domain3DEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 61 61 if(stabilization!=3){ 62 62 ::CreateNodes(nodes,iomodel,BalancethicknessAnalysisEnum,P1Enum); … … 143 143 int domaintype; 144 144 element->FindParam(&domaintype,DomainTypeEnum); 145 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};145 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 146 146 return Ke; 147 147 }/*}}}*/ … … 171 171 Input* vxaverage_input=NULL; 172 172 Input* vyaverage_input=NULL; 173 if(domaintype== Mesh2DhorizontalEnum){173 if(domaintype==Domain2DhorizontalEnum){ 174 174 vxaverage_input=element->GetInput(VxEnum); _assert_(vxaverage_input); 175 175 vyaverage_input=element->GetInput(VyEnum); _assert_(vyaverage_input); … … 272 272 Input* vxaverage_input=NULL; 273 273 Input* vyaverage_input=NULL; 274 if(domaintype== Mesh2DhorizontalEnum){274 if(domaintype==Domain2DhorizontalEnum){ 275 275 vxaverage_input=element->GetInput(VxEnum); _assert_(vxaverage_input); 276 276 vyaverage_input=element->GetInput(VyEnum); _assert_(vyaverage_input); … … 335 335 int domaintype; 336 336 element->FindParam(&domaintype,DomainTypeEnum); 337 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};337 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 338 338 return pe; 339 339 }/*}}}*/ … … 483 483 element->FindParam(&domaintype,DomainTypeEnum); 484 484 switch(domaintype){ 485 case Mesh2DhorizontalEnum:485 case Domain2DhorizontalEnum: 486 486 element->InputUpdateFromSolutionOneDof(solution,ThicknessEnum); 487 487 break; 488 case Mesh3DEnum:488 case Domain3DEnum: 489 489 element->InputUpdateFromSolutionOneDofCollapsed(solution,ThicknessEnum); 490 490 break; -
issm/trunk-jpl/src/c/analyses/BalancevelocityAnalysis.cpp
r17686 r17700 33 33 iomodel->FetchDataToInput(elements,BalancethicknessThickeningRateEnum); 34 34 35 if(iomodel->domaintype== Mesh3DEnum){35 if(iomodel->domaintype==Domain3DEnum){ 36 36 iomodel->FetchDataToInput(elements,MeshElementonbaseEnum); 37 37 iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum); … … 41 41 42 42 /*Check in 3d*/ 43 if(iomodel->domaintype== Mesh3DEnum) _error_("DG 3d not implemented yet");43 if(iomodel->domaintype==Domain3DEnum) _error_("DG 3d not implemented yet"); 44 44 45 45 /*First fetch data: */ … … 154 154 element->FindParam(&domaintype,DomainTypeEnum); 155 155 switch(domaintype){ 156 case Mesh2DhorizontalEnum:156 case Domain2DhorizontalEnum: 157 157 basalelement = element; 158 158 break; 159 case Mesh3DEnum:159 case Domain3DEnum: 160 160 if(!element->IsOnBase()) return NULL; 161 161 basalelement = element->SpawnBasalElement(); … … 235 235 xDelete<IssmDouble>(Ny); 236 236 delete gauss; 237 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};237 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 238 238 return pe; 239 239 }/*}}}*/ … … 246 246 element->FindParam(&domaintype,DomainTypeEnum); 247 247 switch(domaintype){ 248 case Mesh2DhorizontalEnum:248 case Domain2DhorizontalEnum: 249 249 element->InputUpdateFromSolutionOneDof(solution,VelEnum); 250 250 break; 251 case Mesh3DEnum:251 case Domain3DEnum: 252 252 element->InputUpdateFromSolutionOneDofCollapsed(solution,VelEnum); 253 253 break; -
issm/trunk-jpl/src/c/analyses/DamageEvolutionAnalysis.cpp
r17686 r17700 60 60 iomodel->FetchDataToInput(elements,VxEnum); 61 61 iomodel->FetchDataToInput(elements,VyEnum); 62 if(iomodel->domaintype== Mesh3DEnum) iomodel->FetchDataToInput(elements,VzEnum);62 if(iomodel->domaintype==Domain3DEnum) iomodel->FetchDataToInput(elements,VzEnum); 63 63 iomodel->FetchDataToInput(elements,DamageDEnum); 64 64 iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum); … … 73 73 void DamageEvolutionAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 74 74 75 if(iomodel->domaintype!= Mesh2DhorizontalEnum) iomodel->FetchData(1,MeshVertexonbaseEnum);75 if(iomodel->domaintype!=Domain2DhorizontalEnum) iomodel->FetchData(1,MeshVertexonbaseEnum); 76 76 ::CreateNodes(nodes,iomodel,DamageEvolutionAnalysisEnum,P1Enum); 77 77 iomodel->DeleteData(1,MeshVertexonbaseEnum); … … 118 118 element->FindParam(&domaintype,DomainTypeEnum); 119 119 switch(domaintype){ 120 case Mesh2DhorizontalEnum:120 case Domain2DhorizontalEnum: 121 121 basalelement = element; 122 122 dim = 2; 123 123 break; 124 case Mesh3DEnum:124 case Domain3DEnum: 125 125 if(!element->IsOnBase()) return NULL; 126 126 basalelement = element->SpawnBasalElement(); … … 146 146 Input* vxaverage_input=NULL; 147 147 Input* vyaverage_input=NULL; 148 if(domaintype== Mesh2DhorizontalEnum){148 if(domaintype==Domain2DhorizontalEnum){ 149 149 vxaverage_input=basalelement->GetInput(VxEnum); _assert_(vxaverage_input); 150 150 vyaverage_input=basalelement->GetInput(VyEnum); _assert_(vyaverage_input); … … 249 249 xDelete<IssmDouble>(D); 250 250 delete gauss; 251 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};251 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 252 252 return Ke; 253 253 }/*}}}*/ … … 267 267 element->FindParam(&domaintype,DomainTypeEnum); 268 268 switch(domaintype){ 269 case Mesh2DhorizontalEnum:269 case Domain2DhorizontalEnum: 270 270 basalelement = element; 271 271 break; 272 case Mesh3DEnum:272 case Domain3DEnum: 273 273 if(!element->IsOnBase()) return NULL; 274 274 basalelement = element->SpawnBasalElement(); … … 311 311 xDelete<IssmDouble>(xyz_list); 312 312 xDelete<IssmDouble>(basis); 313 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};313 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 314 314 delete gauss; 315 315 return pe; … … 383 383 384 384 element->FindParam(&domaintype,DomainTypeEnum); 385 if(domaintype!= Mesh2DhorizontalEnum){385 if(domaintype!=Domain2DhorizontalEnum){ 386 386 if(!element->IsOnBase()) return; 387 387 basalelement=element->SpawnBasalElement(); … … 416 416 xDelete<IssmDouble>(newdamage); 417 417 xDelete<int>(doflist); 418 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};418 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 419 419 }/*}}}*/ 420 420 void DamageEvolutionAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/ -
issm/trunk-jpl/src/c/analyses/DepthAverageAnalysis.cpp
r17692 r17700 22 22 } 23 23 24 if(iomodel->domaintype== Mesh2DverticalEnum){24 if(iomodel->domaintype==Domain2DverticalEnum){ 25 25 iomodel->FetchDataToInput(elements,MeshVertexonbaseEnum); 26 26 } … … 50 50 51 51 /*Intermediaries */ 52 int dim; 52 53 IssmDouble Jdet,D,dt=1.e+9; 53 54 IssmDouble *xyz_list = NULL; 54 55 55 56 /*Get dimension*/ 56 int dim,domaintype; 57 element->FindParam(&domaintype,DomainTypeEnum); 58 switch(domaintype){ 59 case Mesh2DverticalEnum: dim = 2; break; 60 case Mesh3DEnum: dim = 3; break; 61 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 62 } 57 element->FindParam(&dim,DomainDimensionEnum); 63 58 64 59 /*Fetch number of nodes and dof for this finite element*/ -
issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp
r17686 r17700 29 29 30 30 /*Now, is the model 3d? otherwise, do nothing: */ 31 if(iomodel->domaintype== Mesh2DhorizontalEnum)return;31 if(iomodel->domaintype==Domain2DhorizontalEnum)return; 32 32 33 33 /*Is enthalpy requested?*/ … … 94 94 void EnthalpyAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 95 95 96 if(iomodel->domaintype== Mesh3DEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum);96 if(iomodel->domaintype==Domain3DEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 97 97 ::CreateNodes(nodes,iomodel,EnthalpyAnalysisEnum,P1Enum); 98 98 iomodel->DeleteData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); … … 117 117 118 118 /*return if 2d mesh*/ 119 if(iomodel->domaintype== Mesh2DhorizontalEnum) return;119 if(iomodel->domaintype==Domain2DhorizontalEnum) return; 120 120 121 121 /*Fetch data: */ -
issm/trunk-jpl/src/c/analyses/ExtrapolationAnalysis.cpp
r17686 r17700 30 30 } 31 31 } 32 if(iomodel->domaintype== Mesh3DEnum){32 if(iomodel->domaintype==Domain3DEnum){ 33 33 iomodel->FetchDataToInput(elements,MeshElementonbaseEnum); 34 34 iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum); … … 38 38 void ExtrapolationAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 39 39 int finiteelement=P1Enum; 40 if(iomodel->domaintype!= Mesh2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum);40 if(iomodel->domaintype!=Domain2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 41 41 ::CreateNodes(nodes,iomodel,ExtrapolationAnalysisEnum,finiteelement); 42 42 iomodel->DeleteData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); … … 99 99 basalelement->FindParam(&domaintype,DomainTypeEnum); 100 100 switch(domaintype){ 101 case Mesh2DverticalEnum: dim = 1; break;102 case Mesh2DhorizontalEnum: dim = 2; break;103 case Mesh3DEnum: dim = 2; break;101 case Domain2DverticalEnum: dim = 1; break; 102 case Domain2DhorizontalEnum: dim = 2; break; 103 case Domain3DEnum: dim = 2; break; 104 104 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 105 105 } … … 213 213 xDelete<IssmDouble>(normal); 214 214 delete gauss; 215 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};215 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 216 216 return Ke; 217 217 … … 234 234 235 235 basalelement->FindParam(&domaintype,DomainTypeEnum); 236 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};236 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 237 237 return pe; 238 238 }/*}}}*/ … … 246 246 element->FindParam(&extrapolationvariable, ExtrapolationVariableEnum); 247 247 switch(domaintype){ 248 case Mesh2DhorizontalEnum:248 case Domain2DhorizontalEnum: 249 249 element->InputUpdateFromSolutionOneDof(solution,extrapolationvariable); 250 250 break; 251 case Mesh3DEnum:251 case Domain3DEnum: 252 252 element->InputUpdateFromSolutionOneDofCollapsed(solution,extrapolationvariable); 253 253 break; -
issm/trunk-jpl/src/c/analyses/ExtrudeFromBaseAnalysis.cpp
r17686 r17700 22 22 } 23 23 24 if(iomodel->domaintype== Mesh2DverticalEnum){24 if(iomodel->domaintype==Domain2DverticalEnum){ 25 25 iomodel->FetchDataToInput(elements,MeshVertexonbaseEnum); 26 26 } … … 68 68 69 69 /*Get dimension*/ 70 int dim,domaintype; 71 element->FindParam(&domaintype,DomainTypeEnum); 72 switch(domaintype){ 73 case Mesh2DverticalEnum: dim = 2; break; 74 case Mesh3DEnum: dim = 3; break; 75 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 76 } 70 int dim; 71 element->FindParam(&dim,DomainDimensionEnum); 77 72 78 73 /*Fetch number of nodes and dof for this finite element*/ … … 116 111 117 112 /*Intermediaries */ 113 int dim; 118 114 IssmDouble Jdet,D,normal[3]; 119 115 IssmDouble *xyz_list_top = NULL; 120 116 121 117 /*Get dimension*/ 122 int dim,domaintype; 123 element->FindParam(&domaintype,DomainTypeEnum); 124 switch(domaintype){ 125 case Mesh2DverticalEnum: dim = 2; break; 126 case Mesh3DEnum: dim = 3; break; 127 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 128 } 118 element->FindParam(&dim,DomainDimensionEnum); 129 119 130 120 /*Fetch number of nodes and dof for this finite element*/ … … 166 156 167 157 /*Intermediaries */ 158 int dim; 168 159 IssmDouble Jdet,D,normal[3]; 169 160 IssmDouble *xyz_list_base = NULL; 170 161 171 162 /*Get dimension*/ 172 int dim,domaintype; 173 element->FindParam(&domaintype,DomainTypeEnum); 174 switch(domaintype){ 175 case Mesh2DverticalEnum: dim = 2; break; 176 case Mesh3DEnum: dim = 3; break; 177 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 178 } 163 element->FindParam(&dim,DomainDimensionEnum); 179 164 180 165 /*Fetch number of nodes and dof for this finite element*/ -
issm/trunk-jpl/src/c/analyses/ExtrudeFromTopAnalysis.cpp
r17686 r17700 22 22 } 23 23 24 if(iomodel->domaintype== Mesh2DverticalEnum){24 if(iomodel->domaintype==Domain2DverticalEnum){ 25 25 iomodel->FetchDataToInput(elements,MeshVertexonbaseEnum); 26 26 } … … 64 64 65 65 /*Intermediaries */ 66 int d omaintype,dim;66 int dim; 67 67 IssmDouble Jdet,D; 68 68 IssmDouble *xyz_list = NULL; 69 69 70 70 /*Get dimension*/ 71 element->FindParam(&domaintype,DomainTypeEnum); 72 switch(domaintype){ 73 case Mesh2DverticalEnum: dim = 2; break; 74 case Mesh3DEnum: dim = 3; break; 75 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 76 } 71 element->FindParam(&dim,DomainDimensionEnum); 77 72 78 73 /*Fetch number of nodes and dof for this finite element*/ … … 116 111 117 112 /*Intermediaries */ 113 int dim; 118 114 IssmDouble Jdet,D,normal[2]; 119 115 IssmDouble *xyz_list_top = NULL; 120 116 121 117 /*Get dimension*/ 122 int dim,domaintype; 123 element->FindParam(&domaintype,DomainTypeEnum); 124 switch(domaintype){ 125 case Mesh2DverticalEnum: dim = 2; break; 126 case Mesh3DEnum: dim = 3; break; 127 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 128 } 118 element->FindParam(&dim,DomainDimensionEnum); 129 119 130 120 /*Fetch number of nodes and dof for this finite element*/ … … 166 156 167 157 /*Intermediaries */ 158 int dim; 168 159 IssmDouble Jdet,D,normal[3]; 169 160 IssmDouble *xyz_list_base = NULL; 170 161 171 162 /*Get dimension*/ 172 int dim,domaintype; 173 element->FindParam(&domaintype,DomainTypeEnum); 174 switch(domaintype){ 175 case Mesh2DverticalEnum: dim = 2; break; 176 case Mesh3DEnum: dim = 3; break; 177 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 178 } 163 element->FindParam(&dim,DomainDimensionEnum); 179 164 180 165 /*Fetch number of nodes and dof for this finite element*/ -
issm/trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.cpp
r17686 r17700 14 14 15 15 /*Now, is the model 3d? otherwise, do nothing: */ 16 if (iomodel->domaintype== Mesh2DhorizontalEnum)return;16 if (iomodel->domaintype==Domain2DhorizontalEnum)return; 17 17 18 18 /*Finite element type*/ … … 35 35 iomodel->FetchDataToInput(elements,VxEnum); 36 36 iomodel->FetchDataToInput(elements,VyEnum); 37 if(iomodel->domaintype== Mesh3DEnum){37 if(iomodel->domaintype==Domain3DEnum){ 38 38 iomodel->FetchDataToInput(elements,VzEnum); 39 39 iomodel->FetchDataToInput(elements,MeshElementonbaseEnum); … … 43 43 void FreeSurfaceBaseAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 44 44 45 if(iomodel->domaintype!= Mesh2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum);45 if(iomodel->domaintype!=Domain2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 46 46 ::CreateNodes(nodes,iomodel,FreeSurfaceBaseAnalysisEnum,P1Enum); 47 47 iomodel->DeleteData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); … … 60 60 IssmDouble *nodeonbase=NULL; 61 61 iomodel->FetchData(&vertex_pairing,&numvertex_pairing,NULL,MasstransportVertexPairingEnum); 62 if(iomodel->domaintype!= Mesh2DhorizontalEnum) iomodel->FetchData(&nodeonbase,NULL,NULL,MeshVertexonbaseEnum);62 if(iomodel->domaintype!=Domain2DhorizontalEnum) iomodel->FetchData(&nodeonbase,NULL,NULL,MeshVertexonbaseEnum); 63 63 for(int i=0;i<numvertex_pairing;i++){ 64 64 … … 69 69 70 70 /*Skip if one of the two is not on the bed*/ 71 if(iomodel->domaintype!= Mesh2DhorizontalEnum){71 if(iomodel->domaintype!=Domain2DhorizontalEnum){ 72 72 if(!(reCast<bool>(nodeonbase[reCast<int>(vertex_pairing[2*i+0])-1])) || !(reCast<bool>(nodeonbase[reCast<int>(vertex_pairing[2*i+1])-1]))) continue; 73 73 } … … 114 114 element->FindParam(&domaintype,DomainTypeEnum); 115 115 switch(domaintype){ 116 case Mesh2DhorizontalEnum:116 case Domain2DhorizontalEnum: 117 117 basalelement = element; 118 118 dim = 2; 119 119 break; 120 case Mesh2DverticalEnum:120 case Domain2DverticalEnum: 121 121 if(!element->IsOnBase()) return NULL; 122 122 basalelement = element->SpawnBasalElement(); 123 123 dim = 1; 124 124 break; 125 case Mesh3DEnum:125 case Domain3DEnum: 126 126 if(!element->IsOnBase()) return NULL; 127 127 basalelement = element->SpawnBasalElement(); … … 223 223 xDelete<IssmDouble>(D); 224 224 delete gauss; 225 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};225 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 226 226 return Ke; 227 227 }/*}}}*/ … … 237 237 element->FindParam(&domaintype,DomainTypeEnum); 238 238 switch(domaintype){ 239 case Mesh2DhorizontalEnum:239 case Domain2DhorizontalEnum: 240 240 basalelement = element; 241 241 dim = 2; 242 242 break; 243 case Mesh2DverticalEnum:243 case Domain2DverticalEnum: 244 244 if(!element->IsOnBase()) return NULL; 245 245 basalelement = element->SpawnBasalElement(); 246 246 dim = 1; 247 247 break; 248 case Mesh3DEnum:248 case Domain3DEnum: 249 249 if(!element->IsOnBase()) return NULL; 250 250 basalelement = element->SpawnBasalElement(); … … 298 298 xDelete<IssmDouble>(basis); 299 299 delete gauss; 300 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};300 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 301 301 return pe; 302 302 -
issm/trunk-jpl/src/c/analyses/FreeSurfaceTopAnalysis.cpp
r17686 r17700 14 14 15 15 /*Now, is the model 3d? otherwise, do nothing: */ 16 if (iomodel->domaintype== Mesh2DhorizontalEnum)return;16 if (iomodel->domaintype==Domain2DhorizontalEnum)return; 17 17 18 18 int smb_model; … … 35 35 iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum); 36 36 iomodel->FetchDataToInput(elements,VxEnum); 37 if(iomodel->domaintype!= Mesh2DhorizontalEnum) iomodel->FetchDataToInput(elements,MeshVertexonsurfaceEnum);38 if(iomodel->domaintype== Mesh3DEnum){37 if(iomodel->domaintype!=Domain2DhorizontalEnum) iomodel->FetchDataToInput(elements,MeshVertexonsurfaceEnum); 38 if(iomodel->domaintype==Domain3DEnum){ 39 39 iomodel->FetchDataToInput(elements,VzEnum); 40 40 iomodel->FetchDataToInput(elements,MeshElementonbaseEnum); … … 52 52 void FreeSurfaceTopAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 53 53 54 if(iomodel->domaintype!= Mesh2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum);54 if(iomodel->domaintype!=Domain2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 55 55 ::CreateNodes(nodes,iomodel,FreeSurfaceTopAnalysisEnum,P1Enum); 56 56 iomodel->DeleteData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); … … 69 69 IssmDouble *nodeonsurface=NULL; 70 70 iomodel->FetchData(&vertex_pairing,&numvertex_pairing,NULL,MasstransportVertexPairingEnum); 71 if(iomodel->domaintype!= Mesh2DhorizontalEnum) iomodel->FetchData(&nodeonsurface,NULL,NULL,MeshVertexonsurfaceEnum);71 if(iomodel->domaintype!=Domain2DhorizontalEnum) iomodel->FetchData(&nodeonsurface,NULL,NULL,MeshVertexonsurfaceEnum); 72 72 for(int i=0;i<numvertex_pairing;i++){ 73 73 … … 78 78 79 79 /*Skip if one of the two is not on the bed*/ 80 if(iomodel->domaintype!= Mesh2DhorizontalEnum){80 if(iomodel->domaintype!=Domain2DhorizontalEnum){ 81 81 if(!(reCast<bool>(nodeonsurface[reCast<int>(vertex_pairing[2*i+0])-1])) || !(reCast<bool>(nodeonsurface[reCast<int>(vertex_pairing[2*i+1])-1]))) continue; 82 82 } … … 123 123 element->FindParam(&domaintype,DomainTypeEnum); 124 124 switch(domaintype){ 125 case Mesh2DhorizontalEnum:125 case Domain2DhorizontalEnum: 126 126 topelement = element; 127 127 dim = 2; 128 128 break; 129 case Mesh2DverticalEnum:129 case Domain2DverticalEnum: 130 130 if(!element->IsOnSurface()) return NULL; 131 131 topelement = element->SpawnTopElement(); 132 132 dim = 1; 133 133 break; 134 case Mesh3DEnum:134 case Domain3DEnum: 135 135 if(!element->IsOnSurface()) return NULL; 136 136 topelement = element->SpawnTopElement(); … … 232 232 xDelete<IssmDouble>(D); 233 233 delete gauss; 234 if(domaintype!= Mesh2DhorizontalEnum){topelement->DeleteMaterials(); delete topelement;};234 if(domaintype!=Domain2DhorizontalEnum){topelement->DeleteMaterials(); delete topelement;}; 235 235 return Ke; 236 236 }/*}}}*/ … … 246 246 element->FindParam(&domaintype,DomainTypeEnum); 247 247 switch(domaintype){ 248 case Mesh2DhorizontalEnum:248 case Domain2DhorizontalEnum: 249 249 topelement = element; 250 250 dim = 2; 251 251 break; 252 case Mesh2DverticalEnum:252 case Domain2DverticalEnum: 253 253 if(!element->IsOnSurface()) return NULL; 254 254 topelement = element->SpawnTopElement(); 255 255 dim = 1; 256 256 break; 257 case Mesh3DEnum:257 case Domain3DEnum: 258 258 if(!element->IsOnSurface()) return NULL; 259 259 topelement = element->SpawnTopElement(); … … 302 302 xDelete<IssmDouble>(basis); 303 303 delete gauss; 304 if(domaintype!= Mesh2DhorizontalEnum){topelement->DeleteMaterials(); delete topelement;};304 if(domaintype!=Domain2DhorizontalEnum){topelement->DeleteMaterials(); delete topelement;}; 305 305 return pe; 306 306 -
issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp
r17686 r17700 56 56 iomodel->FetchDataToInput(elements,HydrologydcSedimentTransmitivityEnum); 57 57 iomodel->FetchDataToInput(elements,HydrologydcEplThicknessEnum); 58 if(iomodel->domaintype== Mesh3DEnum) iomodel->FetchDataToInput(elements,MeshElementonbaseEnum);58 if(iomodel->domaintype==Domain3DEnum) iomodel->FetchDataToInput(elements,MeshElementonbaseEnum); 59 59 60 60 // elements->InputDuplicate(HydrologydcEplInitialThicknessEnum,HydrologydcEplThicknessEnum); … … 73 73 if(!isefficientlayer) return; 74 74 75 if(iomodel->domaintype!= Mesh2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum);75 if(iomodel->domaintype!=Domain2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 76 76 ::CreateNodes(nodes,iomodel,HydrologyDCEfficientAnalysisEnum,P1Enum); 77 77 iomodel->DeleteData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); … … 117 117 element->FindParam(&domaintype,DomainTypeEnum); 118 118 switch(domaintype){ 119 case Mesh2DhorizontalEnum:119 case Domain2DhorizontalEnum: 120 120 basalelement = element; 121 121 break; 122 case Mesh3DEnum:122 case Domain3DEnum: 123 123 if(!element->IsOnBase()) return NULL; 124 124 basalelement = element->SpawnBasalElement(); … … 132 132 /*Check that all nodes are active, else return empty matrix*/ 133 133 if(!active_element) { 134 if(domaintype!= Mesh2DhorizontalEnum){134 if(domaintype!=Domain2DhorizontalEnum){ 135 135 basalelement->DeleteMaterials(); 136 136 delete basalelement; … … 207 207 xDelete<IssmDouble>(B); 208 208 delete gauss; 209 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};209 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 210 210 return Ke; 211 211 … … 221 221 element->FindParam(&domaintype,DomainTypeEnum); 222 222 switch(domaintype){ 223 case Mesh2DhorizontalEnum:223 case Domain2DhorizontalEnum: 224 224 basalelement = element; 225 225 break; 226 case Mesh3DEnum:226 case Domain3DEnum: 227 227 if(!element->IsOnBase()) return NULL; 228 228 basalelement = element->SpawnBasalElement(); … … 236 236 /*Check that all nodes are active, else return empty matrix*/ 237 237 if(!active_element) { 238 if(domaintype!= Mesh2DhorizontalEnum){238 if(domaintype!=Domain2DhorizontalEnum){ 239 239 basalelement->DeleteMaterials(); 240 240 delete basalelement; … … 309 309 xDelete<IssmDouble>(basis); 310 310 delete gauss; 311 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};311 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 312 312 return pe; 313 313 }/*}}}*/ … … 322 322 element->FindParam(&domaintype,DomainTypeEnum); 323 323 324 if(domaintype!= Mesh2DhorizontalEnum){324 if(domaintype!=Domain2DhorizontalEnum){ 325 325 if(!element->IsOnBase()) return; 326 326 basalelement=element->SpawnBasalElement(); … … 351 351 xDelete<IssmDouble>(eplHeads); 352 352 xDelete<int>(doflist); 353 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};353 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 354 354 } /*}}}*/ 355 355 void HydrologyDCEfficientAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/ … … 493 493 494 494 switch(domaintype){ 495 case Mesh2DhorizontalEnum:495 case Domain2DhorizontalEnum: 496 496 if(!element->IsOnBase()) return; 497 497 B = element->GetMaterialParameter(MaterialsRheologyBbarEnum); 498 498 break; 499 case Mesh3DEnum:499 case Domain3DEnum: 500 500 B = element->GetMaterialParameter(MaterialsRheologyBEnum); 501 501 break; … … 610 610 element->FindParam(&domaintype,DomainTypeEnum); 611 611 switch(domaintype){ 612 case Mesh2DhorizontalEnum:612 case Domain2DhorizontalEnum: 613 613 basalelement = element; 614 614 break; 615 case Mesh3DEnum:615 case Domain3DEnum: 616 616 if(!element->IsOnBase()) return; 617 617 basalelement = element->SpawnBasalElement(); … … 673 673 } 674 674 } 675 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};675 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 676 676 xDelete<IssmDouble>(epl_thickness); 677 677 xDelete<IssmDouble>(old_active); … … 690 690 element->FindParam(&domaintype,DomainTypeEnum); 691 691 switch(domaintype){ 692 case Mesh2DhorizontalEnum:692 case Domain2DhorizontalEnum: 693 693 basalelement = element; 694 694 break; 695 case Mesh3DEnum:695 case Domain3DEnum: 696 696 if(!element->IsOnBase()) return; 697 697 basalelement = element->SpawnBasalElement(); … … 716 716 /*Do not do anything: at least one node is active for this element but this element is not solved for*/ 717 717 } 718 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};718 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 719 719 xDelete<IssmDouble>(active); 720 720 } -
issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp
r17686 r17700 88 88 iomodel->FetchDataToInput(elements,SedimentHeadEnum); 89 89 iomodel->FetchDataToInput(elements,HydrologydcSedimentTransmitivityEnum); 90 if(iomodel->domaintype== Mesh3DEnum) iomodel->FetchDataToInput(elements,MeshElementonbaseEnum);90 if(iomodel->domaintype==Domain3DEnum) iomodel->FetchDataToInput(elements,MeshElementonbaseEnum); 91 91 92 92 if(isefficientlayer)iomodel->FetchDataToInput(elements,HydrologydcMaskEplactiveNodeEnum); … … 101 101 if(hydrology_model!=HydrologydcEnum) return; 102 102 103 if(iomodel->domaintype!= Mesh2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum);103 if(iomodel->domaintype!=Domain2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 104 104 ::CreateNodes(nodes,iomodel,HydrologyDCInefficientAnalysisEnum,P1Enum); 105 105 iomodel->DeleteData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); … … 121 121 if(hydrology_model!=HydrologydcEnum) return; 122 122 123 if(iomodel->domaintype== Mesh3DEnum) iomodel->FetchData(1,MeshVertexonbaseEnum);123 if(iomodel->domaintype==Domain3DEnum) iomodel->FetchData(1,MeshVertexonbaseEnum); 124 124 125 125 //create penalties for nodes: no node can have water above the max 126 126 CreateSingleNodeToElementConnectivity(iomodel); 127 127 for(int i=0;i<iomodel->numberofvertices;i++){ 128 if (iomodel->domaintype!= Mesh3DEnum){128 if (iomodel->domaintype!=Domain3DEnum){ 129 129 /*keep only this partition's nodes:*/ 130 130 if(iomodel->my_vertices[i]){ … … 161 161 element->FindParam(&domaintype,DomainTypeEnum); 162 162 switch(domaintype){ 163 case Mesh2DhorizontalEnum:163 case Domain2DhorizontalEnum: 164 164 basalelement = element; 165 165 break; 166 case Mesh3DEnum:166 case Domain3DEnum: 167 167 if(!element->IsOnBase()) return NULL; 168 168 basalelement = element->SpawnBasalElement(); … … 254 254 xDelete<IssmDouble>(basis); 255 255 delete gauss; 256 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};256 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 257 257 return Ke; 258 258 }/*}}}*/ … … 266 266 element->FindParam(&domaintype,DomainTypeEnum); 267 267 switch(domaintype){ 268 case Mesh2DhorizontalEnum:268 case Domain2DhorizontalEnum: 269 269 basalelement = element; 270 270 break; 271 case Mesh3DEnum:271 case Domain3DEnum: 272 272 if(!element->IsOnBase()) return NULL; 273 273 basalelement = element->SpawnBasalElement(); … … 357 357 xDelete<IssmDouble>(basis); 358 358 delete gauss; 359 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};359 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 360 360 return pe; 361 361 }/*}}}*/ … … 398 398 399 399 element->FindParam(&domaintype,DomainTypeEnum); 400 if(domaintype!= Mesh2DhorizontalEnum){400 if(domaintype!=Domain2DhorizontalEnum){ 401 401 if(!element->IsOnBase()) return; 402 402 basalelement=element->SpawnBasalElement(); … … 446 446 xDelete<IssmDouble>(residual); 447 447 xDelete<int>(doflist); 448 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};448 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 449 449 }/*}}}*/ 450 450 void HydrologyDCInefficientAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/ -
issm/trunk-jpl/src/c/analyses/HydrologyShreveAnalysis.cpp
r17686 r17700 62 62 if(hydrology_model!=HydrologyshreveEnum) return; 63 63 64 if(iomodel->domaintype== Mesh3DEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum);64 if(iomodel->domaintype==Domain3DEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 65 65 ::CreateNodes(nodes,iomodel,HydrologyShreveAnalysisEnum,P1Enum); 66 66 iomodel->DeleteData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); -
issm/trunk-jpl/src/c/analyses/L2ProjectionBaseAnalysis.cpp
r17693 r17700 26 26 iomodel->FetchDataToInput(elements,BaseEnum); 27 27 iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum); 28 if(iomodel->domaintype== Mesh3DEnum){28 if(iomodel->domaintype==Domain3DEnum){ 29 29 if(iomodel->meshelementtype==PentaEnum){ 30 30 iomodel->FetchDataToInput(elements,MeshElementonbaseEnum); … … 33 33 iomodel->FetchDataToInput(elements,MeshVertexonbaseEnum); 34 34 } 35 if(iomodel->domaintype== Mesh2DverticalEnum){35 if(iomodel->domaintype==Domain2DverticalEnum){ 36 36 iomodel->FetchDataToInput(elements,MeshVertexonbaseEnum); 37 37 } … … 39 39 void L2ProjectionBaseAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 40 40 41 if(iomodel->domaintype== Mesh3DEnum){41 if(iomodel->domaintype==Domain3DEnum){ 42 42 iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 43 43 } 44 else if(iomodel->domaintype== Mesh2DverticalEnum){44 else if(iomodel->domaintype==Domain2DverticalEnum){ 45 45 iomodel->FetchData(1,MeshVertexonbaseEnum); 46 46 } … … 77 77 element->FindParam(&domaintype,DomainTypeEnum); 78 78 switch(domaintype){ 79 case Mesh2DhorizontalEnum:79 case Domain2DhorizontalEnum: 80 80 basalelement = element; 81 81 break; 82 case Mesh2DverticalEnum:83 if(!element->IsOnBase()) return NULL; 84 basalelement = element->SpawnBasalElement(); 85 break; 86 case Mesh3DEnum:82 case Domain2DverticalEnum: 83 if(!element->IsOnBase()) return NULL; 84 basalelement = element->SpawnBasalElement(); 85 break; 86 case Domain3DEnum: 87 87 if(!element->IsOnBase()) return NULL; 88 88 basalelement = element->SpawnBasalElement(); … … 124 124 xDelete<IssmDouble>(basis); 125 125 delete gauss; 126 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};126 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 127 127 return Ke; 128 128 }/*}}}*/ … … 136 136 element->FindParam(&domaintype,DomainTypeEnum); 137 137 switch(domaintype){ 138 case Mesh2DhorizontalEnum:138 case Domain2DhorizontalEnum: 139 139 basalelement = element; 140 140 break; 141 case Mesh2DverticalEnum:142 if(!element->IsOnBase()) return NULL; 143 basalelement = element->SpawnBasalElement(); 144 break; 145 case Mesh3DEnum:141 case Domain2DverticalEnum: 142 if(!element->IsOnBase()) return NULL; 143 basalelement = element->SpawnBasalElement(); 144 break; 145 case Domain3DEnum: 146 146 if(!element->IsOnBase()) return NULL; 147 147 basalelement = element->SpawnBasalElement(); … … 199 199 xDelete<IssmDouble>(basis); 200 200 delete gauss; 201 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};201 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 202 202 return pe; 203 203 }/*}}}*/ … … 213 213 element->FindParam(&elementtype,MeshElementtypeEnum); 214 214 switch(domaintype){ 215 case Mesh2DhorizontalEnum:215 case Domain2DhorizontalEnum: 216 216 element->InputUpdateFromSolutionOneDof(solution,inputenum); 217 217 break; 218 case Mesh2DverticalEnum:218 case Domain2DverticalEnum: 219 219 element->InputUpdateFromSolutionOneDof(solution,inputenum); 220 220 break; 221 case Mesh3DEnum:221 case Domain3DEnum: 222 222 if(elementtype==TetraEnum) 223 223 element->InputUpdateFromSolutionOneDof(solution,inputenum); -
issm/trunk-jpl/src/c/analyses/L2ProjectionEPLAnalysis.cpp
r17686 r17700 36 36 iomodel->FetchDataToInput(elements,EplHeadEnum); 37 37 iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum); 38 if(iomodel->domaintype== Mesh3DEnum){38 if(iomodel->domaintype==Domain3DEnum){ 39 39 iomodel->FetchDataToInput(elements,MeshElementonbaseEnum); 40 40 } … … 51 51 if(!isefficientlayer) return; 52 52 53 if(iomodel->domaintype== Mesh3DEnum){53 if(iomodel->domaintype==Domain3DEnum){ 54 54 iomodel->FetchData(1,MeshVertexonbaseEnum); 55 55 } 56 else if(iomodel->domaintype== Mesh2DverticalEnum){56 else if(iomodel->domaintype==Domain2DverticalEnum){ 57 57 iomodel->FetchData(1,MeshVertexonbaseEnum); 58 58 } … … 90 90 element->FindParam(&domaintype,DomainTypeEnum); 91 91 switch(domaintype){ 92 case Mesh2DhorizontalEnum:92 case Domain2DhorizontalEnum: 93 93 basalelement = element; 94 94 break; 95 case Mesh2DverticalEnum:95 case Domain2DverticalEnum: 96 96 if(!element->IsOnBase()) return NULL; 97 97 basalelement = element->SpawnBasalElement(); 98 98 break; 99 case Mesh3DEnum:99 case Domain3DEnum: 100 100 if(!element->IsOnBase()) return NULL; 101 101 basalelement = element->SpawnBasalElement(); … … 109 109 /* Check that all nodes are active, else return empty matrix */ 110 110 if(!active_element){ 111 if(domaintype!= Mesh2DhorizontalEnum){111 if(domaintype!=Domain2DhorizontalEnum){ 112 112 basalelement->DeleteMaterials(); 113 113 delete basalelement; … … 149 149 xDelete<IssmDouble>(basis); 150 150 delete gauss; 151 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};151 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 152 152 return Ke; 153 153 }/*}}}*/ … … 162 162 element->FindParam(&domaintype,DomainTypeEnum); 163 163 switch(domaintype){ 164 case Mesh2DhorizontalEnum:164 case Domain2DhorizontalEnum: 165 165 basalelement = element; 166 166 break; 167 case Mesh3DEnum:167 case Domain3DEnum: 168 168 if(!element->IsOnBase()) return NULL; 169 169 basalelement = element->SpawnBasalElement(); … … 177 177 /*Check that all nodes are active, else return empty matrix*/ 178 178 if(!active_element) { 179 if(domaintype!= Mesh2DhorizontalEnum){179 if(domaintype!=Domain2DhorizontalEnum){ 180 180 basalelement->DeleteMaterials(); 181 181 delete basalelement; … … 222 222 xDelete<IssmDouble>(basis); 223 223 delete gauss; 224 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};224 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 225 225 return pe; 226 226 }/*}}}*/ … … 234 234 element->FindParam(&domaintype,DomainTypeEnum); 235 235 switch(domaintype){ 236 case Mesh2DhorizontalEnum:236 case Domain2DhorizontalEnum: 237 237 element->InputUpdateFromSolutionOneDof(solution,inputenum); 238 238 break; 239 case Mesh2DverticalEnum:239 case Domain2DverticalEnum: 240 240 element->InputUpdateFromSolutionOneDof(solution,inputenum); 241 241 break; 242 case Mesh3DEnum:242 case Domain3DEnum: 243 243 element->InputUpdateFromSolutionOneDofCollapsed(solution,inputenum); 244 244 break; -
issm/trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp
r17686 r17700 43 43 void LevelsetAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 44 44 int finiteelement=P1Enum; 45 if(iomodel->domaintype!= Mesh2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum);45 if(iomodel->domaintype!=Domain2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 46 46 ::CreateNodes(nodes,iomodel,LevelsetAnalysisEnum,finiteelement); 47 47 iomodel->DeleteData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); … … 105 105 basalelement->FindParam(&domaintype,DomainTypeEnum); 106 106 switch(domaintype){ 107 case Mesh2DverticalEnum: dim = 1; break;108 case Mesh2DhorizontalEnum: dim = 2; break;109 case Mesh3DEnum: dim = 2; break;107 case Domain2DverticalEnum: dim = 1; break; 108 case Domain2DhorizontalEnum: dim = 2; break; 109 case Domain3DEnum: dim = 2; break; 110 110 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 111 111 } … … 130 130 Input* vx_input=NULL; 131 131 Input* vy_input=NULL; 132 if(domaintype== Mesh2DhorizontalEnum){132 if(domaintype==Domain2DhorizontalEnum){ 133 133 vx_input=basalelement->GetInput(VxEnum); _assert_(vx_input); 134 134 vy_input=basalelement->GetInput(VyEnum); _assert_(vy_input); … … 253 253 xDelete<IssmDouble>(dlsf); 254 254 delete gauss; 255 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};255 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 256 256 return Ke; 257 257 }/*}}}*/ … … 299 299 xDelete<IssmDouble>(basis); 300 300 basalelement->FindParam(&domaintype,DomainTypeEnum); 301 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};301 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 302 302 delete gauss; 303 303 } … … 313 313 element->FindParam(&domaintype,DomainTypeEnum); 314 314 switch(domaintype){ 315 case Mesh2DhorizontalEnum:315 case Domain2DhorizontalEnum: 316 316 element->InputUpdateFromSolutionOneDof(solution,MaskIceLevelsetEnum); 317 317 break; 318 case Mesh3DEnum:318 case Domain3DEnum: 319 319 element->InputUpdateFromSolutionOneDofCollapsed(solution,MaskIceLevelsetEnum); 320 320 break; -
issm/trunk-jpl/src/c/analyses/LsfReinitializationAnalysis.cpp
r17692 r17700 36 36 void LsfReinitializationAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 37 37 int finiteelement=P1Enum; 38 if(iomodel->domaintype!= Mesh2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum);38 if(iomodel->domaintype!=Domain2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 39 39 ::CreateNodes(nodes,iomodel,LsfReinitializationAnalysisEnum,finiteelement); 40 40 iomodel->DeleteData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); … … 252 252 253 253 IssmDouble lsf; 254 int d omaintype,dim,dofpernode;254 int dim; 255 255 int* doflist = NULL; 256 256 257 257 /*Get some parameters*/ 258 element->FindParam(&domaintype,DomainTypeEnum); 259 switch(domaintype){ 260 case Mesh2DhorizontalEnum: dim = 2; dofpernode = 1; break; 261 case Mesh2DverticalEnum: dim = 2; dofpernode = 1; break; 262 case Mesh3DEnum: dim = 3; dofpernode = 1; break; 263 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 264 } 258 element->FindParam(&dim,DomainDimensionEnum); 265 259 266 260 /*Fetch number of nodes and dof for this finite element*/ 267 261 int numnodes = element->GetNumberOfNodes(); 268 int numdof = numnodes*dofpernode;269 262 270 263 /*Fetch dof list and allocate solution vector*/ 271 264 element->GetDofList(&doflist,NoneApproximationEnum,GsetEnum); 272 IssmDouble* values = xNew<IssmDouble>(num dof);265 IssmDouble* values = xNew<IssmDouble>(numnodes); 273 266 274 267 /*Get inputs*/ … … 280 273 281 274 lsf_input->GetInputValue(&lsf,gauss); 282 values[i *dofpernode+0]=lsf;283 } 284 285 solution->SetValues(num dof,doflist,values,INS_VAL);275 values[i]=lsf; 276 } 277 278 solution->SetValues(numnodes,doflist,values,INS_VAL); 286 279 287 280 /*Free ressources:*/ … … 296 289 element->FindParam(&domaintype,DomainTypeEnum); 297 290 switch(domaintype){ 298 case Mesh2DhorizontalEnum:291 case Domain2DhorizontalEnum: 299 292 element->InputUpdateFromSolutionOneDof(solution,MaskIceLevelsetEnum); 300 293 break; 301 case Mesh3DEnum:294 case Domain3DEnum: 302 295 element->InputUpdateFromSolutionOneDofCollapsed(solution,MaskIceLevelsetEnum); 303 296 break; -
issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp
r17686 r17700 83 83 } 84 84 85 if(iomodel->domaintype== Mesh3DEnum){85 if(iomodel->domaintype==Domain3DEnum){ 86 86 iomodel->FetchDataToInput(elements,MeshElementonbaseEnum); 87 87 iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum); … … 90 90 if(islevelset){ 91 91 iomodel->FetchDataToInput(elements,IceMaskNodeActivationEnum); 92 if(iomodel->domaintype!= Mesh2DhorizontalEnum)92 if(iomodel->domaintype!=Domain2DhorizontalEnum) 93 93 iomodel->FetchDataToInput(elements,MeshVertexonbaseEnum); // required for updating active nodes 94 94 } … … 132 132 133 133 /*Check in 3d*/ 134 if(stabilization==3 && iomodel->domaintype== Mesh3DEnum) _error_("DG 3d not implemented yet");134 if(stabilization==3 && iomodel->domaintype==Domain3DEnum) _error_("DG 3d not implemented yet"); 135 135 136 136 /*Create Nodes either DG or CG depending on stabilization*/ 137 if(iomodel->domaintype!= Mesh2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum);137 if(iomodel->domaintype!=Domain2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 138 138 if(stabilization!=3){ 139 139 ::CreateNodes(nodes,iomodel,MasstransportAnalysisEnum,P1Enum); … … 195 195 IssmDouble *nodeonbase=NULL; 196 196 iomodel->FetchData(&vertex_pairing,&numvertex_pairing,NULL,MasstransportVertexPairingEnum); 197 if(iomodel->domaintype!= Mesh2DhorizontalEnum) iomodel->FetchData(&nodeonbase,NULL,NULL,MeshVertexonbaseEnum);197 if(iomodel->domaintype!=Domain2DhorizontalEnum) iomodel->FetchData(&nodeonbase,NULL,NULL,MeshVertexonbaseEnum); 198 198 199 199 for(int i=0;i<numvertex_pairing;i++){ … … 205 205 206 206 /*Skip if one of the two is not on the bed*/ 207 if(iomodel->domaintype!= Mesh2DhorizontalEnum){207 if(iomodel->domaintype!=Domain2DhorizontalEnum){ 208 208 if(!(reCast<bool>(nodeonbase[reCast<int>(vertex_pairing[2*i+0])-1])) || !(reCast<bool>(nodeonbase[reCast<int>(vertex_pairing[2*i+1])-1]))) continue; 209 209 } … … 261 261 int domaintype; 262 262 element->FindParam(&domaintype,DomainTypeEnum); 263 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};263 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 264 264 return Ke; 265 265 }/*}}}*/ … … 280 280 element->FindParam(&domaintype,DomainTypeEnum); 281 281 switch(domaintype){ 282 case Mesh2DverticalEnum: dim = 1; break;283 case Mesh2DhorizontalEnum: dim = 2; break;284 case Mesh3DEnum: dim = 2; break;282 case Domain2DverticalEnum: dim = 1; break; 283 case Domain2DhorizontalEnum: dim = 2; break; 284 case Domain3DEnum: dim = 2; break; 285 285 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 286 286 } … … 303 303 Input* vxaverage_input=NULL; 304 304 Input* vyaverage_input=NULL; 305 if(domaintype== Mesh2DhorizontalEnum){305 if(domaintype==Domain2DhorizontalEnum){ 306 306 vxaverage_input=element->GetInput(VxEnum); _assert_(vxaverage_input); 307 307 vyaverage_input=element->GetInput(VyEnum); _assert_(vyaverage_input); … … 435 435 Input* vxaverage_input=NULL; 436 436 Input* vyaverage_input=NULL; 437 if(domaintype== Mesh2DhorizontalEnum){437 if(domaintype==Domain2DhorizontalEnum){ 438 438 vxaverage_input=element->GetInput(VxEnum); _assert_(vxaverage_input); 439 439 vyaverage_input=element->GetInput(VyEnum); _assert_(vyaverage_input); … … 507 507 int domaintype; 508 508 element->FindParam(&domaintype,DomainTypeEnum); 509 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};509 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 510 510 return pe; 511 511 }/*}}}*/ … … 676 676 677 677 element->FindParam(&domaintype,DomainTypeEnum); 678 if(domaintype!= Mesh2DhorizontalEnum){678 if(domaintype!=Domain2DhorizontalEnum){ 679 679 if(!element->IsOnBase()) return; 680 680 basalelement=element->SpawnBasalElement(); … … 750 750 xDelete<IssmDouble>(phi); 751 751 xDelete<int>(doflist); 752 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};752 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 753 753 }/*}}}*/ 754 754 void MasstransportAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/ -
issm/trunk-jpl/src/c/analyses/MeltingAnalysis.cpp
r17686 r17700 14 14 15 15 /*Now, is the model 3d? otherwise, do nothing: */ 16 if(iomodel->domaintype== Mesh2DhorizontalEnum)return;16 if(iomodel->domaintype==Domain2DhorizontalEnum)return; 17 17 18 18 /*Update elements: */ … … 44 44 void MeltingAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 45 45 46 if(iomodel->domaintype== Mesh3DEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum);46 if(iomodel->domaintype==Domain3DEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 47 47 ::CreateNodes(nodes,iomodel,MeltingAnalysisEnum,P1Enum); 48 48 iomodel->DeleteData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); … … 54 54 55 55 /*if 2d: Error*/ 56 if(iomodel->domaintype== Mesh2DhorizontalEnum) _error_("2d meshes not supported yet");56 if(iomodel->domaintype==Domain2DhorizontalEnum) _error_("2d meshes not supported yet"); 57 57 58 58 //create penalties for nodes: no node can have a temperature over the melting point -
issm/trunk-jpl/src/c/analyses/SmoothedSurfaceSlopeXAnalysis.cpp
r17686 r17700 26 26 iomodel->FetchDataToInput(elements,BaseEnum); 27 27 iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum); 28 if(iomodel->domaintype== Mesh3DEnum){28 if(iomodel->domaintype==Domain3DEnum){ 29 29 iomodel->FetchDataToInput(elements,MeshElementonbaseEnum); 30 30 iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum); 31 31 } 32 if(iomodel->domaintype== Mesh2DverticalEnum){32 if(iomodel->domaintype==Domain2DverticalEnum){ 33 33 iomodel->FetchDataToInput(elements,MeshVertexonbaseEnum); 34 34 } 35 35 }/*}}}*/ 36 36 void SmoothedSurfaceSlopeXAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 37 if(iomodel->domaintype== Mesh3DEnum) iomodel->FetchData(1,MeshVertexonbaseEnum);37 if(iomodel->domaintype==Domain3DEnum) iomodel->FetchData(1,MeshVertexonbaseEnum); 38 38 ::CreateNodes(nodes,iomodel,SmoothedSurfaceSlopeXAnalysisEnum,P1Enum); 39 if(iomodel->domaintype== Mesh3DEnum) iomodel->DeleteData(1,MeshVertexonbaseEnum);39 if(iomodel->domaintype==Domain3DEnum) iomodel->DeleteData(1,MeshVertexonbaseEnum); 40 40 }/*}}}*/ 41 41 void SmoothedSurfaceSlopeXAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ … … 111 111 element->FindParam(&domaintype,DomainTypeEnum); 112 112 switch(domaintype){ 113 case Mesh2DhorizontalEnum:113 case Domain2DhorizontalEnum: 114 114 basalelement = element; 115 115 break; 116 case Mesh3DEnum:116 case Domain3DEnum: 117 117 if(!element->IsOnBase()) return NULL; 118 118 basalelement = element->SpawnBasalElement(); … … 169 169 xDelete<IssmDouble>(basis); 170 170 delete gauss; 171 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};171 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 172 172 return pe; 173 173 }/*}}}*/ -
issm/trunk-jpl/src/c/analyses/SmoothedSurfaceSlopeYAnalysis.cpp
r17686 r17700 26 26 iomodel->FetchDataToInput(elements,BaseEnum); 27 27 iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum); 28 if(iomodel->domaintype== Mesh3DEnum){28 if(iomodel->domaintype==Domain3DEnum){ 29 29 iomodel->FetchDataToInput(elements,MeshElementonbaseEnum); 30 30 iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum); 31 31 } 32 if(iomodel->domaintype== Mesh2DverticalEnum){32 if(iomodel->domaintype==Domain2DverticalEnum){ 33 33 iomodel->FetchDataToInput(elements,MeshVertexonbaseEnum); 34 34 } 35 35 }/*}}}*/ 36 36 void SmoothedSurfaceSlopeYAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 37 if(iomodel->domaintype== Mesh3DEnum) iomodel->FetchData(1,MeshVertexonbaseEnum);37 if(iomodel->domaintype==Domain3DEnum) iomodel->FetchData(1,MeshVertexonbaseEnum); 38 38 ::CreateNodes(nodes,iomodel,SmoothedSurfaceSlopeYAnalysisEnum,P1Enum); 39 if(iomodel->domaintype== Mesh3DEnum) iomodel->DeleteData(1,MeshVertexonbaseEnum);39 if(iomodel->domaintype==Domain3DEnum) iomodel->DeleteData(1,MeshVertexonbaseEnum); 40 40 }/*}}}*/ 41 41 void SmoothedSurfaceSlopeYAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ … … 111 111 element->FindParam(&domaintype,DomainTypeEnum); 112 112 switch(domaintype){ 113 case Mesh2DhorizontalEnum:113 case Domain2DhorizontalEnum: 114 114 basalelement = element; 115 115 break; 116 case Mesh3DEnum:116 case Domain3DEnum: 117 117 if(!element->IsOnBase()) return NULL; 118 118 basalelement = element->SpawnBasalElement(); … … 169 169 xDelete<IssmDouble>(basis); 170 170 delete gauss; 171 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};171 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 172 172 return pe; 173 173 }/*}}}*/ -
issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
r17693 r17700 19 19 case SSAApproximationEnum: 20 20 switch(domaintype){ 21 case Mesh3DEnum: numdofs=2; break;22 case Mesh2DhorizontalEnum: numdofs=2; break;23 case Mesh2DverticalEnum: numdofs=1; break;21 case Domain3DEnum: numdofs=2; break; 22 case Domain2DhorizontalEnum: numdofs=2; break; 23 case Domain2DverticalEnum: numdofs=1; break; 24 24 default: _error_("mesh type not supported yet"); 25 25 } … … 28 28 case HOApproximationEnum: 29 29 switch(domaintype){ 30 case Mesh3DEnum: numdofs=2; break;31 case Mesh2DverticalEnum: numdofs=1; break;30 case Domain3DEnum: numdofs=2; break; 31 case Domain2DverticalEnum: numdofs=1; break; 32 32 default: _error_("mesh type not supported yet"); 33 33 } … … 36 36 case FSvelocityEnum: 37 37 switch(domaintype){ 38 case Mesh3DEnum: numdofs=3; break;39 case Mesh2DverticalEnum: numdofs=2; break;38 case Domain3DEnum: numdofs=3; break; 39 case Domain2DverticalEnum: numdofs=2; break; 40 40 default: _error_("mesh type not supported yet"); 41 41 } … … 44 44 case NoneApproximationEnum: 45 45 switch(domaintype){ 46 case Mesh3DEnum: numdofs=4; break;47 case Mesh2DverticalEnum: numdofs=3; break;46 case Domain3DEnum: numdofs=4; break; 47 case Domain2DverticalEnum: numdofs=3; break; 48 48 default: _error_("mesh type not supported yet"); 49 49 } … … 214 214 iomodel->FetchDataToInput(elements,DamageDEnum); 215 215 216 if(iomodel->domaintype== Mesh3DEnum){216 if(iomodel->domaintype==Domain3DEnum){ 217 217 if(iomodel->meshelementtype==PentaEnum){ 218 218 iomodel->FetchDataToInput(elements,MeshElementonbaseEnum); … … 225 225 if(dakota_analysis)elements->InputDuplicate(VzEnum,QmuVzEnum); 226 226 } 227 if(iomodel->domaintype== Mesh2DverticalEnum){227 if(iomodel->domaintype==Domain2DverticalEnum){ 228 228 iomodel->FetchDataToInput(elements,MeshVertexonsurfaceEnum); 229 229 } … … 235 235 if(islevelset){ 236 236 iomodel->FetchDataToInput(elements,IceMaskNodeActivationEnum); 237 if(iomodel->domaintype!= Mesh2DhorizontalEnum)237 if(iomodel->domaintype!=Domain2DhorizontalEnum) 238 238 iomodel->FetchDataToInput(elements,MeshVertexonbaseEnum); // required for updating active nodes 239 239 } … … 289 289 } 290 290 iomodel->FetchData(3,FlowequationBorderSSAEnum,FlowequationVertexEquationEnum,StressbalanceReferentialEnum); 291 if(iomodel->domaintype!= Mesh2DhorizontalEnum) iomodel->FetchData(3,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum,FlowequationBorderFSEnum);291 if(iomodel->domaintype!=Domain2DhorizontalEnum) iomodel->FetchData(3,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum,FlowequationBorderFSEnum); 292 292 ::CreateNodes(nodes,iomodel,StressbalanceAnalysisEnum,finiteelement,approximation); 293 293 iomodel->DeleteData(6,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum,FlowequationBorderSSAEnum,FlowequationBorderFSEnum, … … 421 421 iomodel->FetchData(&nodeonbase,NULL,NULL,MeshVertexonbaseEnum); 422 422 iomodel->FetchData(&groundedice_ls,NULL,NULL,MaskGroundediceLevelsetEnum); 423 if(iomodel->domaintype== Mesh3DEnum){423 if(iomodel->domaintype==Domain3DEnum){ 424 424 iomodel->FetchData(&spcvz,&Mz,&Nz,StressbalanceSpcvzEnum); 425 425 } 426 else if (iomodel->domaintype== Mesh2DverticalEnum){426 else if (iomodel->domaintype==Domain2DverticalEnum){ 427 427 iomodel->FetchData(&spcvz,&Mz,&Nz,StressbalanceSpcvyEnum); 428 428 } … … 430 430 _error_("not supported yet"); 431 431 } 432 if(iomodel->domaintype== Mesh3DEnum){432 if(iomodel->domaintype==Domain3DEnum){ 433 433 IoModelToConstraintsx(constraints,iomodel,StressbalanceSpcvxEnum,StressbalanceAnalysisEnum,finiteelement,0); 434 434 IoModelToConstraintsx(constraints,iomodel,StressbalanceSpcvyEnum,StressbalanceAnalysisEnum,finiteelement,1); … … 436 436 iomodel->DeleteData(spcvz,StressbalanceSpcvzEnum); 437 437 } 438 else if (iomodel->domaintype== Mesh2DverticalEnum){438 else if (iomodel->domaintype==Domain2DverticalEnum){ 439 439 IoModelToConstraintsx(constraints,iomodel,StressbalanceSpcvxEnum,StressbalanceAnalysisEnum,finiteelement,0); 440 440 IoModelToConstraintsx(constraints,iomodel,spcvz,Mz,Nz,StressbalanceAnalysisEnum,finiteelement,1); … … 497 497 else{ 498 498 IoModelToConstraintsx(constraints,iomodel,StressbalanceSpcvxEnum,StressbalanceAnalysisEnum,finiteelement,0); 499 if(iomodel->domaintype!= Mesh2DverticalEnum){499 if(iomodel->domaintype!=Domain2DverticalEnum){ 500 500 IoModelToConstraintsx(constraints,iomodel,StressbalanceSpcvyEnum,StressbalanceAnalysisEnum,finiteelement,1); 501 501 } … … 510 510 iomodel->FetchData(&spcvz,&Mz,&Nz,StressbalanceSpcvzEnum); 511 511 iomodel->FetchData(&nodeonSSA,NULL,NULL,FlowequationBorderSSAEnum); 512 if(iomodel->domaintype== Mesh3DEnum)iomodel->FetchData(&nodeonHO,NULL,NULL,FlowequationBorderHOEnum);513 if(iomodel->domaintype== Mesh3DEnum)iomodel->FetchData(&nodeonFS,NULL,NULL,FlowequationBorderFSEnum);514 if(iomodel->domaintype== Mesh3DEnum)iomodel->FetchData(&nodeonbase,NULL,NULL,MeshVertexonbaseEnum);515 if(iomodel->domaintype== Mesh3DEnum)iomodel->FetchData(&groundedice_ls,NULL,NULL,MaskGroundediceLevelsetEnum);512 if(iomodel->domaintype==Domain3DEnum)iomodel->FetchData(&nodeonHO,NULL,NULL,FlowequationBorderHOEnum); 513 if(iomodel->domaintype==Domain3DEnum)iomodel->FetchData(&nodeonFS,NULL,NULL,FlowequationBorderFSEnum); 514 if(iomodel->domaintype==Domain3DEnum)iomodel->FetchData(&nodeonbase,NULL,NULL,MeshVertexonbaseEnum); 515 if(iomodel->domaintype==Domain3DEnum)iomodel->FetchData(&groundedice_ls,NULL,NULL,MaskGroundediceLevelsetEnum); 516 516 iomodel->FetchData(&vertices_type,NULL,NULL,FlowequationVertexEquationEnum); 517 517 iomodel->FetchData(&surface,NULL,NULL,SurfaceEnum); … … 740 740 iomodel->DeleteData(spcvz,StressbalanceSpcvzEnum); 741 741 iomodel->DeleteData(nodeonSSA,FlowequationBorderSSAEnum); 742 if(iomodel->domaintype== Mesh3DEnum)iomodel->DeleteData(nodeonHO,FlowequationBorderHOEnum);743 if(iomodel->domaintype== Mesh3DEnum)iomodel->DeleteData(nodeonFS,FlowequationBorderFSEnum);744 if(iomodel->domaintype== Mesh3DEnum)iomodel->DeleteData(nodeonbase,MeshVertexonbaseEnum);745 if(iomodel->domaintype== Mesh3DEnum)iomodel->DeleteData(groundedice_ls,MaskGroundediceLevelsetEnum);742 if(iomodel->domaintype==Domain3DEnum)iomodel->DeleteData(nodeonHO,FlowequationBorderHOEnum); 743 if(iomodel->domaintype==Domain3DEnum)iomodel->DeleteData(nodeonFS,FlowequationBorderFSEnum); 744 if(iomodel->domaintype==Domain3DEnum)iomodel->DeleteData(nodeonbase,MeshVertexonbaseEnum); 745 if(iomodel->domaintype==Domain3DEnum)iomodel->DeleteData(groundedice_ls,MaskGroundediceLevelsetEnum); 746 746 iomodel->DeleteData(vertices_type,FlowequationVertexEquationEnum); 747 747 iomodel->DeleteData(surface,SurfaceEnum); … … 856 856 solutionsequence_nonlinear(femmodel,conserve_loads); 857 857 858 if(domaintype== Mesh2DverticalEnum && isSSA){858 if(domaintype==Domain2DverticalEnum && isSSA){ 859 859 femmodel->parameters->SetParam(VxEnum,InputToExtrudeEnum); 860 860 extrudefrombase_core(femmodel); … … 985 985 element->FindParam(&domaintype,DomainTypeEnum); 986 986 switch(domaintype){ 987 case Mesh2DhorizontalEnum: dim = 2; dofpernode = 2; break;988 case Mesh2DverticalEnum: dim = 2; dofpernode = 1; break;989 case Mesh3DEnum: dim = 3; dofpernode = 2; break;987 case Domain2DhorizontalEnum: dim = 2; dofpernode = 2; break; 988 case Domain2DverticalEnum: dim = 2; dofpernode = 1; break; 989 case Domain3DEnum: dim = 3; dofpernode = 2; break; 990 990 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 991 991 } … … 1003 1003 Input* vx_input=element->GetInput(VxEnum); _assert_(vx_input); 1004 1004 Input* vy_input=NULL; 1005 if(domaintype!= Mesh2DverticalEnum){vy_input=element->GetInput(VyEnum); _assert_(vy_input);}1005 if(domaintype!=Domain2DverticalEnum){vy_input=element->GetInput(VyEnum); _assert_(vy_input);} 1006 1006 1007 1007 /*Ok, we have vx and vy in values, fill in vx and vy arrays: */ … … 1078 1078 element->FindParam(&domaintype,DomainTypeEnum); 1079 1079 switch(domaintype){ 1080 case Mesh2DhorizontalEnum:1080 case Domain2DhorizontalEnum: 1081 1081 basalelement = element; 1082 1082 break; 1083 case Mesh3DEnum:1083 case Domain3DEnum: 1084 1084 if(!element->IsOnBase()) return NULL; 1085 1085 basalelement = element->SpawnBasalElement(); … … 1148 1148 1149 1149 /*clean-up and return*/ 1150 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};1150 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 1151 1151 return Ke; 1152 1152 … … 1164 1164 element->FindParam(&domaintype,DomainTypeEnum); 1165 1165 switch(domaintype){ 1166 case Mesh2DhorizontalEnum:1166 case Domain2DhorizontalEnum: 1167 1167 basalelement = element; 1168 1168 break; 1169 case Mesh3DEnum: case Mesh2DverticalEnum:1169 case Domain3DEnum: case Domain2DverticalEnum: 1170 1170 if(!element->IsOnBase()) return NULL; 1171 1171 basalelement = element->SpawnBasalElement(); … … 1180 1180 1181 1181 /*clean-up and return*/ 1182 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};1182 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 1183 1183 delete Ke1; 1184 1184 delete Ke2; … … 1202 1202 element->FindParam(&domaintype,DomainTypeEnum); 1203 1203 switch(domaintype){ 1204 case Mesh2DverticalEnum: dim = 1;break;1205 case Mesh2DhorizontalEnum: dim = 2;break;1206 case Mesh3DEnum: dim = 2;break;1204 case Domain2DverticalEnum: dim = 1;break; 1205 case Domain2DhorizontalEnum: dim = 2;break; 1206 case Domain3DEnum: dim = 2;break; 1207 1207 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 1208 1208 } … … 1287 1287 element->FindParam(&domaintype,DomainTypeEnum); 1288 1288 switch(domaintype){ 1289 case Mesh2DverticalEnum: dim = 1; bsize = 1; break;1290 case Mesh2DhorizontalEnum: dim = 2; bsize = 3; break;1291 case Mesh3DEnum: dim = 2; bsize = 3; break;1289 case Domain2DverticalEnum: dim = 1; bsize = 1; break; 1290 case Domain2DhorizontalEnum: dim = 2; bsize = 3; break; 1291 case Domain3DEnum: dim = 2; bsize = 3; break; 1292 1292 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 1293 1293 } … … 1365 1365 element->FindParam(&domaintype,DomainTypeEnum); 1366 1366 switch(domaintype){ 1367 case Mesh2DhorizontalEnum:1367 case Domain2DhorizontalEnum: 1368 1368 basalelement = element; 1369 1369 break; 1370 case Mesh3DEnum: case Mesh2DverticalEnum:1370 case Domain3DEnum: case Domain2DverticalEnum: 1371 1371 if(!element->IsOnBase()) return NULL; 1372 1372 basalelement = element->SpawnBasalElement(); … … 1381 1381 1382 1382 /*clean-up and return*/ 1383 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};1383 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 1384 1384 delete pe1; 1385 1385 delete pe2; … … 1399 1399 element->FindParam(&domaintype,DomainTypeEnum); 1400 1400 switch(domaintype){ 1401 case Mesh2DverticalEnum: dim = 1;break;1402 case Mesh2DhorizontalEnum: dim = 2;break;1403 case Mesh3DEnum: dim = 2;break;1401 case Domain2DverticalEnum: dim = 1;break; 1402 case Domain2DhorizontalEnum: dim = 2;break; 1403 case Domain3DEnum: dim = 2;break; 1404 1404 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 1405 1405 } … … 1464 1464 element->FindParam(&domaintype,DomainTypeEnum); 1465 1465 switch(domaintype){ 1466 case Mesh2DverticalEnum: dim = 1;break;1467 case Mesh2DhorizontalEnum: dim = 2;break;1468 case Mesh3DEnum: dim = 2;break;1466 case Domain2DverticalEnum: dim = 1;break; 1467 case Domain2DhorizontalEnum: dim = 2;break; 1468 case Domain3DEnum: dim = 2;break; 1469 1469 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 1470 1470 } … … 1655 1655 g =element->GetMaterialParameter(ConstantsGEnum); 1656 1656 switch(domaintype){ 1657 case Mesh2DhorizontalEnum:1657 case Domain2DhorizontalEnum: 1658 1658 element->GetInputListOnVertices(thickness,ThicknessEnum); 1659 1659 for(i=0;i<numvertices;i++) pressure[i]=rho_ice*g*thickness[i]; 1660 1660 dim=2; 1661 1661 break; 1662 case Mesh3DEnum:1662 case Domain3DEnum: 1663 1663 element->GetVerticesCoordinates(&xyz_list); 1664 1664 element->GetInputListOnVertices(surface,SurfaceEnum); … … 1666 1666 dim=2; 1667 1667 break; 1668 case Mesh2DverticalEnum:1668 case Domain2DverticalEnum: 1669 1669 element->GetVerticesCoordinates(&xyz_list); 1670 1670 element->GetInputListOnVertices(surface,SurfaceEnum); … … 1681 1681 /*Get basal element*/ 1682 1682 switch(domaintype){ 1683 case Mesh2DhorizontalEnum:1683 case Domain2DhorizontalEnum: 1684 1684 basalelement = element; 1685 1685 break; 1686 case Mesh3DEnum: case Mesh2DverticalEnum:1686 case Domain3DEnum: case Domain2DverticalEnum: 1687 1687 if(!element->IsOnBase()){xDelete<IssmDouble>(xyz_list); return;} 1688 1688 basalelement=element->SpawnBasalElement(); … … 1748 1748 xDelete<IssmDouble>(xyz_list); 1749 1749 xDelete<int>(doflist); 1750 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};1750 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 1751 1751 }/*}}}*/ 1752 1752 … … 1843 1843 element->FindParam(&domaintype,DomainTypeEnum); 1844 1844 switch(domaintype){ 1845 case Mesh2DhorizontalEnum:1845 case Domain2DhorizontalEnum: 1846 1846 basalelement = element; 1847 1847 break; 1848 case Mesh3DEnum:1848 case Domain3DEnum: case Domain2DverticalEnum: 1849 1849 if(!element->IsOnBase()) return NULL; 1850 1850 basalelement = element->SpawnBasalElement(); … … 1859 1859 1860 1860 /*clean-up and return*/ 1861 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};1861 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 1862 1862 delete pe1; 1863 1863 delete pe2; … … 1973 1973 void StressbalanceAnalysis::InputUpdateFromSolutionL1L2(IssmDouble* solution,Element* element){/*{{{*/ 1974 1974 1975 int i,d omaintype;1975 int i,dim,domaintype; 1976 1976 IssmDouble rho_ice,g; 1977 1977 int* doflist=NULL; … … 1985 1985 IssmDouble* surface = xNew<IssmDouble>(numvertices); 1986 1986 1987 element->FindParam(&dim,DomainDimensionEnum); 1987 1988 element->FindParam(&domaintype,DomainTypeEnum); 1988 1989 rho_ice =element->GetMaterialParameter(MaterialsRhoIceEnum); 1989 1990 g =element->GetMaterialParameter(ConstantsGEnum); 1990 switch(domaintype){ 1991 case Mesh2DhorizontalEnum: 1992 element->GetInputListOnVertices(thickness,ThicknessEnum); 1993 for(i=0;i<numvertices;i++) pressure[i]=rho_ice*g*thickness[i]; 1994 break; 1995 case Mesh3DEnum: 1996 element->GetVerticesCoordinates(&xyz_list); 1997 element->GetInputListOnVertices(surface,SurfaceEnum); 1998 for(i=0;i<numvertices;i++) pressure[i]=rho_ice*g*(surface[i]-xyz_list[i*3+2]); 1999 break; 2000 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 1991 if(dim==2){ 1992 element->GetInputListOnVertices(thickness,ThicknessEnum); 1993 for(i=0;i<numvertices;i++) pressure[i]=rho_ice*g*thickness[i]; 1994 } 1995 else{ 1996 element->GetVerticesCoordinates(&xyz_list); 1997 element->GetInputListOnVertices(surface,SurfaceEnum); 1998 for(i=0;i<numvertices;i++) pressure[i]=rho_ice*g*(surface[i]-xyz_list[i*3+2]); 2001 1999 } 2002 2000 element->AddInput(PressureEnum,pressure,P1Enum); … … 2007 2005 /*Get basal element*/ 2008 2006 switch(domaintype){ 2009 case Mesh2DhorizontalEnum:2007 case Domain2DhorizontalEnum: 2010 2008 basalelement = element; 2011 2009 break; 2012 case Mesh3DEnum:2010 case Domain3DEnum: 2013 2011 if(!element->IsOnBase()){xDelete<IssmDouble>(xyz_list); return;} 2014 2012 basalelement=element->SpawnBasalElement(); … … 2068 2066 xDelete<IssmDouble>(xyz_list); 2069 2067 xDelete<int>(doflist); 2070 if(domaintype!= Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};2068 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 2071 2069 }/*}}}*/ 2072 2070 … … 2154 2152 2155 2153 /*Intermediaries*/ 2156 int dim, domaintype,bsize;2154 int dim,bsize; 2157 2155 IssmDouble viscosity,newviscosity,oldviscosity; 2158 2156 IssmDouble viscosity_overshoot,thickness,Jdet; … … 2161 2159 2162 2160 /*Get problem dimension*/ 2163 element->FindParam(&domaintype,DomainTypeEnum); 2164 switch(domaintype){ 2165 case Mesh2DverticalEnum: dim = 2; bsize = 2; break; 2166 case Mesh3DEnum: dim = 3; bsize = 5; break; 2167 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 2168 } 2161 element->FindParam(&dim,DomainDimensionEnum); 2162 if(dim==2) bsize = 2; 2163 else bsize = 5; 2169 2164 2170 2165 /*Fetch number of nodes and dof for this finite element*/ … … 2231 2226 2232 2227 /*Intermediaries*/ 2233 int dim ,domaintype;2228 int dim; 2234 2229 bool mainlyfloating; 2235 2230 int migration_style,point1; … … 2240 2235 2241 2236 /*Get problem dimension*/ 2242 element->FindParam(&domaintype,DomainTypeEnum); 2243 switch(domaintype){ 2244 case Mesh2DverticalEnum: dim = 2; break; 2245 case Mesh3DEnum: dim = 3; break; 2246 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 2247 } 2237 element->FindParam(&dim,DomainDimensionEnum); 2248 2238 2249 2239 /*Fetch number of nodes and dof for this finite element*/ … … 2319 2309 2320 2310 /*Intermediaries */ 2321 int dim ,domaintype;2311 int dim; 2322 2312 IssmDouble x_coord,y_coord,z_coord; 2323 2313 IssmDouble Jdet,forcex,forcey,forcez; … … 2325 2315 2326 2316 /*Get problem dimension*/ 2327 element->FindParam(&domaintype,DomainTypeEnum); 2328 switch(domaintype){ 2329 case Mesh2DverticalEnum: dim = 2; break; 2330 case Mesh3DEnum: dim = 3; break; 2331 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 2332 } 2317 element->FindParam(&dim,DomainDimensionEnum); 2333 2318 2334 2319 /*Fetch number of nodes and dof for this finite element*/ … … 2396 2381 2397 2382 /*Intermediaries */ 2398 int dim ,domaintype;2383 int dim; 2399 2384 IssmDouble Jdet,slope[3]; 2400 2385 IssmDouble* xyz_list = NULL; 2401 2386 2402 2387 /*Get problem dimension*/ 2403 element->FindParam(&domaintype,DomainTypeEnum); 2404 switch(domaintype){ 2405 case Mesh2DverticalEnum: dim = 2; break; 2406 case Mesh3DEnum: dim = 3; break; 2407 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 2408 } 2388 element->FindParam(&dim,DomainDimensionEnum); 2409 2389 2410 2390 /*Fetch number of nodes and dof for this finite element*/ … … 2453 2433 2454 2434 /*Intermediaries*/ 2455 int dim ,domaintype;2435 int dim; 2456 2436 IssmDouble Jdet,surface,z,water_pressure,ice_pressure; 2457 2437 IssmDouble surface_under_water,base_under_water,pressure; … … 2462 2442 2463 2443 /*Get problem dimension*/ 2464 element->FindParam(&domaintype,DomainTypeEnum); 2465 switch(domaintype){ 2466 case Mesh2DverticalEnum: dim = 2; break; 2467 case Mesh3DEnum: dim = 3; break; 2468 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 2469 } 2444 element->FindParam(&dim,DomainDimensionEnum); 2470 2445 2471 2446 /*Fetch number of nodes and dof for this finite element*/ … … 2655 2630 void StressbalanceAnalysis::InputUpdateFromSolutionHO(IssmDouble* solution,Element* element){/*{{{*/ 2656 2631 2657 int i,dim ,domaintype;2632 int i,dim; 2658 2633 int* doflist=NULL; 2659 2634 IssmDouble* xyz_list=NULL; 2660 2635 2661 2636 /*Get mesh dimension*/ 2662 element->FindParam(&domaintype,DomainTypeEnum); 2663 switch(domaintype){ 2664 case Mesh2DverticalEnum: dim = 2; break; 2665 case Mesh3DEnum: dim = 3; break; 2666 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 2667 } 2637 element->FindParam(&dim,DomainDimensionEnum); 2668 2638 2669 2639 /*Deal with pressure first*/ … … 2744 2714 ElementVector* StressbalanceAnalysis::CreateDVectorFS(Element* element){/*{{{*/ 2745 2715 2746 int domaintype,dim;2716 int dim; 2747 2717 2748 2718 /*Get problem dimension*/ 2749 element->FindParam(&domaintype,DomainTypeEnum); 2750 switch(domaintype){ 2751 case Mesh2DverticalEnum: dim = 2; break; 2752 case Mesh3DEnum: dim = 3; break; 2753 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 2754 } 2719 element->FindParam(&dim,DomainDimensionEnum); 2755 2720 2756 2721 /*Fetch number of nodes and dof for this finite element*/ … … 2882 2847 2883 2848 /*Intermediaries*/ 2884 int i,d omaintype,dim,epssize;2849 int i,dim,epssize; 2885 2850 IssmDouble r,FSreconditioning,Jdet; 2886 2851 IssmDouble *xyz_list = NULL; 2887 2852 2888 2853 /*Get problem dimension*/ 2889 element->FindParam(&d omaintype,DomainTypeEnum);2854 element->FindParam(&dim,DomainDimensionEnum); 2890 2855 element->FindParam(&r,AugmentedLagrangianREnum); 2891 switch(domaintype){ 2892 case Mesh2DverticalEnum: dim = 2; epssize = 3; break; 2893 case Mesh3DEnum: dim = 3; epssize = 6; break; 2894 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 2895 } 2856 if(dim==2) epssize = 3; 2857 else epssize = 6; 2896 2858 2897 2859 /*Fetch number of nodes and dof for this finite element*/ … … 2954 2916 2955 2917 /*Intermediaries*/ 2956 int i,d omaintype,dim,epssize;2918 int i,dim,epssize; 2957 2919 IssmDouble viscosity,FSreconditioning,Jdet; 2958 2920 IssmDouble *xyz_list = NULL; 2959 2921 2960 2922 /*Get problem dimension*/ 2961 element->FindParam(&domaintype,DomainTypeEnum); 2962 switch(domaintype){ 2963 case Mesh2DverticalEnum: dim = 2; epssize = 3; break; 2964 case Mesh3DEnum: dim = 3; epssize = 6; break; 2965 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 2966 } 2923 element->FindParam(&dim,DomainDimensionEnum); 2924 if(dim==2) epssize = 3; 2925 else epssize = 6; 2967 2926 2968 2927 /*Fetch number of nodes and dof for this finite element*/ … … 3036 2995 /*Intermediaries*/ 3037 2996 bool mainlyfloating; 3038 int j,i,d omaintype,dim;2997 int j,i,dim; 3039 2998 IssmDouble Jdet,slope2,scalar,dt; 3040 2999 IssmDouble slope[3]; … … 3044 3003 3045 3004 /*Get problem dimension*/ 3046 element->FindParam(&domaintype,DomainTypeEnum); 3047 switch(domaintype){ 3048 case Mesh2DverticalEnum: dim = 2;break; 3049 case Mesh3DEnum: dim = 3;break; 3050 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 3051 } 3005 element->FindParam(&dim,DomainDimensionEnum); 3052 3006 3053 3007 /*Fetch number of nodes and dof for this finite element*/ … … 3107 3061 3108 3062 /*Intermediaries*/ 3109 int i,d omaintype,dim;3063 int i,dim; 3110 3064 IssmDouble alpha2,Jdet; 3111 3065 IssmDouble x_coord,y_coord,z_coord; … … 3114 3068 3115 3069 /*Get problem dimension*/ 3116 element->FindParam(&domaintype,DomainTypeEnum); 3117 switch(domaintype){ 3118 case Mesh2DverticalEnum: dim = 2;break; 3119 case Mesh3DEnum: dim = 3;break; 3120 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 3121 } 3070 element->FindParam(&dim,DomainDimensionEnum); 3122 3071 3123 3072 /*Fetch number of nodes and dof for this finite element*/ … … 3171 3120 ElementVector* StressbalanceAnalysis::CreatePVectorFS(Element* element){/*{{{*/ 3172 3121 3173 int i,d omaintype,dim,fe_FS;3122 int i,dim,fe_FS; 3174 3123 IssmDouble x_coord,y_coord,z_coord; 3175 3124 IssmDouble Jdet,forcex,forcey,forcez; … … 3177 3126 3178 3127 element->FindParam(&fe_FS,FlowequationFeFSEnum); 3179 element->FindParam(&domaintype,DomainTypeEnum); 3180 switch(domaintype){ 3181 case Mesh2DverticalEnum: dim = 2; break; 3182 case Mesh3DEnum: dim = 3; break; 3183 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 3184 } 3128 element->FindParam(&dim,DomainDimensionEnum); 3185 3129 3186 3130 /*Fetch number of nodes and dof for this finite element*/ … … 3254 3198 /*Intermediaries*/ 3255 3199 bool mainlyfloating; 3256 int i,d omaintype,dim,epssize;3200 int i,dim,domaintype,epssize; 3257 3201 int migration_style,point1; 3258 3202 IssmDouble alpha2,Jdet,fraction1,fraction2; … … 3262 3206 3263 3207 /*Get problem dimension*/ 3208 element->FindParam(&dim,DomainDimensionEnum); 3264 3209 element->FindParam(&domaintype,DomainTypeEnum); 3265 switch(domaintype){3266 case Mesh2DverticalEnum: dim = 2;break;3267 case Mesh3DEnum: dim = 3;break;3268 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet");3269 }3270 3210 3271 3211 /*Fetch number of nodes and dof for this finite element*/ … … 3294 3234 if(migration_style==SubelementMigrationEnum) phi=element->GetGroundedPortion(xyz_list_base); 3295 3235 if(migration_style==SubelementMigration2Enum){ 3296 if(domaintype== Mesh2DverticalEnum) _error_("Subelement Migration 2 not implemented yet for Flowline");3236 if(domaintype==Domain2DverticalEnum) _error_("Subelement Migration 2 not implemented yet for Flowline"); 3297 3237 gllevelset_input=element->GetInput(MaskGroundediceLevelsetEnum); _assert_(gllevelset_input); 3298 3238 element->GetGroundedPart(&point1,&fraction1,&fraction2,&mainlyfloating); … … 3371 3311 ElementVector* StressbalanceAnalysis::CreatePVectorFSViscous(Element* element){/*{{{*/ 3372 3312 3373 int i,d omaintype,dim;3313 int i,dim; 3374 3314 IssmDouble Jdet,forcex,forcey,forcez; 3375 3315 IssmDouble *xyz_list = NULL; 3376 3316 3377 3317 /*Get problem dimension*/ 3378 element->FindParam(&domaintype,DomainTypeEnum); 3379 switch(domaintype){ 3380 case Mesh2DverticalEnum: dim = 2; break; 3381 case Mesh3DEnum: dim = 3; break; 3382 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 3383 } 3318 element->FindParam(&dim,DomainDimensionEnum); 3384 3319 3385 3320 /*Fetch number of nodes and dof for this finite element*/ … … 3445 3380 ElementVector* StressbalanceAnalysis::CreatePVectorFSViscousXTH(Element* element){/*{{{*/ 3446 3381 3447 int i,tausize,d omaintype,dim;3382 int i,tausize,dim; 3448 3383 IssmDouble Jdet,r; 3449 3384 IssmDouble epsxx,epsyy,epszz,epsxy,epsxz,epsyz; … … 3453 3388 3454 3389 /*Get problem dimension*/ 3455 element->FindParam(&domaintype,DomainTypeEnum); 3456 switch(domaintype){ 3457 case Mesh2DverticalEnum: dim = 2; tausize = 3; break; 3458 case Mesh3DEnum: dim = 3; tausize = 6; break; 3459 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 3460 } 3390 element->FindParam(&dim,DomainDimensionEnum); 3391 if(dim==2) tausize = 3; 3392 else tausize = 6; 3461 3393 3462 3394 /*Fetch number of nodes and dof for this finite element*/ … … 3620 3552 ElementVector* StressbalanceAnalysis::CreatePVectorFSShelf(Element* element){/*{{{*/ 3621 3553 3622 int i,d omaintype,dim;3554 int i,dim; 3623 3555 IssmDouble Jdet,water_pressure,bed; 3624 3556 IssmDouble normal[3]; … … 3629 3561 3630 3562 /*Get problem dimension*/ 3631 element->FindParam(&domaintype,DomainTypeEnum); 3632 switch(domaintype){ 3633 case Mesh2DverticalEnum: dim = 2; break; 3634 case Mesh3DEnum: dim = 3; break; 3635 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 3636 } 3563 element->FindParam(&dim,DomainDimensionEnum); 3637 3564 3638 3565 /*Fetch number of nodes and dof for this finite element*/ … … 3694 3621 3695 3622 /*Intermediaries*/ 3696 int i,d omaintype,dim;3623 int i,dim; 3697 3624 IssmDouble Jdet,pressure,surface,z; 3698 3625 IssmDouble normal[3]; … … 3705 3632 3706 3633 /*Get problem dimension*/ 3707 element->FindParam(&domaintype,DomainTypeEnum); 3708 switch(domaintype){ 3709 case Mesh2DverticalEnum: dim = 2; break; 3710 case Mesh3DEnum: dim = 3; break; 3711 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 3712 } 3634 element->FindParam(&dim,DomainDimensionEnum); 3713 3635 3714 3636 /*Fetch number of nodes and dof for this finite element*/ … … 4051 3973 int* pdoflist=NULL; 4052 3974 Input* vz_input=NULL; 4053 int d omaintype,dim;3975 int dim; 4054 3976 IssmDouble vx,vy,vz,p; 4055 3977 IssmDouble FSreconditioning; 4056 3978 4057 3979 /*Get some parameters*/ 4058 element->FindParam(&d omaintype,DomainTypeEnum);3980 element->FindParam(&dim,DomainDimensionEnum); 4059 3981 element->FindParam(&FSreconditioning,StressbalanceFSreconditioningEnum); 4060 switch(domaintype){4061 case Mesh2DverticalEnum: dim = 2; break;4062 case Mesh3DEnum: dim = 3; break;4063 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet");4064 }4065 3982 4066 3983 /*Fetch number of nodes and dof for this finite element*/ … … 4117 4034 4118 4035 /*Intermediaries*/ 4119 int d omaintype,dim;4036 int dim; 4120 4037 IssmDouble dvx[3],dvy[3],dvz[3]; 4121 4038 IssmDouble viscosity; … … 4123 4040 4124 4041 /*Get problem dimension*/ 4125 parameters->FindParam(&domaintype,DomainTypeEnum); 4126 switch(domaintype){ 4127 case Mesh2DverticalEnum: dim = 2; break; 4128 case Mesh3DEnum: dim = 3; break; 4129 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 4130 } 4042 parameters->FindParam(&dim,DomainDimensionEnum); 4131 4043 4132 4044 for(int i=0;i<elements->Size();i++){ … … 4201 4113 4202 4114 bool results_on_nodes; 4203 int i,dim ,domaintype;4115 int i,dim; 4204 4116 int* vdoflist=NULL; 4205 4117 int* pdoflist=NULL; 4206 4118 IssmDouble FSreconditioning; 4207 4119 4208 element->FindParam(&d omaintype,DomainTypeEnum);4120 element->FindParam(&dim,DomainDimensionEnum); 4209 4121 element->FindParam(&FSreconditioning,StressbalanceFSreconditioningEnum); 4210 4122 element->FindParam(&results_on_nodes,SettingsResultsOnNodesEnum); 4211 switch(domaintype){4212 case Mesh2DverticalEnum: dim = 2; break;4213 case Mesh3DEnum: dim = 3; break;4214 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet");4215 }4216 4123 4217 4124 /*Fetch number of nodes and dof for this finite element*/ … … 4296 4203 4297 4204 /*Intermediaries*/ 4298 int dim,tausize ,domaintype;4205 int dim,tausize; 4299 4206 IssmDouble epsxx,epsyy,epszz,epsxy,epsxz,epsyz,D_scalar; 4300 4207 IssmDouble epsxx_old,epsyy_old,epszz_old,epsxy_old,epsxz_old,epsyz_old; … … 4305 4212 4306 4213 parameters->FindParam(&r,AugmentedLagrangianREnum); 4307 parameters->FindParam(&domaintype,DomainTypeEnum); 4308 switch(domaintype){ 4309 case Mesh2DverticalEnum: dim = 2; tausize = 3; break; 4310 case Mesh3DEnum: dim = 3; tausize = 6; break; 4311 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 4312 } 4214 parameters->FindParam(&dim,DomainDimensionEnum); 4215 if(dim==2) tausize = 3; 4216 else tausize = 6; 4313 4217 4314 4218 for(int i=0;i<elements->Size();i++){ … … 4509 4413 4510 4414 /*Intermediaries*/ 4511 int dim,tausize ,domaintype;4415 int dim,tausize; 4512 4416 IssmDouble epsxx,epsyy,epszz,epsxy,epsxz,epsyz,D_scalar; 4513 4417 IssmDouble d_xx,d_yy,d_zz,d_xy,d_xz,d_yz; … … 4518 4422 4519 4423 parameters->FindParam(&r,AugmentedLagrangianREnum); 4520 parameters->FindParam(&domaintype,DomainTypeEnum); 4521 switch(domaintype){ 4522 case Mesh2DverticalEnum: dim = 2; tausize = 3; break; 4523 case Mesh3DEnum: dim = 3; tausize = 6; break; 4524 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 4525 } 4424 parameters->FindParam(&dim,DomainDimensionEnum); 4425 if(dim==2) tausize = 3; 4426 else tausize = 6; 4526 4427 4527 4428 for(int i=0;i<elements->Size();i++){ -
issm/trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.cpp
r17686 r17700 42 42 if(islevelset){ 43 43 iomodel->FetchDataToInput(elements,IceMaskNodeActivationEnum); 44 if(iomodel->domaintype!= Mesh2DhorizontalEnum)44 if(iomodel->domaintype!=Domain2DhorizontalEnum) 45 45 iomodel->FetchDataToInput(elements,MeshVertexonbaseEnum); // required for updating active nodes 46 46 } … … 64 64 int lid=0; 65 65 iomodel->FetchData(4,FlowequationBorderSSAEnum,FlowequationBorderFSEnum,FlowequationVertexEquationEnum,StressbalanceReferentialEnum); 66 if(iomodel->domaintype!= Mesh2DhorizontalEnum){66 if(iomodel->domaintype!=Domain2DhorizontalEnum){ 67 67 iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 68 68 } … … 166 166 element->FindParam(&domaintype,DomainTypeEnum); 167 167 switch(domaintype){ 168 case Mesh2DhorizontalEnum:168 case Domain2DhorizontalEnum: 169 169 return CreateKMatrix2D(element); 170 case Mesh3DEnum:170 case Domain3DEnum: 171 171 return CreateKMatrix3D(element); 172 172 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); … … 269 269 element->FindParam(&domaintype,DomainTypeEnum); 270 270 switch(domaintype){ 271 case Mesh2DhorizontalEnum:271 case Domain2DhorizontalEnum: 272 272 return CreatePVector2D(element); 273 case Mesh3DEnum:273 case Domain3DEnum: 274 274 return CreatePVector3D(element); 275 275 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); … … 541 541 element->FindParam(&domaintype,DomainTypeEnum); 542 542 switch(domaintype){ 543 case Mesh2DhorizontalEnum:543 case Domain2DhorizontalEnum: 544 544 element->GetInputListOnNodes(&thickness[0],ThicknessEnum); 545 545 for(i=0;i<numnodes;i++) pressure[i]=rho_ice*g*thickness[i]; 546 546 break; 547 case Mesh3DEnum:547 case Domain3DEnum: 548 548 element->GetVerticesCoordinates(&xyz_list); 549 549 element->GetInputListOnNodes(&surface[0],SurfaceEnum); -
issm/trunk-jpl/src/c/analyses/StressbalanceVerticalAnalysis.cpp
r17694 r17700 18 18 19 19 /*return if not 3d mesh*/ 20 if(iomodel->domaintype!= Mesh3DEnum) return;20 if(iomodel->domaintype!=Domain3DEnum) return; 21 21 22 22 /*Update elements: */ … … 46 46 47 47 /*return if not 3d mesh*/ 48 if(iomodel->domaintype!= Mesh3DEnum) return;48 if(iomodel->domaintype!=Domain3DEnum) return; 49 49 50 50 iomodel->FetchData(3,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum); … … 62 62 63 63 /*return if not 3d mesh*/ 64 if(iomodel->domaintype!= Mesh3DEnum) return;64 if(iomodel->domaintype!=Domain3DEnum) return; 65 65 66 66 /*Fetch data: */ -
issm/trunk-jpl/src/c/analyses/ThermalAnalysis.cpp
r17686 r17700 31 31 32 32 /*Now, is the model 3d? otherwise, do nothing: */ 33 if(iomodel->domaintype== Mesh2DhorizontalEnum)return;33 if(iomodel->domaintype==Domain2DhorizontalEnum)return; 34 34 35 35 /*Update elements: */ … … 83 83 void ThermalAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 84 84 85 if(iomodel->domaintype== Mesh3DEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum);85 if(iomodel->domaintype==Domain3DEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 86 86 ::CreateNodes(nodes,iomodel,ThermalAnalysisEnum,P1Enum); 87 87 iomodel->DeleteData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); … … 90 90 91 91 /*Only 3d mesh supported*/ 92 if(iomodel->domaintype== Mesh3DEnum){92 if(iomodel->domaintype==Domain3DEnum){ 93 93 IoModelToConstraintsx(constraints,iomodel,ThermalSpctemperatureEnum,ThermalAnalysisEnum,P1Enum); 94 94 } … … 97 97 void ThermalAnalysis::CreateLoads(Loads* loads, IoModel* iomodel){/*{{{*/ 98 98 99 if(iomodel->domaintype== Mesh2DhorizontalEnum) _error_("2d meshes not supported yet");99 if(iomodel->domaintype==Domain2DhorizontalEnum) _error_("2d meshes not supported yet"); 100 100 101 101 /*create penalties for nodes: no node can have a temperature over the melting point*/ -
issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
r17686 r17700 104 104 parameters->FindParam(&domaintype,DomainTypeEnum); 105 105 switch(domaintype){ 106 case Mesh2DhorizontalEnum:106 case Domain2DhorizontalEnum: 107 107 this->inputs->AddInput(new TriaInput(input_enum,values,interpolation_enum)); 108 108 break; 109 case Mesh2DverticalEnum:{109 case Domain2DverticalEnum:{ 110 110 if(interpolation_enum==P1Enum){ 111 111 IssmDouble values2[NUMVERTICES]={0.}; … … 172 172 /*Retrieve all inputs we will be needing: */ 173 173 this->FindParam(&domaintype,DomainTypeEnum); 174 if(domaintype== Mesh2DhorizontalEnum) _error_("stress tensor calculation not supported for mesh of type " <<EnumToStringx(domaintype)<<", extrude mesh or call ComputeDeviatoricStressTensor");174 if(domaintype==Domain2DhorizontalEnum) _error_("stress tensor calculation not supported for mesh of type " <<EnumToStringx(domaintype)<<", extrude mesh or call ComputeDeviatoricStressTensor"); 175 175 Input* pressure_input=inputs->GetInput(PressureEnum); _assert_(pressure_input); 176 176 Input* vx_input=inputs->GetInput(VxEnum); _assert_(vx_input); … … 225 225 /*Retrieve all inputs we will be needing: */ 226 226 this->FindParam(&domaintype,DomainTypeEnum); 227 if(domaintype!= Mesh2DhorizontalEnum) _error_("deviatoric stress tensor calculation not implemented for mesh of type " <<EnumToStringx(domaintype));227 if(domaintype!=Domain2DhorizontalEnum) _error_("deviatoric stress tensor calculation not implemented for mesh of type " <<EnumToStringx(domaintype)); 228 228 Input* vx_input=inputs->GetInput(VxEnum); _assert_(vx_input); 229 229 Input* vy_input=inputs->GetInput(VyEnum); _assert_(vy_input); … … 529 529 if(gl[2]==0.) gl[2]=gl[2]+epsilon; 530 530 531 if(domaintype== Mesh2DverticalEnum){531 if(domaintype==Domain2DverticalEnum){ 532 532 this->EdgeOnBaseIndices(&index1,&index2); 533 533 if(gl[index1]>0 && gl[index2]>0) phi=1; // All grounded … … 541 541 542 542 } 543 else if(domaintype== Mesh2DhorizontalEnum || domaintype==Mesh3DEnum){543 else if(domaintype==Domain2DhorizontalEnum || domaintype==Domain3DEnum){ 544 544 /*Check that not all nodes are grounded or floating*/ 545 545 if(gl[0]>0 && gl[1]>0 && gl[2]>0){ // All grounded … … 1166 1166 this->parameters->FindParam(&domaintype,DomainTypeEnum); 1167 1167 switch(domaintype){ 1168 case Mesh2DverticalEnum:1168 case Domain2DverticalEnum: 1169 1169 return HasEdgeOnBase(); 1170 case Mesh2DhorizontalEnum:1170 case Domain2DhorizontalEnum: 1171 1171 return true; 1172 1172 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); … … 1180 1180 this->parameters->FindParam(&domaintype,DomainTypeEnum); 1181 1181 switch(domaintype){ 1182 case Mesh2DverticalEnum:1182 case Domain2DverticalEnum: 1183 1183 return HasEdgeOnSurface(); 1184 case Mesh2DhorizontalEnum:1184 case Domain2DhorizontalEnum: 1185 1185 return true; 1186 1186 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); … … 1845 1845 this->parameters->FindParam(&domaintype,DomainTypeEnum); 1846 1846 switch(domaintype){ 1847 case Mesh2DhorizontalEnum:1847 case Domain2DhorizontalEnum: 1848 1848 return this; 1849 case Mesh2DverticalEnum:1849 case Domain2DverticalEnum: 1850 1850 _assert_(HasEdgeOnBase()); 1851 1851 this->EdgeOnBaseIndices(&index1,&index2); … … 1864 1864 this->parameters->FindParam(&domaintype,DomainTypeEnum); 1865 1865 switch(domaintype){ 1866 case Mesh2DhorizontalEnum:1866 case Domain2DhorizontalEnum: 1867 1867 return this; 1868 case Mesh2DverticalEnum:1868 case Domain2DverticalEnum: 1869 1869 _assert_(HasEdgeOnSurface()); 1870 1870 this->EdgeOnSurfaceIndices(&index1,&index2); … … 2221 2221 int domaintype; 2222 2222 parameters->FindParam(&domaintype,DomainTypeEnum); 2223 if(domaintype== Mesh2DverticalEnum){2223 if(domaintype==Domain2DverticalEnum){ 2224 2224 return base; 2225 2225 } … … 2297 2297 Input* vx_input=NULL; 2298 2298 Input* vy_input=NULL; 2299 if(domaintype== Mesh2DhorizontalEnum){2299 if(domaintype==Domain2DhorizontalEnum){ 2300 2300 vx_input=inputs->GetInput(VxEnum); _assert_(vx_input); 2301 2301 vy_input=inputs->GetInput(VyEnum); _assert_(vy_input); … … 2364 2364 Input* vx_input=NULL; 2365 2365 Input* vy_input=NULL; 2366 if(domaintype== Mesh2DhorizontalEnum){2366 if(domaintype==Domain2DhorizontalEnum){ 2367 2367 vx_input=inputs->GetInput(VxEnum); _assert_(vx_input); 2368 2368 vy_input=inputs->GetInput(VyEnum); _assert_(vy_input); -
issm/trunk-jpl/src/c/classes/Node.cpp
r17686 r17700 61 61 _assert_(sqrt( coord_system[0][0]*coord_system[0][0] + coord_system[1][0]*coord_system[1][0]) >1.e-4); 62 62 63 if(iomodel->domaintype!= Mesh2DhorizontalEnum){63 if(iomodel->domaintype!=Domain2DhorizontalEnum){ 64 64 /*We have a 3d mesh, we may have collapsed elements, hence dead nodes. Freeze them out: */ 65 65 _assert_(iomodel->Data(MeshVertexonbaseEnum)); … … 101 101 analysis_enum==ExtrapolationAnalysisEnum 102 102 ){ 103 if(iomodel->domaintype!= Mesh2DhorizontalEnum){103 if(iomodel->domaintype!=Domain2DhorizontalEnum){ 104 104 /*On a 3d mesh, we may have collapsed elements, hence dead nodes. Freeze them out: */ 105 105 _assert_(iomodel->Data(MeshVertexonbaseEnum)); … … 112 112 analysis_enum==FreeSurfaceTopAnalysisEnum 113 113 ){ 114 if(iomodel->domaintype!= Mesh2DhorizontalEnum){114 if(iomodel->domaintype!=Domain2DhorizontalEnum){ 115 115 /*On a 3d mesh, we may have collapsed elements, hence dead nodes. Freeze them out: */ 116 116 _assert_(iomodel->Data(MeshVertexonsurfaceEnum)); -
issm/trunk-jpl/src/c/classes/Vertex.cpp
r17686 r17700 36 36 _assert_(iomodel->Data(BaseEnum) && iomodel->Data(ThicknessEnum) && iomodel->numbernodetoelementconnectivity); 37 37 switch(iomodel->domaintype){ 38 case Mesh3DEnum:39 case Mesh2DhorizontalEnum:38 case Domain3DEnum: 39 case Domain2DhorizontalEnum: 40 40 this->sigma = (iomodel->Data(MeshZEnum)[i]-iomodel->Data(BaseEnum)[i])/(iomodel->Data(ThicknessEnum)[i]); 41 41 break; 42 case Mesh2DverticalEnum:42 case Domain2DverticalEnum: 43 43 this->sigma = (iomodel->Data(MeshYEnum)[i]-iomodel->Data(BaseEnum)[i])/(iomodel->Data(ThicknessEnum)[i]); 44 44 break; … … 133 133 /*sigma remains constant. z=bed+sigma*thickness*/ 134 134 switch(this->domaintype){ 135 case Mesh2DhorizontalEnum:135 case Domain2DhorizontalEnum: 136 136 /*Nothing*/ 137 137 return; 138 case Mesh2DverticalEnum:138 case Domain2DverticalEnum: 139 139 oldy = this->y; 140 140 newy = bed[this->pid]+sigma*(surface[this->pid] - bed[this->pid]); … … 143 143 vy->SetValue(this->pid,vely,INS_VAL); 144 144 return; 145 case Mesh3DEnum:145 case Domain3DEnum: 146 146 oldz = this->z; 147 147 newz = bed[this->pid]+sigma*(surface[this->pid] - bed[this->pid]); -
issm/trunk-jpl/src/c/cores/bedslope_core.cpp
r17686 r17700 28 28 solutionsequence_linear(femmodel); 29 29 30 if(domaintype!= Mesh2DverticalEnum){30 if(domaintype!=Domain2DverticalEnum){ 31 31 femmodel->parameters->SetParam(BedSlopeYEnum,InputToL2ProjectEnum); 32 32 solutionsequence_linear(femmodel); … … 35 35 if(save_results){ 36 36 if(VerboseSolution()) _printf0_(" saving results\n"); 37 if(domaintype!= Mesh2DverticalEnum){37 if(domaintype!=Domain2DverticalEnum){ 38 38 int outputs[2] = {BedSlopeXEnum,BedSlopeYEnum}; 39 39 femmodel->RequestedOutputsx(&femmodel->results,&outputs[0],2); -
issm/trunk-jpl/src/c/cores/levelsetfunctionslope_core.cpp
r17686 r17700 28 28 solutionsequence_linear(femmodel); 29 29 30 if(domaintype!= Mesh2DverticalEnum){30 if(domaintype!=Domain2DverticalEnum){ 31 31 femmodel->parameters->SetParam(LevelsetfunctionSlopeYEnum,InputToL2ProjectEnum); 32 32 solutionsequence_linear(femmodel); 33 33 } 34 if(domaintype== Mesh2DverticalEnum){34 if(domaintype==Domain2DverticalEnum){ 35 35 femmodel->parameters->SetParam(LevelsetfunctionSlopeXEnum,InputToExtrudeEnum); 36 36 extrudefrombase_core(femmodel); … … 39 39 if(save_results){ 40 40 if(VerboseSolution()) _printf0_("saving results:\n"); 41 if(domaintype!= Mesh2DverticalEnum){41 if(domaintype!=Domain2DverticalEnum){ 42 42 int outputs[2] = {LevelsetfunctionSlopeXEnum,LevelsetfunctionSlopeYEnum}; 43 43 femmodel->RequestedOutputsx(&femmodel->results,&outputs[0],2); -
issm/trunk-jpl/src/c/cores/masstransport_core.cpp
r17686 r17700 48 48 femmodel->SetCurrentConfiguration(FreeSurfaceBaseAnalysisEnum); 49 49 solutionsequence_linear(femmodel); 50 if(domaintype!= Mesh2DhorizontalEnum){50 if(domaintype!=Domain2DhorizontalEnum){ 51 51 femmodel->parameters->SetParam(BaseEnum,InputToExtrudeEnum); 52 52 extrudefrombase_core(femmodel); … … 54 54 femmodel->SetCurrentConfiguration(FreeSurfaceTopAnalysisEnum); 55 55 solutionsequence_linear(femmodel); 56 if(domaintype!= Mesh2DhorizontalEnum){56 if(domaintype!=Domain2DhorizontalEnum){ 57 57 femmodel->parameters->SetParam(SurfaceEnum,InputToExtrudeEnum); 58 58 extrudefromtop_core(femmodel); … … 62 62 if(VerboseSolution()) _printf0_(" call computational core\n"); 63 63 solutionsequence_linear(femmodel); 64 if(domaintype== Mesh2DverticalEnum){64 if(domaintype==Domain2DverticalEnum){ 65 65 femmodel->parameters->SetParam(ThicknessEnum,InputToExtrudeEnum); 66 66 extrudefrombase_core(femmodel); -
issm/trunk-jpl/src/c/cores/stressbalance_core.cpp
r17686 r17700 40 40 InputDuplicatex(femmodel,QmuVxEnum,VxEnum); 41 41 InputDuplicatex(femmodel,QmuVyEnum,VyEnum); 42 if(domaintype== Mesh3DEnum) InputDuplicatex(femmodel,QmuVzEnum,VzEnum);42 if(domaintype==Domain3DEnum) InputDuplicatex(femmodel,QmuVzEnum,VzEnum); 43 43 if(isFS) InputDuplicatex(femmodel,QmuPressureEnum,PressureEnum); 44 44 } 45 45 46 46 /*Compute slopes if necessary */ 47 if(isSIA || (isFS && domaintype== Mesh2DverticalEnum)) surfaceslope_core(femmodel);47 if(isSIA || (isFS && domaintype==Domain2DverticalEnum)) surfaceslope_core(femmodel); 48 48 if(isFS){ 49 49 bedslope_core(femmodel); … … 74 74 75 75 /*Compute vertical velocities*/ 76 if (domaintype== Mesh3DEnum && (isSIA || isSSA || isL1L2 || isHO)){76 if (domaintype==Domain3DEnum && (isSIA || isSSA || isL1L2 || isHO)){ 77 77 analysis = new StressbalanceVerticalAnalysis(); 78 78 analysis->Core(femmodel); -
issm/trunk-jpl/src/c/cores/surfaceslope_core.cpp
r17686 r17700 28 28 solutionsequence_linear(femmodel); 29 29 30 if(domaintype!= Mesh2DverticalEnum){30 if(domaintype!=Domain2DverticalEnum){ 31 31 femmodel->parameters->SetParam(SurfaceSlopeYEnum,InputToL2ProjectEnum); 32 32 solutionsequence_linear(femmodel); 33 33 } 34 if(domaintype== Mesh2DverticalEnum){34 if(domaintype==Domain2DverticalEnum){ 35 35 femmodel->parameters->SetParam(SurfaceSlopeXEnum,InputToExtrudeEnum); 36 36 extrudefrombase_core(femmodel); … … 39 39 if(save_results){ 40 40 if(VerboseSolution()) _printf0_("saving results:\n"); 41 if(domaintype!= Mesh2DverticalEnum){41 if(domaintype!=Domain2DverticalEnum){ 42 42 int outputs[2] = {SurfaceSlopeXEnum,SurfaceSlopeYEnum}; 43 43 femmodel->RequestedOutputsx(&femmodel->results,&outputs[0],2); -
issm/trunk-jpl/src/c/cores/transient_core.cpp
r17686 r17700 66 66 InputDuplicatex(femmodel,QmuVxEnum,VxEnum); 67 67 InputDuplicatex(femmodel,QmuVyEnum,VyEnum); 68 if(domaintype== Mesh3DEnum){68 if(domaintype==Domain3DEnum){ 69 69 InputDuplicatex(femmodel,QmuVzEnum,VzEnum); 70 70 if(isFS)InputDuplicatex(femmodel,QmuPressureEnum,PressureEnum); … … 78 78 } 79 79 if(isgroundingline) InputDuplicatex(femmodel,QmuMaskGroundediceLevelsetEnum,MaskGroundediceLevelsetEnum); 80 if(isthermal && domaintype== Mesh3DEnum){80 if(isthermal && domaintype==Domain3DEnum){ 81 81 //Update Vertex Position after updating Thickness and Bed 82 82 femmodel->SetCurrentConfiguration(MasstransportAnalysisEnum); … … 114 114 femmodel->parameters->SetParam(save_results,SaveResultsEnum); 115 115 116 if(isthermal && domaintype== Mesh3DEnum){116 if(isthermal && domaintype==Domain3DEnum){ 117 117 if(VerboseSolution()) _printf0_(" computing thermal regime\n"); 118 118 thermal_core(femmodel); -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateFaces.cpp
r17692 r17700 17 17 18 18 /*Check Iomodel properties*/ 19 if(iomodel->domaintype== Mesh2DhorizontalEnum || iomodel->domaintype==Mesh2DverticalEnum){19 if(iomodel->domaintype==Domain2DhorizontalEnum || iomodel->domaintype==Domain2DverticalEnum){ 20 20 /*Keep going*/ 21 21 } 22 else if(iomodel->domaintype== Mesh3DEnum){22 else if(iomodel->domaintype==Domain3DEnum){ 23 23 CreateFaces3d(iomodel); 24 24 return; … … 243 243 244 244 int numbervertices; 245 if(iomodel->domaintype== Mesh3DEnum){245 if(iomodel->domaintype==Domain3DEnum){ 246 246 if((iomodel->faces[6*facenumber+5])==1){ 247 247 numbervertices=3; -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
r17692 r17700 86 86 parameters->AddObject(iomodel->CopyConstantObject(StressbalanceReltolEnum)); 87 87 parameters->AddObject(iomodel->CopyConstantObject(StressbalanceAbstolEnum)); 88 if(iomodel->domaintype== Mesh3DEnum)88 if(iomodel->domaintype==Domain3DEnum) 89 89 parameters->AddObject(iomodel->CopyConstantObject(MeshNumberoflayersEnum)); 90 90 -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateSingleNodeToElementConnectivity.cpp
r17686 r17700 31 31 /*Get element width (3 or 6)*/ 32 32 switch(iomodel->domaintype){ 33 case Mesh2DhorizontalEnum: elementswidth=3; break;34 case Mesh2DverticalEnum : elementswidth=3; break;35 case Mesh3DEnum : elementswidth=6; break;33 case Domain2DhorizontalEnum: elementswidth=3; break; 34 case Domain2DverticalEnum : elementswidth=3; break; 35 case Domain3DEnum : elementswidth=6; break; 36 36 default: _error_("mesh type "<<EnumToStringx(iomodel->domaintype)<<" not supported yet"); 37 37 } -
issm/trunk-jpl/src/c/modules/ModelProcessorx/FacesPartitioning.cpp
r17686 r17700 18 18 19 19 /*Mesh dependent variables*/ 20 if(iomodel->domaintype== Mesh2DhorizontalEnum){20 if(iomodel->domaintype==Domain2DhorizontalEnum){ 21 21 elementnbf = 3; 22 22 } 23 else if(iomodel->domaintype== Mesh2DverticalEnum){23 else if(iomodel->domaintype==Domain2DverticalEnum){ 24 24 elementnbf = 3; 25 25 } 26 else if(iomodel->domaintype== Mesh3DEnum){26 else if(iomodel->domaintype==Domain3DEnum){ 27 27 elementnbf = 5; 28 28 } -
issm/trunk-jpl/src/c/modules/ModelProcessorx/ModelProcessorx.cpp
r17686 r17700 59 59 60 60 /*Hack for trasient runs (FIXME: to be improved)*/ 61 if(solution_enum==TransientSolutionEnum && analysis_enum==ThermalAnalysisEnum && iomodel->domaintype== Mesh2DhorizontalEnum) continue;62 if(solution_enum==TransientSolutionEnum && analysis_enum==MeltingAnalysisEnum && iomodel->domaintype== Mesh2DhorizontalEnum) continue;63 if(solution_enum==TransientSolutionEnum && analysis_enum==EnthalpyAnalysisEnum && iomodel->domaintype== Mesh2DhorizontalEnum) continue;61 if(solution_enum==TransientSolutionEnum && analysis_enum==ThermalAnalysisEnum && iomodel->domaintype==Domain2DhorizontalEnum) continue; 62 if(solution_enum==TransientSolutionEnum && analysis_enum==MeltingAnalysisEnum && iomodel->domaintype==Domain2DhorizontalEnum) continue; 63 if(solution_enum==TransientSolutionEnum && analysis_enum==EnthalpyAnalysisEnum && iomodel->domaintype==Domain2DhorizontalEnum) continue; 64 64 if(solution_enum==TransientSolutionEnum && analysis_enum==ThermalAnalysisEnum && isthermal==false) continue; 65 65 if(solution_enum==TransientSolutionEnum && analysis_enum==MeltingAnalysisEnum && isthermal==false) continue; -
issm/trunk-jpl/src/c/modules/ModelProcessorx/NodesPartitioning.cpp
r17686 r17700 65 65 66 66 /*First: add all the nodes of all the elements belonging to this cpu*/ 67 if(iomodel->domaintype== Mesh2DhorizontalEnum){67 if(iomodel->domaintype==Domain2DhorizontalEnum){ 68 68 for (i=0;i<iomodel->numberofelements;i++){ 69 69 if (my_elements[i]){ -
issm/trunk-jpl/src/c/modules/SetActiveNodesLSMx/SetActiveNodesLSMx.cpp
r17686 r17700 50 50 51 51 /* if solving 2d problem on vertically extende mesh, solve on basal layer only*/ 52 if(domaintype!= Mesh2DhorizontalEnum){52 if(domaintype!=Domain2DhorizontalEnum){ 53 53 femmodel->parameters->FindParam(&analysis_type,AnalysisTypeEnum); 54 54 if( -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r17686 r17700 211 211 MeshYEnum, 212 212 MeshZEnum, 213 MeshElementtypeEnum, 213 214 DomainTypeEnum, 214 215 DomainDimensionEnum, 215 MeshElementtypeEnum, 216 Mesh2DhorizontalEnum, 217 Mesh2DverticalEnum, 218 Mesh3DEnum, 219 Mesh3DtetrasEnum, 216 Domain2DhorizontalEnum, 217 Domain2DverticalEnum, 218 Domain3DEnum, 220 219 MiscellaneousNameEnum, //FIXME: only used by qmu, should not be marshalled (already in queueing script) 221 220 MasstransportHydrostaticAdjustmentEnum, -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r17686 r17700 219 219 case MeshYEnum : return "MeshY"; 220 220 case MeshZEnum : return "MeshZ"; 221 case MeshElementtypeEnum : return "MeshElementtype"; 221 222 case DomainTypeEnum : return "DomainType"; 222 223 case DomainDimensionEnum : return "DomainDimension"; 223 case MeshElementtypeEnum : return "MeshElementtype"; 224 case Mesh2DhorizontalEnum : return "Mesh2Dhorizontal"; 225 case Mesh2DverticalEnum : return "Mesh2Dvertical"; 226 case Mesh3DEnum : return "Mesh3D"; 227 case Mesh3DtetrasEnum : return "Mesh3Dtetras"; 224 case Domain2DhorizontalEnum : return "Domain2Dhorizontal"; 225 case Domain2DverticalEnum : return "Domain2Dvertical"; 226 case Domain3DEnum : return "Domain3D"; 228 227 case MiscellaneousNameEnum : return "MiscellaneousName"; 229 228 case MasstransportHydrostaticAdjustmentEnum : return "MasstransportHydrostaticAdjustment"; -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r17686 r17700 222 222 else if (strcmp(name,"MeshY")==0) return MeshYEnum; 223 223 else if (strcmp(name,"MeshZ")==0) return MeshZEnum; 224 else if (strcmp(name,"MeshElementtype")==0) return MeshElementtypeEnum; 224 225 else if (strcmp(name,"DomainType")==0) return DomainTypeEnum; 225 226 else if (strcmp(name,"DomainDimension")==0) return DomainDimensionEnum; 226 else if (strcmp(name,"MeshElementtype")==0) return MeshElementtypeEnum; 227 else if (strcmp(name,"Mesh2Dhorizontal")==0) return Mesh2DhorizontalEnum; 228 else if (strcmp(name,"Mesh2Dvertical")==0) return Mesh2DverticalEnum; 229 else if (strcmp(name,"Mesh3D")==0) return Mesh3DEnum; 230 else if (strcmp(name,"Mesh3Dtetras")==0) return Mesh3DtetrasEnum; 227 else if (strcmp(name,"Domain2Dhorizontal")==0) return Domain2DhorizontalEnum; 228 else if (strcmp(name,"Domain2Dvertical")==0) return Domain2DverticalEnum; 229 else if (strcmp(name,"Domain3D")==0) return Domain3DEnum; 231 230 else if (strcmp(name,"MiscellaneousName")==0) return MiscellaneousNameEnum; 232 231 else if (strcmp(name,"MasstransportHydrostaticAdjustment")==0) return MasstransportHydrostaticAdjustmentEnum; … … 260 259 else if (strcmp(name,"ProfilingCurrentMem")==0) return ProfilingCurrentMemEnum; 261 260 else if (strcmp(name,"ProfilingCurrentFlops")==0) return ProfilingCurrentFlopsEnum; 261 else if (strcmp(name,"ProfilingSolutionTime")==0) return ProfilingSolutionTimeEnum; 262 262 else stage=3; 263 263 } 264 264 if(stage==3){ 265 if (strcmp(name,"ProfilingSolutionTime")==0) return ProfilingSolutionTimeEnum; 266 else if (strcmp(name,"MaxIterationConvergenceFlag")==0) return MaxIterationConvergenceFlagEnum; 265 if (strcmp(name,"MaxIterationConvergenceFlag")==0) return MaxIterationConvergenceFlagEnum; 267 266 else if (strcmp(name,"SteadystateMaxiter")==0) return SteadystateMaxiterEnum; 268 267 else if (strcmp(name,"SteadystateNumRequestedOutputs")==0) return SteadystateNumRequestedOutputsEnum; … … 383 382 else if (strcmp(name,"FSpressure")==0) return FSpressureEnum; 384 383 else if (strcmp(name,"Constraints")==0) return ConstraintsEnum; 384 else if (strcmp(name,"Loads")==0) return LoadsEnum; 385 385 else stage=4; 386 386 } 387 387 if(stage==4){ 388 if (strcmp(name,"Loads")==0) return LoadsEnum; 389 else if (strcmp(name,"Materials")==0) return MaterialsEnum; 388 if (strcmp(name,"Materials")==0) return MaterialsEnum; 390 389 else if (strcmp(name,"Nodes")==0) return NodesEnum; 391 390 else if (strcmp(name,"Contours")==0) return ContoursEnum; … … 506 505 else if (strcmp(name,"VxPicard")==0) return VxPicardEnum; 507 506 else if (strcmp(name,"VyAverage")==0) return VyAverageEnum; 507 else if (strcmp(name,"Vy")==0) return VyEnum; 508 508 else stage=5; 509 509 } 510 510 if(stage==5){ 511 if (strcmp(name,"Vy")==0) return VyEnum; 512 else if (strcmp(name,"VyPicard")==0) return VyPicardEnum; 511 if (strcmp(name,"VyPicard")==0) return VyPicardEnum; 513 512 else if (strcmp(name,"Vz")==0) return VzEnum; 514 513 else if (strcmp(name,"VzSSA")==0) return VzSSAEnum; … … 629 628 else if (strcmp(name,"GaussSeg")==0) return GaussSegEnum; 630 629 else if (strcmp(name,"GaussTria")==0) return GaussTriaEnum; 630 else if (strcmp(name,"GaussTetra")==0) return GaussTetraEnum; 631 631 else stage=6; 632 632 } 633 633 if(stage==6){ 634 if (strcmp(name,"GaussTetra")==0) return GaussTetraEnum; 635 else if (strcmp(name,"GaussPenta")==0) return GaussPentaEnum; 634 if (strcmp(name,"GaussPenta")==0) return GaussPentaEnum; 636 635 else if (strcmp(name,"FSSolver")==0) return FSSolverEnum; 637 636 else if (strcmp(name,"Adjoint")==0) return AdjointEnum; -
issm/trunk-jpl/src/m/classes/mesh2d.py
r17688 r17700 108 108 #}}} 109 109 def marshall(self,md,fid): # {{{ 110 WriteData(fid,'enum',DomainTypeEnum(),'data',StringToEnum(" Mesh"+self.domaintype())[0],'format','Integer');110 WriteData(fid,'enum',DomainTypeEnum(),'data',StringToEnum("Domain"+self.domaintype())[0],'format','Integer'); 111 111 WriteData(fid,'enum',DomainDimensionEnum(),'data',self.dimension(),'format','Integer'); 112 112 WriteData(fid,'enum',MeshElementtypeEnum(),'data',StringToEnum(self.elementtype())[0],'format','Integer'); -
issm/trunk-jpl/src/m/classes/mesh2dvertical.m
r17688 r17700 104 104 end % }}} 105 105 function marshall(obj,md,fid) % {{{ 106 WriteData(fid,'enum',DomainTypeEnum(),'data',StringToEnum([' Mesh' domaintype(obj)]),'format','Integer');106 WriteData(fid,'enum',DomainTypeEnum(),'data',StringToEnum(['Domain' domaintype(obj)]),'format','Integer'); 107 107 WriteData(fid,'enum',DomainDimensionEnum(),'data',dimension(obj),'format','Integer'); 108 108 WriteData(fid,'enum',MeshElementtypeEnum(),'data',StringToEnum(elementtype(obj)),'format','Integer'); -
issm/trunk-jpl/src/m/classes/mesh3dprisms.m
r17688 r17700 135 135 end % }}} 136 136 function marshall(obj,md,fid) % {{{ 137 WriteData(fid,'enum',DomainTypeEnum(),'data',StringToEnum([' Mesh' domaintype(obj)]),'format','Integer');137 WriteData(fid,'enum',DomainTypeEnum(),'data',StringToEnum(['Domain' domaintype(obj)]),'format','Integer'); 138 138 WriteData(fid,'enum',DomainDimensionEnum(),'data',dimension(obj),'format','Integer'); 139 139 WriteData(fid,'enum',MeshElementtypeEnum(),'data',StringToEnum(elementtype(obj)),'format','Integer'); -
issm/trunk-jpl/src/m/classes/mesh3dprisms.py
r17688 r17700 139 139 #}}} 140 140 def marshall(self,md,fid): # {{{ 141 WriteData(fid,'enum',DomainTypeEnum(),'data',StringToEnum(" Mesh"+self.domaintype())[0],'format','Integer');141 WriteData(fid,'enum',DomainTypeEnum(),'data',StringToEnum("Domain"+self.domaintype())[0],'format','Integer'); 142 142 WriteData(fid,'enum',DomainDimensionEnum(),'data',self.dimension(),'format','Integer'); 143 143 WriteData(fid,'enum',MeshElementtypeEnum(),'data',StringToEnum(self.elementtype())[0],'format','Integer'); -
issm/trunk-jpl/src/m/classes/mesh3dtetras.m
r17699 r17700 129 129 end % }}} 130 130 function marshall(obj,md,fid) % {{{ 131 WriteData(fid,'enum',DomainTypeEnum(),'data',StringToEnum([' Mesh' domaintype(obj)]),'format','Integer');131 WriteData(fid,'enum',DomainTypeEnum(),'data',StringToEnum(['Domain' domaintype(obj)]),'format','Integer'); 132 132 WriteData(fid,'enum',DomainDimensionEnum(),'data',dimension(obj),'format','Integer'); 133 133 WriteData(fid,'enum',MeshElementtypeEnum(),'data',StringToEnum(elementtype(obj)),'format','Integer'); -
issm/trunk-jpl/src/m/enum/EnumDefinitions.py
r17686 r17700 211 211 def MeshYEnum(): return StringToEnum("MeshY")[0] 212 212 def MeshZEnum(): return StringToEnum("MeshZ")[0] 213 def MeshElementtypeEnum(): return StringToEnum("MeshElementtype")[0] 213 214 def DomainTypeEnum(): return StringToEnum("DomainType")[0] 214 215 def DomainDimensionEnum(): return StringToEnum("DomainDimension")[0] 215 def MeshElementtypeEnum(): return StringToEnum("MeshElementtype")[0] 216 def Mesh2DhorizontalEnum(): return StringToEnum("Mesh2Dhorizontal")[0] 217 def Mesh2DverticalEnum(): return StringToEnum("Mesh2Dvertical")[0] 218 def Mesh3DEnum(): return StringToEnum("Mesh3D")[0] 219 def Mesh3DtetrasEnum(): return StringToEnum("Mesh3Dtetras")[0] 216 def Domain2DhorizontalEnum(): return StringToEnum("Domain2Dhorizontal")[0] 217 def Domain2DverticalEnum(): return StringToEnum("Domain2Dvertical")[0] 218 def Domain3DEnum(): return StringToEnum("Domain3D")[0] 220 219 def MiscellaneousNameEnum(): return StringToEnum("MiscellaneousName")[0] 221 220 def MasstransportHydrostaticAdjustmentEnum(): return StringToEnum("MasstransportHydrostaticAdjustment")[0] -
issm/trunk-jpl/src/m/miscellaneous/vorticity.m
r17686 r17700 1 function rot = vorticity( vx,vy)1 function rot = vorticity(md,vx,vy) 2 2 %VORTICITY - calculates 2d vorticity 3 3 % … … 29 29 rot=dvxdy - dvydx; 30 30 31 if md.mesh.dimension==3,31 if strcmpi(meshtype(md.mesh),'3D'), 32 32 rot=project3d(md,'vector',rot,'type','element'); 33 33 end -
issm/trunk-jpl/src/wrappers/MeshPartition/MeshPartition.cpp
r17686 r17700 19 19 20 20 /* required input: */ 21 int domaintype;21 int meshelementtype; 22 22 int numberofelements; 23 23 int numberofvertices; … … 49 49 FetchData(&elements,NULL,&elements_width,mxGetAssignedField(MESH,0,"elements")); 50 50 51 if(strcmp(mxGetClassName(MESH),"mesh3d ")==0){52 domaintype = Mesh3DEnum;51 if(strcmp(mxGetClassName(MESH),"mesh3dprisms")==0){ 52 meshelementtype = PentaEnum; 53 53 FetchData(&numberofelements2d,mxGetAssignedField(MESH,0,"numberofelements2d")); 54 54 FetchData(&numberofvertices2d,mxGetAssignedField(MESH,0,"numberofvertices2d")); … … 57 57 } 58 58 else if(strcmp(mxGetClassName(MESH),"mesh2dhorizontal")==0){ 59 domaintype = Mesh2DhorizontalEnum;59 meshelementtype = TriaEnum; 60 60 numberoflayers=1; 61 61 } 62 62 else if(strcmp(mxGetClassName(MESH),"mesh2dvertical")==0){ 63 domaintype = Mesh2DverticalEnum;63 meshelementtype = TriaEnum; 64 64 numberoflayers=1; 65 65 } … … 71 71 /*Run partitioning algorithm based on a "clever" use of the Metis partitioner: */ 72 72 MeshPartitionx(&int_element_partitioning,&int_node_partitioning,numberofelements,numberofvertices,elements, 73 numberofelements2d,numberofvertices2d,elements2d,numberoflayers,elements_width, domaintype,numareas);73 numberofelements2d,numberofvertices2d,elements2d,numberoflayers,elements_width,meshelementtype,numareas); 74 74 75 75 /*Post process node_partitioning and element_partitioning to be in double format. Metis needed them in int* format: */
Note:
See TracChangeset
for help on using the changeset viewer.