Changeset 17610
- Timestamp:
- 03/31/14 16:43:09 (11 years ago)
- Location:
- issm/trunk-jpl
- Files:
-
- 2 added
- 2 deleted
- 78 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/BalancethicknessAnalysis.cpp
r17585 r17610 45 45 46 46 if(iomodel->meshtype==Mesh3DEnum){ 47 iomodel->FetchDataToInput(elements,MeshElementonb edEnum);47 iomodel->FetchDataToInput(elements,MeshElementonbaseEnum); 48 48 iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum); 49 49 } … … 58 58 59 59 /*First fetch data: */ 60 if(iomodel->meshtype==Mesh3DEnum) iomodel->FetchData(2,MeshVertexonb edEnum,MeshVertexonsurfaceEnum);60 if(iomodel->meshtype==Mesh3DEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 61 61 if(stabilization!=3){ 62 62 ::CreateNodes(nodes,iomodel,BalancethicknessAnalysisEnum,P1Enum); … … 65 65 ::CreateNodes(nodes,iomodel,BalancethicknessAnalysisEnum,P1DGEnum); 66 66 } 67 iomodel->DeleteData(2,MeshVertexonb edEnum,MeshVertexonsurfaceEnum);67 iomodel->DeleteData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 68 68 }/*}}}*/ 69 69 void BalancethicknessAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ -
issm/trunk-jpl/src/c/analyses/BalancevelocityAnalysis.cpp
r17585 r17610 34 34 35 35 if(iomodel->meshtype==Mesh3DEnum){ 36 iomodel->FetchDataToInput(elements,MeshElementonb edEnum);36 iomodel->FetchDataToInput(elements,MeshElementonbaseEnum); 37 37 iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum); 38 38 } -
issm/trunk-jpl/src/c/analyses/DamageEvolutionAnalysis.cpp
r17585 r17610 73 73 void DamageEvolutionAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 74 74 75 if(iomodel->meshtype!=Mesh2DhorizontalEnum) iomodel->FetchData(1,MeshVertexonb edEnum);75 if(iomodel->meshtype!=Mesh2DhorizontalEnum) iomodel->FetchData(1,MeshVertexonbaseEnum); 76 76 ::CreateNodes(nodes,iomodel,DamageEvolutionAnalysisEnum,P1Enum); 77 iomodel->DeleteData(1,MeshVertexonb edEnum);77 iomodel->DeleteData(1,MeshVertexonbaseEnum); 78 78 }/*}}}*/ 79 79 void DamageEvolutionAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ -
issm/trunk-jpl/src/c/analyses/DepthAverageAnalysis.cpp
r17511 r17610 23 23 24 24 if(iomodel->meshtype==Mesh2DverticalEnum){ 25 iomodel->FetchDataToInput(elements,MeshVertexonb edEnum);25 iomodel->FetchDataToInput(elements,MeshVertexonbaseEnum); 26 26 } 27 27 }/*}}}*/ -
issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp
r17609 r17610 59 59 iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum); 60 60 iomodel->FetchDataToInput(elements,MaskGroundediceLevelsetEnum); 61 iomodel->FetchDataToInput(elements,MeshElementonb edEnum);61 iomodel->FetchDataToInput(elements,MeshElementonbaseEnum); 62 62 iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum); 63 63 iomodel->FetchDataToInput(elements,FlowequationElementEquationEnum); … … 86 86 if(islevelset){ 87 87 iomodel->FetchDataToInput(elements,IceMaskNodeActivationEnum); 88 iomodel->FetchDataToInput(elements,MeshVertexonb edEnum); // required for updating active nodes88 iomodel->FetchDataToInput(elements,MeshVertexonbaseEnum); // required for updating active nodes 89 89 } 90 90 … … 94 94 void EnthalpyAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 95 95 96 if(iomodel->meshtype==Mesh3DEnum) iomodel->FetchData(2,MeshVertexonb edEnum,MeshVertexonsurfaceEnum);96 if(iomodel->meshtype==Mesh3DEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 97 97 ::CreateNodes(nodes,iomodel,EnthalpyAnalysisEnum,P1Enum); 98 iomodel->DeleteData(2,MeshVertexonb edEnum,MeshVertexonsurfaceEnum);98 iomodel->DeleteData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 99 99 }/*}}}*/ 100 100 void EnthalpyAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ -
issm/trunk-jpl/src/c/analyses/ExtrapolationAnalysis.cpp
r17600 r17610 31 31 } 32 32 if(iomodel->meshtype==Mesh3DEnum){ 33 iomodel->FetchDataToInput(elements,MeshElementonb edEnum);33 iomodel->FetchDataToInput(elements,MeshElementonbaseEnum); 34 34 iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum); 35 35 } … … 38 38 void ExtrapolationAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 39 39 int finiteelement=P1Enum; 40 if(iomodel->meshtype!=Mesh2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonb edEnum,MeshVertexonsurfaceEnum);40 if(iomodel->meshtype!=Mesh2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 41 41 ::CreateNodes(nodes,iomodel,ExtrapolationAnalysisEnum,finiteelement); 42 iomodel->DeleteData(2,MeshVertexonb edEnum,MeshVertexonsurfaceEnum);42 iomodel->DeleteData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 43 43 } 44 44 /*}}}*/ -
issm/trunk-jpl/src/c/analyses/ExtrudeFromBaseAnalysis.cpp
r17585 r17610 23 23 24 24 if(iomodel->meshtype==Mesh2DverticalEnum){ 25 iomodel->FetchDataToInput(elements,MeshVertexonb edEnum);25 iomodel->FetchDataToInput(elements,MeshVertexonbaseEnum); 26 26 } 27 27 }/*}}}*/ -
issm/trunk-jpl/src/c/analyses/ExtrudeFromTopAnalysis.cpp
r17585 r17610 23 23 24 24 if(iomodel->meshtype==Mesh2DverticalEnum){ 25 iomodel->FetchDataToInput(elements,MeshVertexonb edEnum);25 iomodel->FetchDataToInput(elements,MeshVertexonbaseEnum); 26 26 } 27 27 }/*}}}*/ -
issm/trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.cpp
r17600 r17610 37 37 if(iomodel->meshtype==Mesh3DEnum){ 38 38 iomodel->FetchDataToInput(elements,VzEnum); 39 iomodel->FetchDataToInput(elements,MeshElementonb edEnum);39 iomodel->FetchDataToInput(elements,MeshElementonbaseEnum); 40 40 iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum); 41 41 } … … 43 43 void FreeSurfaceBaseAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 44 44 45 if(iomodel->meshtype!=Mesh2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonb edEnum,MeshVertexonsurfaceEnum);45 if(iomodel->meshtype!=Mesh2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 46 46 ::CreateNodes(nodes,iomodel,FreeSurfaceBaseAnalysisEnum,P1Enum); 47 iomodel->DeleteData(2,MeshVertexonb edEnum,MeshVertexonsurfaceEnum);47 iomodel->DeleteData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 48 48 }/*}}}*/ 49 49 void FreeSurfaceBaseAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ … … 58 58 /*Create Penpair for vertex_pairing: */ 59 59 IssmDouble *vertex_pairing=NULL; 60 IssmDouble *nodeonb ed=NULL;60 IssmDouble *nodeonbase=NULL; 61 61 iomodel->FetchData(&vertex_pairing,&numvertex_pairing,NULL,MasstransportVertexPairingEnum); 62 if(iomodel->meshtype!=Mesh2DhorizontalEnum) iomodel->FetchData(&nodeonb ed,NULL,NULL,MeshVertexonbedEnum);62 if(iomodel->meshtype!=Mesh2DhorizontalEnum) iomodel->FetchData(&nodeonbase,NULL,NULL,MeshVertexonbaseEnum); 63 63 for(int i=0;i<numvertex_pairing;i++){ 64 64 … … 70 70 /*Skip if one of the two is not on the bed*/ 71 71 if(iomodel->meshtype!=Mesh2DhorizontalEnum){ 72 if(!(reCast<bool>(nodeonb ed[reCast<int>(vertex_pairing[2*i+0])-1])) || !(reCast<bool>(nodeonbed[reCast<int>(vertex_pairing[2*i+1])-1]))) continue;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 } 74 74 … … 88 88 /*free ressources: */ 89 89 iomodel->DeleteData(vertex_pairing,MasstransportVertexPairingEnum); 90 iomodel->DeleteData(nodeonb ed,MeshVertexonbedEnum);90 iomodel->DeleteData(nodeonbase,MeshVertexonbaseEnum); 91 91 }/*}}}*/ 92 92 … … 368 368 369 369 /*Intermediary*/ 370 IssmDouble phi,isonb ed,base;370 IssmDouble phi,isonbase,base; 371 371 372 372 for(int i=0;i<femmodel->elements->Size();i++){ … … 377 377 int numnodes = element->GetNumberOfNodes(); 378 378 Input* groundedice_input = element->GetInput(MaskGroundediceLevelsetEnum); _assert_(groundedice_input); 379 Input* onb ed_input = element->GetInput(MeshVertexonbedEnum); _assert_(onbed_input);379 Input* onbase_input = element->GetInput(MeshVertexonbaseEnum); _assert_(onbase_input); 380 380 Input* base_input = element->GetInput(BaseEnum); _assert_(base_input); 381 381 … … 383 383 for(int iv=0;iv<numnodes;iv++){ 384 384 gauss->GaussNode(element->GetElementType(),iv); 385 onb ed_input->GetInputValue(&isonbed,gauss);386 if(isonb ed==1.){385 onbase_input->GetInputValue(&isonbase,gauss); 386 if(isonbase==1.){ 387 387 groundedice_input->GetInputValue(&phi,gauss); 388 388 if(phi>=0.){ -
issm/trunk-jpl/src/c/analyses/FreeSurfaceTopAnalysis.cpp
r17518 r17610 38 38 if(iomodel->meshtype==Mesh3DEnum){ 39 39 iomodel->FetchDataToInput(elements,VzEnum); 40 iomodel->FetchDataToInput(elements,MeshElementonb edEnum);40 iomodel->FetchDataToInput(elements,MeshElementonbaseEnum); 41 41 iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum); 42 42 } … … 52 52 void FreeSurfaceTopAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 53 53 54 if(iomodel->meshtype!=Mesh2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonb edEnum,MeshVertexonsurfaceEnum);54 if(iomodel->meshtype!=Mesh2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 55 55 ::CreateNodes(nodes,iomodel,FreeSurfaceTopAnalysisEnum,P1Enum); 56 iomodel->DeleteData(2,MeshVertexonb edEnum,MeshVertexonsurfaceEnum);56 iomodel->DeleteData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 57 57 }/*}}}*/ 58 58 void FreeSurfaceTopAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ -
issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp
r17609 r17610 56 56 iomodel->FetchDataToInput(elements,HydrologydcSedimentTransmitivityEnum); 57 57 iomodel->FetchDataToInput(elements,HydrologydcEplThicknessEnum); 58 if(iomodel->meshtype==Mesh3DEnum) iomodel->FetchDataToInput(elements,MeshElementonb edEnum);58 if(iomodel->meshtype==Mesh3DEnum) iomodel->FetchDataToInput(elements,MeshElementonbaseEnum); 59 59 60 60 // elements->InputDuplicate(HydrologydcEplInitialThicknessEnum,HydrologydcEplThicknessEnum); … … 73 73 if(!isefficientlayer) return; 74 74 75 if(iomodel->meshtype!=Mesh2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonb edEnum,MeshVertexonsurfaceEnum);75 if(iomodel->meshtype!=Mesh2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 76 76 ::CreateNodes(nodes,iomodel,HydrologyDCEfficientAnalysisEnum,P1Enum); 77 iomodel->DeleteData(2,MeshVertexonb edEnum,MeshVertexonsurfaceEnum);77 iomodel->DeleteData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 78 78 }/*}}}*/ 79 79 void HydrologyDCEfficientAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ -
issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp
r17585 r17610 88 88 iomodel->FetchDataToInput(elements,SedimentHeadEnum); 89 89 iomodel->FetchDataToInput(elements,HydrologydcSedimentTransmitivityEnum); 90 if(iomodel->meshtype==Mesh3DEnum) iomodel->FetchDataToInput(elements,MeshElementonb edEnum);90 if(iomodel->meshtype==Mesh3DEnum) 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->meshtype!=Mesh2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonb edEnum,MeshVertexonsurfaceEnum);103 if(iomodel->meshtype!=Mesh2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 104 104 ::CreateNodes(nodes,iomodel,HydrologyDCInefficientAnalysisEnum,P1Enum); 105 iomodel->DeleteData(2,MeshVertexonb edEnum,MeshVertexonsurfaceEnum);105 iomodel->DeleteData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 106 106 }/*}}}*/ 107 107 void HydrologyDCInefficientAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ … … 121 121 if(hydrology_model!=HydrologydcEnum) return; 122 122 123 if(iomodel->meshtype==Mesh3DEnum) iomodel->FetchData(1,MeshVertexonb edEnum);123 if(iomodel->meshtype==Mesh3DEnum) iomodel->FetchData(1,MeshVertexonbaseEnum); 124 124 125 125 //create penalties for nodes: no node can have water above the max … … 132 132 } 133 133 } 134 else if(reCast<int>(iomodel->Data(MeshVertexonb edEnum)[i])){134 else if(reCast<int>(iomodel->Data(MeshVertexonbaseEnum)[i])){ 135 135 if(iomodel->my_vertices[i]){ 136 136 loads->AddObject(new Pengrid(iomodel->loadcounter+i+1,i,iomodel,HydrologyDCInefficientAnalysisEnum)); … … 138 138 } 139 139 } 140 iomodel->DeleteData(1,MeshVertexonb edEnum);140 iomodel->DeleteData(1,MeshVertexonbaseEnum); 141 141 }/*}}}*/ 142 142 -
issm/trunk-jpl/src/c/analyses/HydrologyShreveAnalysis.cpp
r17609 r17610 44 44 iomodel->FetchDataToInput(elements,SurfaceEnum); 45 45 iomodel->FetchDataToInput(elements,BaseEnum); 46 iomodel->FetchDataToInput(elements,MeshElementonb edEnum);46 iomodel->FetchDataToInput(elements,MeshElementonbaseEnum); 47 47 iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum); 48 48 iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum); … … 62 62 if(hydrology_model!=HydrologyshreveEnum) return; 63 63 64 if(iomodel->meshtype==Mesh3DEnum) iomodel->FetchData(2,MeshVertexonb edEnum,MeshVertexonsurfaceEnum);64 if(iomodel->meshtype==Mesh3DEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 65 65 ::CreateNodes(nodes,iomodel,HydrologyShreveAnalysisEnum,P1Enum); 66 iomodel->DeleteData(2,MeshVertexonb edEnum,MeshVertexonsurfaceEnum);66 iomodel->DeleteData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 67 67 }/*}}}*/ 68 68 void HydrologyShreveAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ -
issm/trunk-jpl/src/c/analyses/L2ProjectionBaseAnalysis.cpp
r17585 r17610 27 27 iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum); 28 28 if(iomodel->meshtype==Mesh3DEnum){ 29 iomodel->FetchDataToInput(elements,MeshElementonb edEnum);29 iomodel->FetchDataToInput(elements,MeshElementonbaseEnum); 30 30 iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum); 31 31 } 32 32 if(iomodel->meshtype==Mesh2DverticalEnum){ 33 iomodel->FetchDataToInput(elements,MeshVertexonb edEnum);33 iomodel->FetchDataToInput(elements,MeshVertexonbaseEnum); 34 34 } 35 35 }/*}}}*/ … … 37 37 38 38 if(iomodel->meshtype==Mesh3DEnum || iomodel->meshtype==Mesh3DtetrasEnum){ 39 iomodel->FetchData(2,MeshVertexonb edEnum,MeshVertexonsurfaceEnum);39 iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 40 40 } 41 41 else if(iomodel->meshtype==Mesh2DverticalEnum){ 42 iomodel->FetchData(1,MeshVertexonb edEnum);42 iomodel->FetchData(1,MeshVertexonbaseEnum); 43 43 } 44 44 ::CreateNodes(nodes,iomodel,L2ProjectionBaseAnalysisEnum,P1Enum); 45 iomodel->DeleteData(2,MeshVertexonb edEnum,MeshVertexonsurfaceEnum);45 iomodel->DeleteData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 46 46 }/*}}}*/ 47 47 void L2ProjectionBaseAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ -
issm/trunk-jpl/src/c/analyses/L2ProjectionEPLAnalysis.cpp
r17585 r17610 37 37 iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum); 38 38 if(iomodel->meshtype==Mesh3DEnum){ 39 iomodel->FetchDataToInput(elements,MeshElementonb edEnum);39 iomodel->FetchDataToInput(elements,MeshElementonbaseEnum); 40 40 } 41 41 }/*}}}*/ … … 52 52 53 53 if(iomodel->meshtype==Mesh3DEnum){ 54 iomodel->FetchData(1,MeshVertexonb edEnum);54 iomodel->FetchData(1,MeshVertexonbaseEnum); 55 55 } 56 56 else if(iomodel->meshtype==Mesh2DverticalEnum){ 57 iomodel->FetchData(1,MeshVertexonb edEnum);57 iomodel->FetchData(1,MeshVertexonbaseEnum); 58 58 } 59 59 ::CreateNodes(nodes,iomodel,L2ProjectionEPLAnalysisEnum,P1Enum); 60 iomodel->DeleteData(1,MeshVertexonb edEnum);60 iomodel->DeleteData(1,MeshVertexonbaseEnum); 61 61 }/*}}}*/ 62 62 void L2ProjectionEPLAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ -
issm/trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp
r17585 r17610 38 38 void LevelsetAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 39 39 int finiteelement=P1Enum; 40 if(iomodel->meshtype!=Mesh2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonb edEnum,MeshVertexonsurfaceEnum);40 if(iomodel->meshtype!=Mesh2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 41 41 ::CreateNodes(nodes,iomodel,LevelsetAnalysisEnum,finiteelement); 42 iomodel->DeleteData(2,MeshVertexonb edEnum,MeshVertexonsurfaceEnum);42 iomodel->DeleteData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 43 43 } 44 44 /*}}}*/ -
issm/trunk-jpl/src/c/analyses/LsfReinitializationAnalysis.cpp
r17600 r17610 36 36 void LsfReinitializationAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 37 37 int finiteelement=P1Enum; 38 if(iomodel->meshtype!=Mesh2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonb edEnum,MeshVertexonsurfaceEnum);38 if(iomodel->meshtype!=Mesh2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 39 39 ::CreateNodes(nodes,iomodel,LsfReinitializationAnalysisEnum,finiteelement); 40 iomodel->DeleteData(2,MeshVertexonb edEnum,MeshVertexonsurfaceEnum);40 iomodel->DeleteData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 41 41 }/*}}}*/ 42 42 void LsfReinitializationAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ -
issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp
r17585 r17610 84 84 85 85 if(iomodel->meshtype==Mesh3DEnum){ 86 iomodel->FetchDataToInput(elements,MeshElementonb edEnum);86 iomodel->FetchDataToInput(elements,MeshElementonbaseEnum); 87 87 iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum); 88 88 } … … 91 91 iomodel->FetchDataToInput(elements,IceMaskNodeActivationEnum); 92 92 if(iomodel->meshtype!=Mesh2DhorizontalEnum) 93 iomodel->FetchDataToInput(elements,MeshVertexonb edEnum); // required for updating active nodes93 iomodel->FetchDataToInput(elements,MeshVertexonbaseEnum); // required for updating active nodes 94 94 } 95 95 … … 135 135 136 136 /*Create Nodes either DG or CG depending on stabilization*/ 137 if(iomodel->meshtype!=Mesh2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonb edEnum,MeshVertexonsurfaceEnum);137 if(iomodel->meshtype!=Mesh2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 138 138 if(stabilization!=3){ 139 139 ::CreateNodes(nodes,iomodel,MasstransportAnalysisEnum,P1Enum); … … 142 142 ::CreateNodes(nodes,iomodel,MasstransportAnalysisEnum,P1DGEnum); 143 143 } 144 iomodel->DeleteData(2,MeshVertexonb edEnum,MeshVertexonsurfaceEnum);144 iomodel->DeleteData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 145 145 }/*}}}*/ 146 146 void MasstransportAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ … … 193 193 /*Create Penpair for vertex_pairing: */ 194 194 IssmDouble *vertex_pairing=NULL; 195 IssmDouble *nodeonb ed=NULL;195 IssmDouble *nodeonbase=NULL; 196 196 iomodel->FetchData(&vertex_pairing,&numvertex_pairing,NULL,MasstransportVertexPairingEnum); 197 if(iomodel->meshtype!=Mesh2DhorizontalEnum) iomodel->FetchData(&nodeonb ed,NULL,NULL,MeshVertexonbedEnum);197 if(iomodel->meshtype!=Mesh2DhorizontalEnum) iomodel->FetchData(&nodeonbase,NULL,NULL,MeshVertexonbaseEnum); 198 198 199 199 for(int i=0;i<numvertex_pairing;i++){ … … 206 206 /*Skip if one of the two is not on the bed*/ 207 207 if(iomodel->meshtype!=Mesh2DhorizontalEnum){ 208 if(!(reCast<bool>(nodeonb ed[reCast<int>(vertex_pairing[2*i+0])-1])) || !(reCast<bool>(nodeonbed[reCast<int>(vertex_pairing[2*i+1])-1]))) continue;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 } 210 210 … … 224 224 /*free ressources: */ 225 225 iomodel->DeleteData(vertex_pairing,MasstransportVertexPairingEnum); 226 iomodel->DeleteData(nodeonb ed,MeshVertexonbedEnum);226 iomodel->DeleteData(nodeonbase,MeshVertexonbaseEnum); 227 227 228 228 }/*}}}*/ -
issm/trunk-jpl/src/c/analyses/MeltingAnalysis.cpp
r17585 r17610 34 34 iomodel->FetchDataToInput(elements,FrictionQEnum); 35 35 iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum); 36 iomodel->FetchDataToInput(elements,MeshElementonb edEnum);36 iomodel->FetchDataToInput(elements,MeshElementonbaseEnum); 37 37 iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum); 38 38 iomodel->FetchDataToInput(elements,FlowequationElementEquationEnum); … … 44 44 void MeltingAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 45 45 46 if(iomodel->meshtype==Mesh3DEnum) iomodel->FetchData(2,MeshVertexonb edEnum,MeshVertexonsurfaceEnum);46 if(iomodel->meshtype==Mesh3DEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 47 47 ::CreateNodes(nodes,iomodel,MeltingAnalysisEnum,P1Enum); 48 iomodel->DeleteData(2,MeshVertexonb edEnum,MeshVertexonsurfaceEnum);48 iomodel->DeleteData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 49 49 }/*}}}*/ 50 50 void MeltingAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ … … 57 57 58 58 //create penalties for nodes: no node can have a temperature over the melting point 59 iomodel->FetchData(1,MeshVertexonb edEnum);59 iomodel->FetchData(1,MeshVertexonbaseEnum); 60 60 CreateSingleNodeToElementConnectivity(iomodel); 61 61 62 62 for(int i=0;i<iomodel->numberofvertices;i++){ 63 63 if(iomodel->my_vertices[i]){ 64 if (reCast<int>(iomodel->Data(MeshVertexonb edEnum)[i])){64 if (reCast<int>(iomodel->Data(MeshVertexonbaseEnum)[i])){ 65 65 loads->AddObject(new Pengrid(iomodel->loadcounter+i+1,i,iomodel,MeltingAnalysisEnum)); 66 66 } 67 67 } 68 68 } 69 iomodel->DeleteData(1,MeshVertexonb edEnum);69 iomodel->DeleteData(1,MeshVertexonbaseEnum); 70 70 71 71 }/*}}}*/ -
issm/trunk-jpl/src/c/analyses/SmoothedSurfaceSlopeXAnalysis.cpp
r17585 r17610 27 27 iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum); 28 28 if(iomodel->meshtype==Mesh3DEnum){ 29 iomodel->FetchDataToInput(elements,MeshElementonb edEnum);29 iomodel->FetchDataToInput(elements,MeshElementonbaseEnum); 30 30 iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum); 31 31 } 32 32 if(iomodel->meshtype==Mesh2DverticalEnum){ 33 iomodel->FetchDataToInput(elements,MeshVertexonb edEnum);33 iomodel->FetchDataToInput(elements,MeshVertexonbaseEnum); 34 34 } 35 35 }/*}}}*/ 36 36 void SmoothedSurfaceSlopeXAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 37 if(iomodel->meshtype==Mesh3DEnum) iomodel->FetchData(1,MeshVertexonb edEnum);37 if(iomodel->meshtype==Mesh3DEnum) iomodel->FetchData(1,MeshVertexonbaseEnum); 38 38 ::CreateNodes(nodes,iomodel,SmoothedSurfaceSlopeXAnalysisEnum,P1Enum); 39 if(iomodel->meshtype==Mesh3DEnum) iomodel->DeleteData(1,MeshVertexonb edEnum);39 if(iomodel->meshtype==Mesh3DEnum) iomodel->DeleteData(1,MeshVertexonbaseEnum); 40 40 }/*}}}*/ 41 41 void SmoothedSurfaceSlopeXAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ -
issm/trunk-jpl/src/c/analyses/SmoothedSurfaceSlopeYAnalysis.cpp
r17585 r17610 27 27 iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum); 28 28 if(iomodel->meshtype==Mesh3DEnum){ 29 iomodel->FetchDataToInput(elements,MeshElementonb edEnum);29 iomodel->FetchDataToInput(elements,MeshElementonbaseEnum); 30 30 iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum); 31 31 } 32 32 if(iomodel->meshtype==Mesh2DverticalEnum){ 33 iomodel->FetchDataToInput(elements,MeshVertexonb edEnum);33 iomodel->FetchDataToInput(elements,MeshVertexonbaseEnum); 34 34 } 35 35 }/*}}}*/ 36 36 void SmoothedSurfaceSlopeYAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 37 if(iomodel->meshtype==Mesh3DEnum) iomodel->FetchData(1,MeshVertexonb edEnum);37 if(iomodel->meshtype==Mesh3DEnum) iomodel->FetchData(1,MeshVertexonbaseEnum); 38 38 ::CreateNodes(nodes,iomodel,SmoothedSurfaceSlopeYAnalysisEnum,P1Enum); 39 if(iomodel->meshtype==Mesh3DEnum) iomodel->DeleteData(1,MeshVertexonb edEnum);39 if(iomodel->meshtype==Mesh3DEnum) iomodel->DeleteData(1,MeshVertexonbaseEnum); 40 40 }/*}}}*/ 41 41 void SmoothedSurfaceSlopeYAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ -
issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
r17609 r17610 211 211 212 212 if(iomodel->meshtype==Mesh3DEnum){ 213 iomodel->FetchDataToInput(elements,MeshElementonb edEnum);213 iomodel->FetchDataToInput(elements,MeshElementonbaseEnum); 214 214 iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum); 215 215 iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum); … … 220 220 } 221 221 if(iomodel->meshtype==Mesh3DtetrasEnum){ 222 iomodel->FetchDataToInput(elements,MeshVertexonb edEnum);222 iomodel->FetchDataToInput(elements,MeshVertexonbaseEnum); 223 223 iomodel->FetchDataToInput(elements,MeshVertexonsurfaceEnum); 224 224 iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum); … … 231 231 } 232 232 if(isFS){ 233 iomodel->FetchDataToInput(elements,MeshVertexonb edEnum);233 iomodel->FetchDataToInput(elements,MeshVertexonbaseEnum); 234 234 iomodel->FetchDataToInput(elements,PressureEnum,0.); 235 235 if(dakota_analysis)elements->InputDuplicate(PressureEnum,QmuPressureEnum); … … 238 238 iomodel->FetchDataToInput(elements,IceMaskNodeActivationEnum); 239 239 if(iomodel->meshtype!=Mesh2DhorizontalEnum) 240 iomodel->FetchDataToInput(elements,MeshVertexonb edEnum); // required for updating active nodes240 iomodel->FetchDataToInput(elements,MeshVertexonbaseEnum); // required for updating active nodes 241 241 } 242 242 … … 291 291 } 292 292 iomodel->FetchData(3,FlowequationBorderSSAEnum,FlowequationVertexEquationEnum,StressbalanceReferentialEnum); 293 if(iomodel->meshtype!=Mesh2DhorizontalEnum) iomodel->FetchData(3,MeshVertexonb edEnum,MeshVertexonsurfaceEnum,FlowequationBorderFSEnum);293 if(iomodel->meshtype!=Mesh2DhorizontalEnum) iomodel->FetchData(3,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum,FlowequationBorderFSEnum); 294 294 ::CreateNodes(nodes,iomodel,StressbalanceAnalysisEnum,finiteelement,approximation); 295 iomodel->DeleteData(6,MeshVertexonb edEnum,MeshVertexonsurfaceEnum,FlowequationBorderSSAEnum,FlowequationBorderFSEnum,295 iomodel->DeleteData(6,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum,FlowequationBorderSSAEnum,FlowequationBorderFSEnum, 296 296 FlowequationVertexEquationEnum,StressbalanceReferentialEnum); 297 297 } … … 303 303 if(!nodes) nodes = new Nodes(); 304 304 305 iomodel->FetchData(6,MeshVertexonb edEnum,MeshVertexonsurfaceEnum,FlowequationBorderSSAEnum,FlowequationBorderFSEnum,305 iomodel->FetchData(6,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum,FlowequationBorderSSAEnum,FlowequationBorderFSEnum, 306 306 FlowequationVertexEquationEnum,StressbalanceReferentialEnum); 307 307 if(isFS){ … … 340 340 } 341 341 } 342 iomodel->DeleteData(6,MeshVertexonb edEnum,MeshVertexonsurfaceEnum,FlowequationBorderSSAEnum,FlowequationBorderFSEnum,342 iomodel->DeleteData(6,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum,FlowequationBorderSSAEnum,FlowequationBorderFSEnum, 343 343 FlowequationVertexEquationEnum,StressbalanceReferentialEnum); 344 344 } … … 363 363 IssmDouble *nodeonHO = NULL; 364 364 IssmDouble *nodeonFS = NULL; 365 IssmDouble *nodeonb ed= NULL;365 IssmDouble *nodeonbase = NULL; 366 366 IssmDouble *groundedice_ls = NULL; 367 367 IssmDouble *vertices_type = NULL; … … 421 421 iomodel->FetchData(&vertices_type,NULL,NULL,FlowequationVertexEquationEnum); 422 422 iomodel->FetchData(&nodeonFS,NULL,NULL,FlowequationBorderFSEnum); 423 iomodel->FetchData(&nodeonb ed,NULL,NULL,MeshVertexonbedEnum);423 iomodel->FetchData(&nodeonbase,NULL,NULL,MeshVertexonbaseEnum); 424 424 iomodel->FetchData(&groundedice_ls,NULL,NULL,MaskGroundediceLevelsetEnum); 425 425 if(iomodel->meshtype==Mesh3DEnum || iomodel->meshtype==Mesh3DtetrasEnum){ … … 448 448 iomodel->DeleteData(vertices_type,FlowequationVertexEquationEnum); 449 449 iomodel->DeleteData(nodeonFS,FlowequationBorderFSEnum); 450 iomodel->DeleteData(nodeonb ed,MeshVertexonbedEnum);450 iomodel->DeleteData(nodeonbase,MeshVertexonbaseEnum); 451 451 iomodel->DeleteData(groundedice_ls,MaskGroundediceLevelsetEnum); 452 452 … … 514 514 if(iomodel->meshtype==Mesh3DEnum || iomodel->meshtype==Mesh3DtetrasEnum)iomodel->FetchData(&nodeonHO,NULL,NULL,FlowequationBorderHOEnum); 515 515 if(iomodel->meshtype==Mesh3DEnum || iomodel->meshtype==Mesh3DtetrasEnum)iomodel->FetchData(&nodeonFS,NULL,NULL,FlowequationBorderFSEnum); 516 if(iomodel->meshtype==Mesh3DEnum || iomodel->meshtype==Mesh3DtetrasEnum)iomodel->FetchData(&nodeonb ed,NULL,NULL,MeshVertexonbedEnum);516 if(iomodel->meshtype==Mesh3DEnum || iomodel->meshtype==Mesh3DtetrasEnum)iomodel->FetchData(&nodeonbase,NULL,NULL,MeshVertexonbaseEnum); 517 517 if(iomodel->meshtype==Mesh3DEnum || iomodel->meshtype==Mesh3DtetrasEnum)iomodel->FetchData(&groundedice_ls,NULL,NULL,MaskGroundediceLevelsetEnum); 518 518 iomodel->FetchData(&vertices_type,NULL,NULL,FlowequationVertexEquationEnum); … … 744 744 if(iomodel->meshtype==Mesh3DEnum || iomodel->meshtype==Mesh3DtetrasEnum)iomodel->DeleteData(nodeonHO,FlowequationBorderHOEnum); 745 745 if(iomodel->meshtype==Mesh3DEnum || iomodel->meshtype==Mesh3DtetrasEnum)iomodel->DeleteData(nodeonFS,FlowequationBorderFSEnum); 746 if(iomodel->meshtype==Mesh3DEnum || iomodel->meshtype==Mesh3DtetrasEnum)iomodel->DeleteData(nodeonb ed,MeshVertexonbedEnum);746 if(iomodel->meshtype==Mesh3DEnum || iomodel->meshtype==Mesh3DtetrasEnum)iomodel->DeleteData(nodeonbase,MeshVertexonbaseEnum); 747 747 if(iomodel->meshtype==Mesh3DEnum || iomodel->meshtype==Mesh3DtetrasEnum)iomodel->DeleteData(groundedice_ls,MaskGroundediceLevelsetEnum); 748 748 iomodel->DeleteData(vertices_type,FlowequationVertexEquationEnum); -
issm/trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.cpp
r17600 r17610 43 43 iomodel->FetchDataToInput(elements,IceMaskNodeActivationEnum); 44 44 if(iomodel->meshtype!=Mesh2DhorizontalEnum) 45 iomodel->FetchDataToInput(elements,MeshVertexonb edEnum); // required for updating active nodes45 iomodel->FetchDataToInput(elements,MeshVertexonbaseEnum); // required for updating active nodes 46 46 } 47 47 … … 65 65 iomodel->FetchData(4,FlowequationBorderSSAEnum,FlowequationBorderFSEnum,FlowequationVertexEquationEnum,StressbalanceReferentialEnum); 66 66 if(iomodel->meshtype!=Mesh2DhorizontalEnum){ 67 iomodel->FetchData(2,MeshVertexonb edEnum,MeshVertexonsurfaceEnum);67 iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 68 68 } 69 69 … … 84 84 } 85 85 86 iomodel->DeleteData(6,MeshVertexonb edEnum,MeshVertexonsurfaceEnum,FlowequationBorderSSAEnum,FlowequationBorderFSEnum,86 iomodel->DeleteData(6,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum,FlowequationBorderSSAEnum,FlowequationBorderFSEnum, 87 87 FlowequationVertexEquationEnum,StressbalanceReferentialEnum); 88 88 -
issm/trunk-jpl/src/c/analyses/StressbalanceVerticalAnalysis.cpp
r17609 r17610 34 34 iomodel->FetchDataToInput(elements,BaseEnum); 35 35 iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum); 36 iomodel->FetchDataToInput(elements,MeshElementonb edEnum);36 iomodel->FetchDataToInput(elements,MeshElementonbaseEnum); 37 37 iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum); 38 38 iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum); … … 45 45 if(iomodel->meshtype!=Mesh3DEnum) return; 46 46 47 iomodel->FetchData(3,MeshVertexonb edEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum);47 iomodel->FetchData(3,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum); 48 48 ::CreateNodes(nodes,iomodel,StressbalanceVerticalAnalysisEnum,P1Enum); 49 iomodel->DeleteData(3,MeshVertexonb edEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum);49 iomodel->DeleteData(3,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum,FlowequationVertexEquationEnum); 50 50 }/*}}}*/ 51 51 void StressbalanceVerticalAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ -
issm/trunk-jpl/src/c/analyses/ThermalAnalysis.cpp
r17609 r17610 55 55 iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum); 56 56 iomodel->FetchDataToInput(elements,MaskGroundediceLevelsetEnum); 57 iomodel->FetchDataToInput(elements,MeshElementonb edEnum);57 iomodel->FetchDataToInput(elements,MeshElementonbaseEnum); 58 58 iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum); 59 59 iomodel->FetchDataToInput(elements,FlowequationElementEquationEnum); … … 78 78 if(islevelset){ 79 79 iomodel->FetchDataToInput(elements,IceMaskNodeActivationEnum); 80 iomodel->FetchDataToInput(elements,MeshVertexonb edEnum); // required for updating active nodes80 iomodel->FetchDataToInput(elements,MeshVertexonbaseEnum); // required for updating active nodes 81 81 } 82 82 }/*}}}*/ 83 83 void ThermalAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 84 84 85 if(iomodel->meshtype==Mesh3DEnum) iomodel->FetchData(2,MeshVertexonb edEnum,MeshVertexonsurfaceEnum);85 if(iomodel->meshtype==Mesh3DEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 86 86 ::CreateNodes(nodes,iomodel,ThermalAnalysisEnum,P1Enum); 87 iomodel->DeleteData(2,MeshVertexonb edEnum,MeshVertexonsurfaceEnum);87 iomodel->DeleteData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 88 88 }/*}}}*/ 89 89 void ThermalAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ -
issm/trunk-jpl/src/c/classes/Elements/Element.cpp
r17585 r17610 550 550 /*}}}*/ 551 551 bool Element::HasNodeOnBase(){/*{{{*/ 552 return (this->inputs->Max(MeshVertexonb edEnum)>0.);552 return (this->inputs->Max(MeshVertexonbaseEnum)>0.); 553 553 }/*}}}*/ 554 554 bool Element::HasNodeOnSurface(){/*{{{*/ … … 750 750 name==HydrologydcEplThicknessEnum || 751 751 name==HydrologydcMaskEplactiveNodeEnum || 752 name==MeshVertexonb edEnum752 name==MeshVertexonbaseEnum 753 753 754 754 ) { -
issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
r17600 r17610 1507 1507 bool Penta::IsOnBase(void){ 1508 1508 1509 bool onb ed;1510 inputs->GetInputValue(&onb ed,MeshElementonbedEnum);1511 return onb ed;1509 bool onbase; 1510 inputs->GetInputValue(&onbase,MeshElementonbaseEnum); 1511 return onbase; 1512 1512 } 1513 1513 /*}}}*/ … … 2493 2493 2494 2494 int extrusioninput; 2495 IssmDouble value,isonb ed;2495 IssmDouble value,isonbase; 2496 2496 2497 2497 this->parameters->FindParam(&extrusioninput,InputToExtrudeEnum); 2498 2498 Input* input = inputs->GetInput(extrusioninput); _assert_(extrusioninput); 2499 Input* onb ed = inputs->GetInput(MeshVertexonbedEnum); _assert_(onbed);2499 Input* onbase = inputs->GetInput(MeshVertexonbaseEnum); _assert_(onbase); 2500 2500 2501 2501 GaussPenta* gauss=new GaussPenta(); 2502 2502 for(int iv=0;iv<this->NumberofNodes();iv++){ 2503 2503 gauss->GaussNode(this->element_type,iv); 2504 onb ed->GetInputValue(&isonbed,gauss);2505 if(isonb ed==1.){2504 onbase->GetInputValue(&isonbase,gauss); 2505 if(isonbase==1.){ 2506 2506 input->GetInputValue(&value,gauss); 2507 2507 this->nodes[iv]->ApplyConstraint(0,value); -
issm/trunk-jpl/src/c/classes/Elements/Tetra.cpp
r17585 r17610 110 110 111 111 /*Retrieve all inputs and parameters*/ 112 GetInputListOnVertices(&values[0],MeshVertexonb edEnum);112 GetInputListOnVertices(&values[0],MeshVertexonbaseEnum); 113 113 114 114 for(int i=0;i<4;i++){ … … 234 234 235 235 /*Retrieve all inputs and parameters*/ 236 GetInputListOnVertices(&values[0],MeshVertexonb edEnum);236 GetInputListOnVertices(&values[0],MeshVertexonbaseEnum); 237 237 sum = values[0]+values[1]+values[2]+values[3]; 238 238 … … 654 654 655 655 int approximation; 656 IssmDouble* vertexonb ed= NULL;656 IssmDouble* vertexonbase= NULL; 657 657 IssmDouble slopex,slopey,groundedice; 658 658 IssmDouble xz_plane[6]; … … 667 667 Input* slopey_input=inputs->GetInput(BedSlopeYEnum); _assert_(slopey_input); 668 668 Input* groundedicelevelset_input=inputs->GetInput(MaskGroundediceLevelsetEnum); _assert_(groundedicelevelset_input); 669 vertexonb ed= xNew<IssmDouble>(numnodes);670 this->GetInputListOnNodesVelocity(&vertexonb ed[0],MeshVertexonbedEnum);669 vertexonbase = xNew<IssmDouble>(numnodes); 670 this->GetInputListOnNodesVelocity(&vertexonbase[0],MeshVertexonbaseEnum); 671 671 672 672 /*Loop over basal nodes and update their CS*/ … … 674 674 for(int i=0;i<this->NumberofNodesVelocity();i++){ 675 675 676 if(vertexonb ed[i]==1){676 if(vertexonbase[i]==1){ 677 677 gauss->GaussNode(this->VelocityInterpolation(),i); 678 678 … … 704 704 705 705 /*cleanup*/ 706 xDelete<IssmDouble>(vertexonb ed);706 xDelete<IssmDouble>(vertexonbase); 707 707 delete gauss; 708 708 } -
issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
r17600 r17610 1199 1199 1200 1200 /*Retrieve all inputs and parameters*/ 1201 GetInputListOnVertices(&values[0],MeshVertexonb edEnum);1201 GetInputListOnVertices(&values[0],MeshVertexonbaseEnum); 1202 1202 sum = values[0]+values[1]+values[2]; 1203 1203 … … 1243 1243 1244 1244 /*Retrieve all inputs and parameters*/ 1245 GetInputListOnVertices(&values[0],MeshVertexonb edEnum);1245 GetInputListOnVertices(&values[0],MeshVertexonbaseEnum); 1246 1246 1247 1247 for(int i=0;i<3;i++){ … … 1285 1285 1286 1286 /*Retrieve all inputs and parameters*/ 1287 GetInputListOnVertices(&values[0],MeshVertexonb edEnum);1287 GetInputListOnVertices(&values[0],MeshVertexonbaseEnum); 1288 1288 1289 1289 for(int i=0;i<3;i++){ … … 1638 1638 1639 1639 int approximation; 1640 IssmDouble* vertexonb ed= NULL;1640 IssmDouble* vertexonbase= NULL; 1641 1641 IssmDouble slope,groundedice; 1642 1642 IssmDouble xz_plane[6]; … … 1650 1650 Input* slope_input=inputs->GetInput(BedSlopeXEnum); _assert_(slope_input); 1651 1651 Input* groundedicelevelset_input=inputs->GetInput(MaskGroundediceLevelsetEnum); _assert_(groundedicelevelset_input); 1652 vertexonb ed= xNew<IssmDouble>(numnodes);1653 this->GetInputListOnNodesVelocity(&vertexonb ed[0],MeshVertexonbedEnum);1652 vertexonbase = xNew<IssmDouble>(numnodes); 1653 this->GetInputListOnNodesVelocity(&vertexonbase[0],MeshVertexonbaseEnum); 1654 1654 1655 1655 /*Loop over basal nodes and update their CS*/ … … 1657 1657 for(int i=0;i<this->NumberofNodesVelocity();i++){ 1658 1658 1659 if(vertexonb ed[i]==1){1659 if(vertexonbase[i]==1){ 1660 1660 gauss->GaussNode(this->VelocityInterpolation(),i); 1661 1661 slope_input->GetInputValue(&slope,gauss); … … 1679 1679 1680 1680 /*cleanup*/ 1681 xDelete<IssmDouble>(vertexonb ed);1681 xDelete<IssmDouble>(vertexonbase); 1682 1682 delete gauss; 1683 1683 } … … 1990 1990 1991 1991 int extrusioninput; 1992 IssmDouble value,isonb ed;1992 IssmDouble value,isonbase; 1993 1993 1994 1994 this->parameters->FindParam(&extrusioninput,InputToExtrudeEnum); 1995 1995 Input* input = inputs->GetInput(extrusioninput); _assert_(input); 1996 Input* onb ed = inputs->GetInput(MeshVertexonbedEnum); _assert_(onbed);1996 Input* onbase = inputs->GetInput(MeshVertexonbaseEnum); _assert_(onbase); 1997 1997 1998 1998 GaussTria* gauss=new GaussTria(); 1999 1999 for(int iv=0;iv<this->NumberofNodes();iv++){ 2000 2000 gauss->GaussNode(this->element_type,iv); 2001 onb ed->GetInputValue(&isonbed,gauss);2002 if(isonb ed==1.){2001 onbase->GetInputValue(&isonbase,gauss); 2002 if(isonbase==1.){ 2003 2003 input->GetInputValue(&value,gauss); 2004 2004 this->nodes[iv]->ApplyConstraint(0,value); -
issm/trunk-jpl/src/c/classes/Node.cpp
r17600 r17610 63 63 if(iomodel->meshtype!=Mesh2DhorizontalEnum){ 64 64 /*We have a 3d mesh, we may have collapsed elements, hence dead nodes. Freeze them out: */ 65 _assert_(iomodel->Data(MeshVertexonb edEnum));65 _assert_(iomodel->Data(MeshVertexonbaseEnum)); 66 66 _assert_(iomodel->Data(FlowequationVertexEquationEnum)); 67 if(in_approximation==SSAApproximationEnum && !reCast<int>(iomodel->Data(MeshVertexonb edEnum)[io_index])){67 if(in_approximation==SSAApproximationEnum && !reCast<int>(iomodel->Data(MeshVertexonbaseEnum)[io_index])){ 68 68 this->Deactivate(); 69 69 } 70 if(in_approximation==L1L2ApproximationEnum && !reCast<int>(iomodel->Data(MeshVertexonb edEnum)[io_index])){70 if(in_approximation==L1L2ApproximationEnum && !reCast<int>(iomodel->Data(MeshVertexonbaseEnum)[io_index])){ 71 71 this->Deactivate(); 72 72 } 73 73 if(in_approximation==SSAHOApproximationEnum && reCast<int>(iomodel->Data(FlowequationBorderSSAEnum)[io_index])){ 74 if(!reCast<int>(iomodel->Data(MeshVertexonb edEnum)[io_index])){74 if(!reCast<int>(iomodel->Data(MeshVertexonbaseEnum)[io_index])){ 75 75 this->Deactivate(); 76 76 } 77 77 } 78 78 if(in_approximation==SSAFSApproximationEnum && reCast<int>(iomodel->Data(FlowequationBorderSSAEnum)[io_index])){ 79 if(!reCast<int>(iomodel->Data(MeshVertexonb edEnum)[io_index])){79 if(!reCast<int>(iomodel->Data(MeshVertexonbaseEnum)[io_index])){ 80 80 for(k=0;k<=1;k++) this->FreezeDof(k); 81 81 } … … 103 103 if(iomodel->meshtype!=Mesh2DhorizontalEnum){ 104 104 /*On a 3d mesh, we may have collapsed elements, hence dead nodes. Freeze them out: */ 105 _assert_(iomodel->Data(MeshVertexonb edEnum));106 if(!(reCast<bool>(iomodel->Data(MeshVertexonb edEnum)[io_index]))){105 _assert_(iomodel->Data(MeshVertexonbaseEnum)); 106 if(!(reCast<bool>(iomodel->Data(MeshVertexonbaseEnum)[io_index]))){ 107 107 this->Deactivate(); 108 108 } -
issm/trunk-jpl/src/c/modules/SetActiveNodesLSMx/SetActiveNodesLSMx.cpp
r17463 r17610 74 74 75 75 if(solvein2d){ 76 IssmDouble *mask_isonb ed= xNew<IssmDouble>(numnodes);77 element->GetInputListOnNodes(&mask_isonb ed[0],MeshVertexonbedEnum);78 for(in=0;in<numnodes;in++) mask[in]*=mask_isonb ed[in];79 xDelete<IssmDouble>(mask_isonb ed);76 IssmDouble *mask_isonbase = xNew<IssmDouble>(numnodes); 77 element->GetInputListOnNodes(&mask_isonbase[0],MeshVertexonbaseEnum); 78 for(in=0;in<numnodes;in++) mask[in]*=mask_isonbase[in]; 79 xDelete<IssmDouble>(mask_isonbase); 80 80 } 81 81 } -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r17572 r17610 195 195 MaterialsMantleDensityEnum, 196 196 MeshAverageVertexConnectivityEnum, 197 MeshElementonb edEnum,197 MeshElementonbaseEnum, 198 198 MeshElementonsurfaceEnum, 199 199 MeshElements2dEnum, … … 206 206 MeshNumberofverticesEnum, 207 207 MeshUpperelementsEnum, 208 MeshVertexonb edEnum,208 MeshVertexonbaseEnum, 209 209 MeshVertexonsurfaceEnum, 210 210 MeshXEnum, -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r17572 r17610 203 203 case MaterialsMantleDensityEnum : return "MaterialsMantleDensity"; 204 204 case MeshAverageVertexConnectivityEnum : return "MeshAverageVertexConnectivity"; 205 case MeshElementonb edEnum : return "MeshElementonbed";205 case MeshElementonbaseEnum : return "MeshElementonbase"; 206 206 case MeshElementonsurfaceEnum : return "MeshElementonsurface"; 207 207 case MeshElements2dEnum : return "MeshElements2d"; … … 214 214 case MeshNumberofverticesEnum : return "MeshNumberofvertices"; 215 215 case MeshUpperelementsEnum : return "MeshUpperelements"; 216 case MeshVertexonb edEnum : return "MeshVertexonbed";216 case MeshVertexonbaseEnum : return "MeshVertexonbase"; 217 217 case MeshVertexonsurfaceEnum : return "MeshVertexonsurface"; 218 218 case MeshXEnum : return "MeshX"; -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r17572 r17610 206 206 else if (strcmp(name,"MaterialsMantleDensity")==0) return MaterialsMantleDensityEnum; 207 207 else if (strcmp(name,"MeshAverageVertexConnectivity")==0) return MeshAverageVertexConnectivityEnum; 208 else if (strcmp(name,"MeshElementonb ed")==0) return MeshElementonbedEnum;208 else if (strcmp(name,"MeshElementonbase")==0) return MeshElementonbaseEnum; 209 209 else if (strcmp(name,"MeshElementonsurface")==0) return MeshElementonsurfaceEnum; 210 210 else if (strcmp(name,"MeshElements2d")==0) return MeshElements2dEnum; … … 217 217 else if (strcmp(name,"MeshNumberofvertices")==0) return MeshNumberofverticesEnum; 218 218 else if (strcmp(name,"MeshUpperelements")==0) return MeshUpperelementsEnum; 219 else if (strcmp(name,"MeshVertexonb ed")==0) return MeshVertexonbedEnum;219 else if (strcmp(name,"MeshVertexonbase")==0) return MeshVertexonbaseEnum; 220 220 else if (strcmp(name,"MeshVertexonsurface")==0) return MeshVertexonsurfaceEnum; 221 221 else if (strcmp(name,"MeshX")==0) return MeshXEnum; -
issm/trunk-jpl/src/m/classes/mesh2dvertical.m
r17562 r17610 18 18 19 19 vertexonboundary = NaN 20 vertexonb ed= NaN20 vertexonbase = NaN 21 21 vertexonsurface = NaN 22 22 … … 67 67 md = checkfield(md,'fieldname','mesh.numberofelements','>',0); 68 68 md = checkfield(md,'fieldname','mesh.numberofvertices','>',0); 69 md = checkfield(md,'fieldname','mesh.vertexonb ed','size',[md.mesh.numberofvertices 1],'values',[0 1]);69 md = checkfield(md,'fieldname','mesh.vertexonbase','size',[md.mesh.numberofvertices 1],'values',[0 1]); 70 70 md = checkfield(md,'fieldname','mesh.vertexonsurface','size',[md.mesh.numberofvertices 1],'values',[0 1]); 71 71 md = checkfield(md,'fieldname','mesh.average_vertex_connectivity','>=',9,'message','''mesh.average_vertex_connectivity'' should be at least 9 in 2d'); … … 90 90 disp(sprintf('\n Properties:')); 91 91 fielddisplay(obj,'vertexonboundary','vertices on the boundary of the domain flag list'); 92 fielddisplay(obj,'vertexonb ed','vertices on the bed of the domain flag list');92 fielddisplay(obj,'vertexonbase','vertices on the bed of the domain flag list'); 93 93 fielddisplay(obj,'vertexonsurface','vertices on the surface of the domain flag list'); 94 94 fielddisplay(obj,'segments','edges on domain boundary (vertex1 vertex2 element)'); … … 111 111 WriteData(fid,'object',obj,'class','mesh','fieldname','numberofelements','format','Integer'); 112 112 WriteData(fid,'object',obj,'class','mesh','fieldname','numberofvertices','format','Integer'); 113 WriteData(fid,'object',obj,'class','mesh','fieldname','vertexonb ed','format','BooleanMat','mattype',1);113 WriteData(fid,'object',obj,'class','mesh','fieldname','vertexonbase','format','BooleanMat','mattype',1); 114 114 WriteData(fid,'object',obj,'class','mesh','fieldname','vertexonsurface','format','BooleanMat','mattype',1); 115 115 WriteData(fid,'object',obj,'class','mesh','fieldname','average_vertex_connectivity','format','Integer'); -
issm/trunk-jpl/src/m/classes/mesh3dprisms.m
r17590 r17610 18 18 hemisphere = NaN 19 19 20 elementonb ed= NaN20 elementonbase = NaN 21 21 elementonsurface = NaN 22 vertexonb ed= NaN22 vertexonbase = NaN 23 23 vertexonsurface = NaN 24 24 lowerelements = NaN … … 83 83 md = checkfield(md,'fieldname','mesh.numberofvertices','>',0); 84 84 %no checks for numberofedges lat long and hemisphere 85 md = checkfield(md,'fieldname','mesh.elementonb ed','size',[md.mesh.numberofelements 1],'values',[0 1]);85 md = checkfield(md,'fieldname','mesh.elementonbase','size',[md.mesh.numberofelements 1],'values',[0 1]); 86 86 md = checkfield(md,'fieldname','mesh.elementonsurface','size',[md.mesh.numberofelements 1],'values',[0 1]); 87 md = checkfield(md,'fieldname','mesh.vertexonb ed','size',[md.mesh.numberofvertices 1],'values',[0 1]);87 md = checkfield(md,'fieldname','mesh.vertexonbase','size',[md.mesh.numberofvertices 1],'values',[0 1]); 88 88 md = checkfield(md,'fieldname','mesh.vertexonsurface','size',[md.mesh.numberofvertices 1],'values',[0 1]); 89 89 md = checkfield(md,'fieldname','mesh.z','>=',md.geometry.base-10^-10,'message','''mesh.z'' lower than bedrock'); … … 111 111 disp(sprintf('\n Properties:')); 112 112 fielddisplay(obj,'numberoflayers','number of extrusion layers'); 113 fielddisplay(obj,'vertexonb ed','lower vertices flags list');114 fielddisplay(obj,'elementonb ed','lower elements flags list');113 fielddisplay(obj,'vertexonbase','lower vertices flags list'); 114 fielddisplay(obj,'elementonbase','lower elements flags list'); 115 115 fielddisplay(obj,'vertexonsurface','upper vertices flags list'); 116 116 fielddisplay(obj,'elementonsurface','upper elements flags list'); … … 143 143 WriteData(fid,'object',obj,'class','mesh','fieldname','numberofelements','format','Integer'); 144 144 WriteData(fid,'object',obj,'class','mesh','fieldname','numberofvertices','format','Integer'); 145 WriteData(fid,'object',obj,'class','mesh','fieldname','elementonb ed','format','BooleanMat','mattype',2);145 WriteData(fid,'object',obj,'class','mesh','fieldname','elementonbase','format','BooleanMat','mattype',2); 146 146 WriteData(fid,'object',obj,'class','mesh','fieldname','elementonsurface','format','BooleanMat','mattype',2); 147 WriteData(fid,'object',obj,'class','mesh','fieldname','vertexonb ed','format','BooleanMat','mattype',1);147 WriteData(fid,'object',obj,'class','mesh','fieldname','vertexonbase','format','BooleanMat','mattype',1); 148 148 WriteData(fid,'object',obj,'class','mesh','fieldname','vertexonsurface','format','BooleanMat','mattype',1); 149 149 WriteData(fid,'object',obj,'class','mesh','fieldname','lowerelements','format','DoubleMat','mattype',2); -
issm/trunk-jpl/src/m/classes/mesh3dprisms.py
r17562 r17610 28 28 self.hemisphere = float('NaN'); 29 29 30 self.elementonb ed= float('NaN');30 self.elementonbase = float('NaN'); 31 31 self.elementonsurface = float('NaN'); 32 self.vertexonb ed= float('NaN');32 self.vertexonbase = float('NaN'); 33 33 self.vertexonsurface = float('NaN'); 34 34 self.lowerelements = float('NaN'); … … 75 75 string="%s%s"%(string,"\n\n Properties:") 76 76 string="%s\n%s"%(string,fielddisplay(self,"numberoflayers","number of extrusion layers")) 77 string="%s\n%s"%(string,fielddisplay(self,"vertexonb ed","lower vertices flags list"))78 string="%s\n%s"%(string,fielddisplay(self,"elementonb ed","lower elements flags list"))77 string="%s\n%s"%(string,fielddisplay(self,"vertexonbase","lower vertices flags list")) 78 string="%s\n%s"%(string,fielddisplay(self,"elementonbase","lower elements flags list")) 79 79 string="%s\n%s"%(string,fielddisplay(self,"vertexonsurface","upper vertices flags list")) 80 80 string="%s\n%s"%(string,fielddisplay(self,"elementonsurface","upper elements flags list")) … … 122 122 md = checkfield(md,'fieldname','mesh.numberofvertices','>',0) 123 123 #no checks for numberofedges lat long and hemisphere 124 md = checkfield(md,'fieldname','mesh.elementonb ed','size',[md.mesh.numberofelements],'values',[0,1])124 md = checkfield(md,'fieldname','mesh.elementonbase','size',[md.mesh.numberofelements],'values',[0,1]) 125 125 md = checkfield(md,'fieldname','mesh.elementonsurface','size',[md.mesh.numberofelements],'values',[0,1]) 126 md = checkfield(md,'fieldname','mesh.vertexonb ed','size',[md.mesh.numberofvertices],'values',[0,1])126 md = checkfield(md,'fieldname','mesh.vertexonbase','size',[md.mesh.numberofvertices],'values',[0,1]) 127 127 md = checkfield(md,'fieldname','mesh.vertexonsurface','size',[md.mesh.numberofvertices],'values',[0,1]) 128 128 md = checkfield(md,'fieldname','mesh.average_vertex_connectivity','>=',24,'message',"'mesh.average_vertex_connectivity' should be at least 24 in 3d") … … 142 142 WriteData(fid,'object',self,'class','mesh','fieldname','numberofelements','format','Integer') 143 143 WriteData(fid,'object',self,'class','mesh','fieldname','numberofvertices','format','Integer') 144 WriteData(fid,'object',self,'class','mesh','fieldname','elementonb ed','format','BooleanMat','mattype',2)144 WriteData(fid,'object',self,'class','mesh','fieldname','elementonbase','format','BooleanMat','mattype',2) 145 145 WriteData(fid,'object',self,'class','mesh','fieldname','elementonsurface','format','BooleanMat','mattype',2) 146 WriteData(fid,'object',self,'class','mesh','fieldname','vertexonb ed','format','BooleanMat','mattype',1)146 WriteData(fid,'object',self,'class','mesh','fieldname','vertexonbase','format','BooleanMat','mattype',1) 147 147 WriteData(fid,'object',self,'class','mesh','fieldname','vertexonsurface','format','BooleanMat','mattype',1) 148 148 WriteData(fid,'object',self,'class','mesh','fieldname','lowerelements','format','DoubleMat','mattype',2) -
issm/trunk-jpl/src/m/classes/mesh3dtetras.m
r17590 r17610 18 18 hemisphere = NaN 19 19 20 vertexonb ed= NaN20 vertexonbase = NaN 21 21 vertexonsurface = NaN 22 22 lowerelements = NaN … … 81 81 md = checkfield(md,'fieldname','mesh.numberofvertices','>',0); 82 82 %no checks for numberofedges lat long and hemisphere 83 md = checkfield(md,'fieldname','mesh.vertexonb ed','size',[md.mesh.numberofvertices 1],'values',[0 1]);83 md = checkfield(md,'fieldname','mesh.vertexonbase','size',[md.mesh.numberofvertices 1],'values',[0 1]); 84 84 md = checkfield(md,'fieldname','mesh.vertexonsurface','size',[md.mesh.numberofvertices 1],'values',[0 1]); 85 85 md = checkfield(md,'fieldname','mesh.z','>=',md.geometry.base-10^-10,'message','''mesh.z'' lower than bedrock'); … … 107 107 disp(sprintf('\n Properties:')); 108 108 fielddisplay(obj,'numberoflayers','number of extrusion layers'); 109 fielddisplay(obj,'vertexonb ed','lower vertices flags list');109 fielddisplay(obj,'vertexonbase','lower vertices flags list'); 110 110 fielddisplay(obj,'vertexonsurface','upper vertices flags list'); 111 111 fielddisplay(obj,'uppervertex','upper vertex list (NaN for vertex on the upper surface)'); … … 137 137 WriteData(fid,'object',obj,'class','mesh','fieldname','numberofelements','format','Integer'); 138 138 WriteData(fid,'object',obj,'class','mesh','fieldname','numberofvertices','format','Integer'); 139 WriteData(fid,'object',obj,'class','mesh','fieldname','vertexonb ed','format','BooleanMat','mattype',1);139 WriteData(fid,'object',obj,'class','mesh','fieldname','vertexonbase','format','BooleanMat','mattype',1); 140 140 WriteData(fid,'object',obj,'class','mesh','fieldname','vertexonsurface','format','BooleanMat','mattype',1); 141 141 WriteData(fid,'object',obj,'class','mesh','fieldname','lowerelements','format','DoubleMat','mattype',2); -
issm/trunk-jpl/src/m/classes/model.m
r17590 r17610 721 721 722 722 %bedinfo and surface info 723 md.mesh.elementonb ed=project3d(md,'vector',ones(md.mesh.numberofelements2d,1),'type','element','layer',1);723 md.mesh.elementonbase=project3d(md,'vector',ones(md.mesh.numberofelements2d,1),'type','element','layer',1); 724 724 md.mesh.elementonsurface=project3d(md,'vector',ones(md.mesh.numberofelements2d,1),'type','element','layer',md.mesh.numberoflayers-1); 725 md.mesh.vertexonb ed=project3d(md,'vector',ones(md.mesh.numberofvertices2d,1),'type','node','layer',1);725 md.mesh.vertexonbase=project3d(md,'vector',ones(md.mesh.numberofvertices2d,1),'type','node','layer',1); 726 726 md.mesh.vertexonsurface=project3d(md,'vector',ones(md.mesh.numberofvertices2d,1),'type','node','layer',md.mesh.numberoflayers); 727 727 … … 841 841 if isfield(structmd,'uppergrids'), md.mesh.uppervertex=structmd.uppergrids; end 842 842 if isfield(structmd,'lowergrids'), md.mesh.lowervertex=structmd.lowergrids; end 843 if isfield(structmd,'gridonb ed'), md.mesh.vertexonbed=structmd.gridonbed; end843 if isfield(structmd,'gridonbase'), md.mesh.vertexonbase=structmd.gridonbase; end 844 844 if isfield(structmd,'gridonsurface'), md.mesh.vertexonsurface=structmd.gridonsurface; end 845 845 if isfield(structmd,'extractedgrids'), md.mesh.extractedvertices=structmd.extractedgrids; end … … 951 951 if isfield(structmd,'upperelements'), md.mesh.upperelements=structmd.upperelements; end 952 952 if isfield(structmd,'lowerelements'), md.mesh.lowerelements=structmd.lowerelements; end 953 if isfield(structmd,'elementonb ed'), md.mesh.elementonbed=structmd.elementonbed; end953 if isfield(structmd,'elementonbase'), md.mesh.elementonbase=structmd.elementonbase; end 954 954 if isfield(structmd,'elementonsurface'), md.mesh.elementonsurface=structmd.elementonsurface; end 955 955 if isfield(structmd,'nodeonsurface'), md.mesh.vertexonsurface=structmd.nodeonsurface; end 956 if isfield(structmd,'nodeonb ed'), md.mesh.vertexonbed=structmd.nodeonbed; end956 if isfield(structmd,'nodeonbase'), md.mesh.vertexonbase=structmd.nodeonbase; end 957 957 if isfield(structmd,'elements2d'), md.mesh.elements2d=structmd.elements2d; end 958 958 if isfield(structmd,'y2d'), md.mesh.y2d=structmd.y2d; end -
issm/trunk-jpl/src/m/classes/model.py
r17590 r17610 615 615 616 616 #bedinfo and surface info 617 md.mesh.elementonb ed=project3d(md,'vector',numpy.ones(md.mesh.numberofelements2d,bool),'type','element','layer',1)617 md.mesh.elementonbase=project3d(md,'vector',numpy.ones(md.mesh.numberofelements2d,bool),'type','element','layer',1) 618 618 md.mesh.elementonsurface=project3d(md,'vector',numpy.ones(md.mesh.numberofelements2d,bool),'type','element','layer',md.mesh.numberoflayers-1) 619 md.mesh.vertexonb ed=project3d(md,'vector',numpy.ones(md.mesh.numberofvertices2d,bool),'type','node','layer',1)619 md.mesh.vertexonbase=project3d(md,'vector',numpy.ones(md.mesh.numberofvertices2d,bool),'type','node','layer',1) 620 620 md.mesh.vertexonsurface=project3d(md,'vector',numpy.ones(md.mesh.numberofvertices2d,bool),'type','node','layer',md.mesh.numberoflayers) 621 621 -
issm/trunk-jpl/src/m/classes/oldclasses/mesh.m
r17558 r17610 15 15 hemisphere = NaN 16 16 17 elementonb ed= NaN17 elementonbase = NaN 18 18 elementonsurface = NaN 19 vertexonb ed= NaN19 vertexonbase = NaN 20 20 vertexonsurface = NaN 21 21 lowerelements = NaN -
issm/trunk-jpl/src/m/classes/stressbalance.m
r16764 r17610 113 113 %CHECK THAT NO rotation specified for FS Grounded ice at base 114 114 if strcmp(meshtype(md.mesh),'3D') & md.flowequation.isFS, 115 pos=find(md.mask.groundedice_levelset>0. & md.mesh.vertexonb ed);115 pos=find(md.mask.groundedice_levelset>0. & md.mesh.vertexonbase); 116 116 if any(~isnan(md.stressbalance.referential(pos,:))), 117 117 md = checkmessage(md,['no referential should be specified for basal vertices of grounded ice']); -
issm/trunk-jpl/src/m/classes/stressbalance.py
r17480 r17610 162 162 #CHECK THAT NO rotation specified for FS Grounded ice at base 163 163 if m.strcmp(md.mesh.meshtype(),'3D') and md.flowequation.isFS: 164 pos=numpy.nonzero(numpy.logical_and(md.mask.groundedice_levelset,md.mesh.vertexonb ed))164 pos=numpy.nonzero(numpy.logical_and(md.mask.groundedice_levelset,md.mesh.vertexonbase)) 165 165 if numpy.any(numpy.logical_not(numpy.isnan(md.stressbalance.referential[pos,:]))): 166 166 md.checkmessage("no referential should be specified for basal vertices of grounded ice") -
issm/trunk-jpl/src/m/consistency/checkfield.m
r16820 r17610 25 25 % 26 26 % Example: 27 % md = checkfield(md,'mesh.elementonb ed','size',[md.mesh.numberofelements 1],'values',[0 1]);27 % md = checkfield(md,'mesh.elementonbase','size',[md.mesh.numberofelements 1],'values',[0 1]); 28 28 29 29 %get options -
issm/trunk-jpl/src/m/consistency/checkfield.py
r17480 r17610 32 32 33 33 Example: 34 md = checkfield(md,'mesh.elementonb ed','size',[md.mesh.numberofelements 1],'values',[0 1]);34 md = checkfield(md,'mesh.elementonbase','size',[md.mesh.numberofelements 1],'values',[0 1]); 35 35 """ 36 36 -
issm/trunk-jpl/src/m/contrib/bamg/yams.m
r15749 r17610 106 106 %Fill in rest of fields: 107 107 md.mesh.z=zeros(md.mesh.numberofvertices,1); 108 md.mesh.vertexonb ed=ones(md.mesh.numberofvertices,1);108 md.mesh.vertexonbase=ones(md.mesh.numberofvertices,1); 109 109 md.mesh.vertexonsurface=ones(md.mesh.numberofvertices,1); 110 md.mesh.elementonb ed=ones(md.mesh.numberofelements,1);110 md.mesh.elementonbase=ones(md.mesh.numberofelements,1); 111 111 md.mesh.elementonsurface=ones(md.mesh.numberofelements,1); 112 112 if strcmpi(Names.interp,'node'), -
issm/trunk-jpl/src/m/contrib/dassflow/importgmsh.m
r16395 r17610 85 85 md.mesh.segmentmarkers=segmentmarkers; 86 86 md.mesh.segments=segments; 87 md.mesh.vertexonb ed=zeros(md.mesh.numberofvertices,1);88 md.mesh.vertexonb ed(find(vertexflags(md.mesh,1)))=1;87 md.mesh.vertexonbase=zeros(md.mesh.numberofvertices,1); 88 md.mesh.vertexonbase(find(vertexflags(md.mesh,1)))=1; 89 89 md.mesh.vertexonsurface=zeros(md.mesh.numberofvertices,1); 90 90 md.mesh.vertexonsurface(find(vertexflags(md.mesh,3)))=1; -
issm/trunk-jpl/src/m/enum/EnumDefinitions.py
r17572 r17610 195 195 def MaterialsMantleDensityEnum(): return StringToEnum("MaterialsMantleDensity")[0] 196 196 def MeshAverageVertexConnectivityEnum(): return StringToEnum("MeshAverageVertexConnectivity")[0] 197 def MeshElementonb edEnum(): return StringToEnum("MeshElementonbed")[0]197 def MeshElementonbaseEnum(): return StringToEnum("MeshElementonbase")[0] 198 198 def MeshElementonsurfaceEnum(): return StringToEnum("MeshElementonsurface")[0] 199 199 def MeshElements2dEnum(): return StringToEnum("MeshElements2d")[0] … … 206 206 def MeshNumberofverticesEnum(): return StringToEnum("MeshNumberofvertices")[0] 207 207 def MeshUpperelementsEnum(): return StringToEnum("MeshUpperelements")[0] 208 def MeshVertexonb edEnum(): return StringToEnum("MeshVertexonbed")[0]208 def MeshVertexonbaseEnum(): return StringToEnum("MeshVertexonbase")[0] 209 209 def MeshVertexonsurfaceEnum(): return StringToEnum("MeshVertexonsurface")[0] 210 210 def MeshXEnum(): return StringToEnum("MeshX")[0] -
issm/trunk-jpl/src/m/mesh/bamgflowband.m
r16395 r17610 31 31 32 32 %Deal with vertices on bed 33 md.mesh.vertexonb ed=zeros(md.mesh.numberofvertices,1);34 md.mesh.vertexonb ed(find(vertexflags(md.mesh,1)))=1;33 md.mesh.vertexonbase=zeros(md.mesh.numberofvertices,1); 34 md.mesh.vertexonbase(find(vertexflags(md.mesh,1)))=1; 35 35 md.mesh.vertexonsurface=zeros(md.mesh.numberofvertices,1); 36 36 md.mesh.vertexonsurface(find(vertexflags(md.mesh,3)))=1; -
issm/trunk-jpl/test/NightlyRun/test1101.m
r16506 r17610 25 25 md.stressbalance.spcvz=NaN*ones(md.mesh.numberofvertices,1); 26 26 27 pos=find(md.mesh.vertexonb ed);27 pos=find(md.mesh.vertexonbase); 28 28 md.stressbalance.spcvx(pos)=0.; 29 29 md.stressbalance.spcvy(pos)=0.; -
issm/trunk-jpl/test/NightlyRun/test1101.py
r15771 r17610 39 39 md.stressbalance.spcvz=float('NaN')*numpy.ones((md.mesh.numberofvertices,1)) 40 40 41 pos=numpy.nonzero(md.mesh.vertexonb ed)41 pos=numpy.nonzero(md.mesh.vertexonbase) 42 42 md.stressbalance.spcvx[pos]=0. 43 43 md.stressbalance.spcvy[pos]=0. -
issm/trunk-jpl/test/NightlyRun/test1102.m
r15771 r17610 28 28 29 29 %Create dirichlet on the bed only 30 pos=find(md.mesh.vertexonb ed);30 pos=find(md.mesh.vertexonbase); 31 31 md.stressbalance.spcvx(pos)=0.; 32 32 md.stressbalance.spcvy(pos)=0.; … … 36 36 % posx=find(md.mesh.x==0.); 37 37 % posx2=find(md.mesh.x==max(md.mesh.x)); 38 % posx=find(md.mesh.x==0. & md.mesh.y~=0. & md.mesh.y~=max(md.mesh.y) & ~md.mesh.vertexonb ed);39 % posx2=find(md.mesh.x==max(md.mesh.x) & md.mesh.y~=0. & md.mesh.y~=max(md.mesh.y) & ~md.mesh.vertexonb ed);38 % posx=find(md.mesh.x==0. & md.mesh.y~=0. & md.mesh.y~=max(md.mesh.y) & ~md.mesh.vertexonbase); 39 % posx2=find(md.mesh.x==max(md.mesh.x) & md.mesh.y~=0. & md.mesh.y~=max(md.mesh.y) & ~md.mesh.vertexonbase); 40 40 41 % posy=find(md.mesh.y==0. & md.mesh.x~=0. & md.mesh.x~=max(md.mesh.x) & ~md.mesh.vertexonb ed); %Don't take the same nodes two times42 % posy2=find(md.mesh.y==max(md.mesh.y) & md.mesh.x~=0. & md.mesh.x~=max(md.mesh.x) & ~md.mesh.vertexonb ed);41 % posy=find(md.mesh.y==0. & md.mesh.x~=0. & md.mesh.x~=max(md.mesh.x) & ~md.mesh.vertexonbase); %Don't take the same nodes two times 42 % posy2=find(md.mesh.y==max(md.mesh.y) & md.mesh.x~=0. & md.mesh.x~=max(md.mesh.x) & ~md.mesh.vertexonbase); 43 43 44 44 % md.stressbalance.vertex_pairing=[posx,posx2;posy,posy2]; -
issm/trunk-jpl/test/NightlyRun/test1102.py
r15771 r17610 42 42 43 43 #Create dirichlet on the bed only 44 pos=numpy.nonzero(md.mesh.vertexonb ed)44 pos=numpy.nonzero(md.mesh.vertexonbase) 45 45 md.stressbalance.spcvx[pos]=0. 46 46 md.stressbalance.spcvy[pos]=0. … … 50 50 # posx=numpy.nonzero(md.mesh.x==0.)[0] 51 51 # posx2=numpy.nonzero(md.mesh.x==numpy.max(md.mesh.x))[0] 52 # posx=numpy.nonzero(logical_and_n(md.mesh.x==0.,md.mesh.y!=0.,md.mesh.y!=numpy.max(md.mesh.y),numpy.logical_not(md.mesh.vertexonb ed)))[0]53 # posx2=numpy.nonzero(logical_and_n(md.mesh.x==numpy.max(md.mesh.x),md.mesh.y!=0.,md.mesh.y!=numpy.max(md.mesh.y),numpy.logical_not(md.mesh.vertexonb ed)))[0]52 # posx=numpy.nonzero(logical_and_n(md.mesh.x==0.,md.mesh.y!=0.,md.mesh.y!=numpy.max(md.mesh.y),numpy.logical_not(md.mesh.vertexonbase)))[0] 53 # posx2=numpy.nonzero(logical_and_n(md.mesh.x==numpy.max(md.mesh.x),md.mesh.y!=0.,md.mesh.y!=numpy.max(md.mesh.y),numpy.logical_not(md.mesh.vertexonbase)))[0] 54 54 55 # posy=numpy.nonzero(logical_and_n(md.mesh.y==0.,md.mesh.x!=0.,md.mesh.x!=numpy.max(md.mesh.x),numpy.logical_not(md.mesh.vertexonb ed)))[0] #Don't take the same nodes two times56 # posy2=numpy.nonzero(logical_and_n(md.mesh.y==numpy.max(md.mesh.y),md.mesh.x!=0.,md.mesh.x!=numpy.max(md.mesh.x),numpy.logical_not(md.mesh.vertexonb ed)))[0]55 # posy=numpy.nonzero(logical_and_n(md.mesh.y==0.,md.mesh.x!=0.,md.mesh.x!=numpy.max(md.mesh.x),numpy.logical_not(md.mesh.vertexonbase)))[0] #Don't take the same nodes two times 56 # posy2=numpy.nonzero(logical_and_n(md.mesh.y==numpy.max(md.mesh.y),md.mesh.x!=0.,md.mesh.x!=numpy.max(md.mesh.x),numpy.logical_not(md.mesh.vertexonbase)))[0] 57 57 58 58 # md.stressbalance.vertex_pairing=numpy.vstack((numpy.hstack((posx.reshape(-1,1)+1,posx2.reshape(-1,1)+1)),numpy.hstack((posy.reshape(-1,1)+1,posy2.reshape(-1,1)+1)))) -
issm/trunk-jpl/test/NightlyRun/test1103.m
r15771 r17610 24 24 md.stressbalance.spcvy=NaN*ones(md.mesh.numberofvertices,1); 25 25 md.stressbalance.spcvz=NaN*ones(md.mesh.numberofvertices,1); 26 pos=find(md.mesh.vertexonb ed);26 pos=find(md.mesh.vertexonbase); 27 27 md.stressbalance.spcvx(pos)=0.; 28 28 md.stressbalance.spcvy(pos)=0.; -
issm/trunk-jpl/test/NightlyRun/test1103.py
r15771 r17610 38 38 md.stressbalance.spcvy=float('NaN')*numpy.ones((md.mesh.numberofvertices,1)) 39 39 md.stressbalance.spcvz=float('NaN')*numpy.ones((md.mesh.numberofvertices,1)) 40 pos=numpy.nonzero(md.mesh.vertexonb ed)40 pos=numpy.nonzero(md.mesh.vertexonbase) 41 41 md.stressbalance.spcvx[pos]=0. 42 42 md.stressbalance.spcvy[pos]=0. -
issm/trunk-jpl/test/NightlyRun/test1104.m
r15771 r17610 21 21 md.stressbalance.spcvz=NaN*ones(md.mesh.numberofvertices,1); 22 22 23 pos=find(md.mesh.vertexonb ed);23 pos=find(md.mesh.vertexonbase); 24 24 md.stressbalance.spcvx(pos)=0.; 25 25 md.stressbalance.spcvy(pos)=0.; -
issm/trunk-jpl/test/NightlyRun/test1104.py
r15771 r17610 33 33 md.stressbalance.spcvz=float('NaN')*numpy.ones((md.mesh.numberofvertices,1)) 34 34 35 pos=numpy.nonzero(md.mesh.vertexonb ed)35 pos=numpy.nonzero(md.mesh.vertexonbase) 36 36 md.stressbalance.spcvx[pos]=0. 37 37 md.stressbalance.spcvy[pos]=0. -
issm/trunk-jpl/test/NightlyRun/test1105.m
r15803 r17610 34 34 35 35 %Add spc on the corners 36 pos=find((md.mesh.x==0. | md.mesh.x==L) & (md.mesh.y==0. | md.mesh.y==L) & md.mesh.vertexonb ed);36 pos=find((md.mesh.x==0. | md.mesh.x==L) & (md.mesh.y==0. | md.mesh.y==L) & md.mesh.vertexonbase); 37 37 md.stressbalance.spcvx(pos)=0.; 38 38 md.stressbalance.spcvy(pos)=0.; … … 58 58 59 59 %Spc the bed at zero for vz 60 pos=find(md.mesh.vertexonb ed);60 pos=find(md.mesh.vertexonbase); 61 61 md.stressbalance.spcvz(pos)=0.; 62 62 -
issm/trunk-jpl/test/NightlyRun/test1105.py
r15771 r17610 48 48 49 49 #Add spc on the corners 50 pos=numpy.nonzero(logical_and_n(numpy.logical_or(md.mesh.x==0.,md.mesh.x==L),numpy.logical_or(md.mesh.y==0.,md.mesh.y==L),md.mesh.vertexonb ed))50 pos=numpy.nonzero(logical_and_n(numpy.logical_or(md.mesh.x==0.,md.mesh.x==L),numpy.logical_or(md.mesh.y==0.,md.mesh.y==L),md.mesh.vertexonbase)) 51 51 md.stressbalance.spcvx[pos]=0. 52 52 md.stressbalance.spcvy[pos]=0. … … 71 71 72 72 #Spc the bed at zero for vz 73 pos=numpy.nonzero(md.mesh.vertexonb ed)73 pos=numpy.nonzero(md.mesh.vertexonbase) 74 74 md.stressbalance.spcvz[pos]=0. 75 75 -
issm/trunk-jpl/test/NightlyRun/test1107.m
r15771 r17610 26 26 27 27 %Create MPCs to have periodic boundary conditions 28 posx=find(md.mesh.x==0. & ~(md.mesh.y==0. & md.mesh.vertexonb ed) & ~(md.mesh.y==L & md.mesh.vertexonbed));29 posx2=find(md.mesh.x==max(md.mesh.x) & ~(md.mesh.y==0. & md.mesh.vertexonb ed) & ~(md.mesh.y==L & md.mesh.vertexonbed));28 posx=find(md.mesh.x==0. & ~(md.mesh.y==0. & md.mesh.vertexonbase) & ~(md.mesh.y==L & md.mesh.vertexonbase)); 29 posx2=find(md.mesh.x==max(md.mesh.x) & ~(md.mesh.y==0. & md.mesh.vertexonbase) & ~(md.mesh.y==L & md.mesh.vertexonbase)); 30 30 31 31 posy=find(md.mesh.y==0. & md.mesh.x~=0. & md.mesh.x~=max(md.mesh.x)); %Don't take the same nodes two times … … 35 35 36 36 %Add spc on the corners 37 pos=find((md.mesh.x==0. | md.mesh.x==L) & (md.mesh.y==0. | md.mesh.y==L) & md.mesh.vertexonb ed);37 pos=find((md.mesh.x==0. | md.mesh.x==L) & (md.mesh.y==0. | md.mesh.y==L) & md.mesh.vertexonbase); 38 38 md.stressbalance.spcvy(:)=0.; 39 39 md.stressbalance.spcvx(pos)=0.; … … 53 53 54 54 %Spc the bed at zero for vz 55 pos=find(md.mesh.vertexonb ed);55 pos=find(md.mesh.vertexonbase); 56 56 md.stressbalance.spcvz(pos)=0.; 57 57 -
issm/trunk-jpl/test/NightlyRun/test1107.py
r15771 r17610 40 40 41 41 #Create MPCs to have periodic boundary conditions 42 # posx=find(md.mesh.x==0. & ~(md.mesh.y==0. & md.mesh.vertexonb ed) & ~(md.mesh.y==L & md.mesh.vertexonbed));43 posx=numpy.nonzero(logical_and_n(md.mesh.x==0.,numpy.logical_not(numpy.logical_and(md.mesh.y==0.,md.mesh.vertexonb ed)),numpy.logical_not(numpy.logical_and(md.mesh.y==L,md.mesh.vertexonbed))))[0]44 # posx2=find(md.mesh.x==max(md.mesh.x) & ~(md.mesh.y==0. & md.mesh.vertexonb ed) & ~(md.mesh.y==L & md.mesh.vertexonbed));45 posx2=numpy.nonzero(logical_and_n(md.mesh.x==numpy.max(md.mesh.x),numpy.logical_not(numpy.logical_and(md.mesh.y==0.,md.mesh.vertexonb ed)),numpy.logical_not(numpy.logical_and(md.mesh.y==L,md.mesh.vertexonbed))))[0]42 # posx=find(md.mesh.x==0. & ~(md.mesh.y==0. & md.mesh.vertexonbase) & ~(md.mesh.y==L & md.mesh.vertexonbase)); 43 posx=numpy.nonzero(logical_and_n(md.mesh.x==0.,numpy.logical_not(numpy.logical_and(md.mesh.y==0.,md.mesh.vertexonbase)),numpy.logical_not(numpy.logical_and(md.mesh.y==L,md.mesh.vertexonbase))))[0] 44 # posx2=find(md.mesh.x==max(md.mesh.x) & ~(md.mesh.y==0. & md.mesh.vertexonbase) & ~(md.mesh.y==L & md.mesh.vertexonbase)); 45 posx2=numpy.nonzero(logical_and_n(md.mesh.x==numpy.max(md.mesh.x),numpy.logical_not(numpy.logical_and(md.mesh.y==0.,md.mesh.vertexonbase)),numpy.logical_not(numpy.logical_and(md.mesh.y==L,md.mesh.vertexonbase))))[0] 46 46 47 47 posy=numpy.nonzero(logical_and_n(md.mesh.y==0.,md.mesh.x!=0.,md.mesh.x!=numpy.max(md.mesh.x)))[0] #Don't take the same nodes two times … … 51 51 52 52 #Add spc on the corners 53 pos=numpy.nonzero(logical_and_n(numpy.logical_or(md.mesh.x==0.,md.mesh.x==L),numpy.logical_or(md.mesh.y==0.,md.mesh.y==L),md.mesh.vertexonb ed))53 pos=numpy.nonzero(logical_and_n(numpy.logical_or(md.mesh.x==0.,md.mesh.x==L),numpy.logical_or(md.mesh.y==0.,md.mesh.y==L),md.mesh.vertexonbase)) 54 54 md.stressbalance.spcvy[:]=0. 55 55 md.stressbalance.spcvx[pos]=0. … … 68 68 69 69 #Spc the bed at zero for vz 70 pos=numpy.nonzero(md.mesh.vertexonb ed)70 pos=numpy.nonzero(md.mesh.vertexonbase) 71 71 md.stressbalance.spcvz[pos]=0. 72 72 -
issm/trunk-jpl/test/NightlyRun/test1108.m
r17557 r17610 22 22 md.stressbalance.spcvz=NaN*ones(md.mesh.numberofvertices,1); 23 23 24 pos=find(md.mesh.vertexonb ed& (md.mesh.x==0. | md.mesh.x==max(md.mesh.x)) & (md.mesh.y==0. | md.mesh.y==max(md.mesh.y)));24 pos=find(md.mesh.vertexonbase & (md.mesh.x==0. | md.mesh.x==max(md.mesh.x)) & (md.mesh.y==0. | md.mesh.y==max(md.mesh.y))); 25 25 md.stressbalance.spcvx(pos)=0.; 26 26 md.stressbalance.spcvy(pos)=0.; -
issm/trunk-jpl/test/NightlyRun/test1108.py
r15771 r17610 34 34 md.stressbalance.spcvz=float('NaN')*numpy.ones((md.mesh.numberofvertices,1)) 35 35 36 pos=numpy.nonzero(logical_and_n(md.mesh.vertexonb ed,numpy.logical_or(md.mesh.x==0.,md.mesh.x==numpy.max(md.mesh.x)),numpy.logical_or(md.mesh.y==0.,md.mesh.y==numpy.max(md.mesh.y))))36 pos=numpy.nonzero(logical_and_n(md.mesh.vertexonbase,numpy.logical_or(md.mesh.x==0.,md.mesh.x==numpy.max(md.mesh.x)),numpy.logical_or(md.mesh.y==0.,md.mesh.y==numpy.max(md.mesh.y)))) 37 37 md.stressbalance.spcvx[pos]=0. 38 38 md.stressbalance.spcvy[pos]=0. -
issm/trunk-jpl/test/NightlyRun/test1109.m
r15771 r17610 31 31 32 32 %Create spcs on the bed 33 pos=find(md.mesh.vertexonb ed);33 pos=find(md.mesh.vertexonbase); 34 34 md.stressbalance.spcvx=NaN*ones(md.mesh.numberofvertices,1); 35 35 md.stressbalance.spcvy=NaN*ones(md.mesh.numberofvertices,1); -
issm/trunk-jpl/test/NightlyRun/test1110.m
r16608 r17610 26 26 if (i==1 | i==3), 27 27 %Create dirichlet on the bed if no slip 28 pos=find(md.mesh.vertexonb ed);28 pos=find(md.mesh.vertexonbase); 29 29 md.stressbalance.spcvx(pos)=0.; 30 30 md.stressbalance.spcvy(pos)=0.; 31 31 md.stressbalance.spcvz(pos)=0.; 32 32 else 33 pos=find(md.mesh.vertexonb ed& (md.mesh.x==0. | md.mesh.x==max(md.mesh.x)) & (md.mesh.y==0. | md.mesh.y==max(md.mesh.y)));33 pos=find(md.mesh.vertexonbase & (md.mesh.x==0. | md.mesh.x==max(md.mesh.x)) & (md.mesh.y==0. | md.mesh.y==max(md.mesh.y))); 34 34 md.stressbalance.spcvx(pos)=100.; %because we need a dirichlet somewhere 35 35 md.stressbalance.spcvy(pos)=0.; 36 36 md.stressbalance.spcvz(pos)=0.; 37 37 end 38 pos=find(~md.mesh.vertexonb ed);38 pos=find(~md.mesh.vertexonbase); 39 39 md.thermal.spctemperature(pos)=255.; 40 40 -
issm/trunk-jpl/test/NightlyRun/test1205.m
r15771 r17610 22 22 23 23 %Spc the nodes on the bed 24 pos=find(md.mesh.vertexonb ed);24 pos=find(md.mesh.vertexonbase); 25 25 md.stressbalance.spcvx(pos)=0.; 26 26 md.stressbalance.spcvy(pos)=0.; -
issm/trunk-jpl/test/NightlyRun/test1205.py
r15771 r17610 35 35 36 36 #Spc the nodes on the bed 37 pos=numpy.nonzero(md.mesh.vertexonb ed)37 pos=numpy.nonzero(md.mesh.vertexonbase) 38 38 md.stressbalance.spcvx[pos]=0. 39 39 md.stressbalance.spcvy[pos]=0. -
issm/trunk-jpl/test/NightlyRun/test1206.m
r15771 r17610 22 22 23 23 %Spc the nodes on the bed 24 pos=find(md.mesh.vertexonb ed);24 pos=find(md.mesh.vertexonbase); 25 25 md.stressbalance.spcvx(pos)=0.; 26 26 md.stressbalance.spcvy(pos)=0.; -
issm/trunk-jpl/test/NightlyRun/test1206.py
r15771 r17610 35 35 36 36 #Spc the nodes on the bed 37 pos=numpy.nonzero(md.mesh.vertexonb ed)37 pos=numpy.nonzero(md.mesh.vertexonbase) 38 38 md.stressbalance.spcvx[pos]=0. 39 39 md.stressbalance.spcvy[pos]=0. -
issm/trunk-jpl/test/NightlyRun/test1207.m
r15771 r17610 22 22 23 23 %Spc the nodes on the bed 24 pos=find(md.mesh.vertexonb ed);24 pos=find(md.mesh.vertexonbase); 25 25 md.stressbalance.spcvx(pos)=0.; 26 26 md.stressbalance.spcvy(pos)=0.; -
issm/trunk-jpl/test/NightlyRun/test1207.py
r15771 r17610 35 35 36 36 #Spc the nodes on the bed 37 pos=numpy.nonzero(md.mesh.vertexonb ed)37 pos=numpy.nonzero(md.mesh.vertexonbase) 38 38 md.stressbalance.spcvx[pos]=0. 39 39 md.stressbalance.spcvy[pos]=0. -
issm/trunk-jpl/test/NightlyRun/test1208.m
r17555 r17610 13 13 14 14 %Spc the nodes on the bed 15 pos=find(md.mesh.vertexonb ed);15 pos=find(md.mesh.vertexonbase); 16 16 md.stressbalance.spcvx(pos)=0.; 17 17 md.stressbalance.spcvy(pos)=0.; -
issm/trunk-jpl/test/NightlyRun/test1208.py
r17555 r17610 26 26 27 27 #Spc the nodes on the bed 28 pos=numpy.nonzero(md.mesh.vertexonb ed)28 pos=numpy.nonzero(md.mesh.vertexonbase) 29 29 md.stressbalance.spcvx[pos]=0. 30 30 md.stressbalance.spcvy[pos]=0. -
issm/trunk-jpl/test/NightlyRun/test1302.m
r15565 r17610 12 12 13 13 %Thermal boundary conditions 14 pos1=find(md.mesh.elementonb ed); md.thermal.spctemperature(md.mesh.elements(pos1,1:3))=10.;14 pos1=find(md.mesh.elementonbase); md.thermal.spctemperature(md.mesh.elements(pos1,1:3))=10.; 15 15 pos2=find(md.mesh.elementonsurface); md.thermal.spctemperature(md.mesh.elements(pos2,4:6))=0.; 16 16 md.initialization.vz=0.1*ones(md.mesh.numberofvertices,1); -
issm/trunk-jpl/test/NightlyRun/test1302.py
r15565 r17610 26 26 27 27 #Thermal boundary conditions 28 pos1=numpy.nonzero(md.mesh.elementonb ed)[0]28 pos1=numpy.nonzero(md.mesh.elementonbase)[0] 29 29 md.thermal.spctemperature[md.mesh.elements[pos1,0:3]-1]=10. 30 30 pos2=numpy.nonzero(md.mesh.elementonsurface)[0] -
issm/trunk-jpl/test/NightlyRun/test1303.m
r15565 r17610 12 12 md=setflowequation(md,'HO','all'); 13 13 14 pos1=find(md.mesh.elementonb ed); md.thermal.spctemperature(md.mesh.elements(pos1,1:3))=10.;14 pos1=find(md.mesh.elementonbase); md.thermal.spctemperature(md.mesh.elements(pos1,1:3))=10.; 15 15 pos2=find(md.mesh.elementonsurface); md.thermal.spctemperature(md.mesh.elements(pos2,4:6))=0.; 16 16 md.initialization.pressure=zeros(md.mesh.numberofvertices,1); -
issm/trunk-jpl/test/NightlyRun/test1303.py
r15565 r17610 26 26 md=setflowequation(md,'HO','all') 27 27 28 pos1=numpy.nonzero(md.mesh.elementonb ed)[0]28 pos1=numpy.nonzero(md.mesh.elementonbase)[0] 29 29 md.thermal.spctemperature[md.mesh.elements[pos1,0:3]-1]=10. 30 30 pos2=numpy.nonzero(md.mesh.elementonsurface)[0] -
issm/trunk-jpl/test/NightlyRun/test703.m
r17590 r17610 47 47 md.basalforcings.melting_rate=zeros(md.mesh.numberofvertices,1); 48 48 md.basalforcings.geothermalflux=zeros(md.mesh.numberofvertices,1); 49 posb=find((md.mesh.x>0) & md.mesh.vertexonb ed);49 posb=find((md.mesh.x>0) & md.mesh.vertexonbase); 50 50 md.basalforcings.melting_rate(posb)=18; 51 51 md.initialization.vx=zeros(md.mesh.numberofvertices,1);
Note:
See TracChangeset
for help on using the changeset viewer.