Changeset 17337
- Timestamp:
- 02/21/14 14:07:16 (11 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
r17330 r17337 715 715 } 716 716 } 717 718 /*Constraint at the bedrock interface (v.n = vz = 0) (Coordinates will be updated according to the bed slope)*/719 if (iomodel->meshtype==Mesh3DEnum) if(nodeonbed[i]>0. && groundedice_ls[i]>=0. && nodeonFS[i]>0.){720 switch(reCast<int,IssmDouble>(vertices_type[i])){721 case SSAFSApproximationEnum:722 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,5,0.,StressbalanceAnalysisEnum));723 count++;724 break;725 case HOFSApproximationEnum:726 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,5,0.,StressbalanceAnalysisEnum));727 count++;728 break;729 case FSApproximationEnum:730 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,3,0.,StressbalanceAnalysisEnum));731 count++;732 break;733 default: _error_("Vertex approximation " << EnumToStringx(reCast<int,IssmDouble>(vertices_type[i])) << " not supported");734 }735 }736 717 } 737 718 } -
issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
r17325 r17337 2161 2161 void Penta::ResetFSBasalBoundaryCondition(void){ 2162 2162 2163 int approximation; 2164 int numindices; 2165 int *indices = NULL; 2166 IssmDouble slopex,slopey,groundedice; 2167 IssmDouble xz_plane[6]; 2163 int approximation; 2164 int numindices; 2165 int *indices = NULL; 2166 IssmDouble slopex,slopey,groundedice; 2167 IssmDouble xz_plane[6]; 2168 IssmDouble* vertexapproximation= NULL; 2168 2169 2169 2170 /*For FS only: we want the CS to be tangential to the bedrock*/ … … 2193 2194 xz_plane[1]=0.; xz_plane[4]=-slopey; 2194 2195 xz_plane[2]=slopex; xz_plane[5]=1.; 2195 this->nodes[indices[i]]->DofInSSet(2); //vz 2196 if(this->nodes[indices[i]]->GetApproximation()==FSApproximationEnum){ 2197 this->nodes[indices[i]]->DofInSSet(2); //vz 2198 } 2199 else if(this->nodes[indices[i]]->GetApproximation()==SSAFSApproximationEnum || this->nodes[indices[i]]->GetApproximation()==HOFSApproximationEnum){ 2200 this->nodes[indices[i]]->DofInSSet(4); //vz 2201 } 2202 else _error_("approximation not implemented"); 2196 2203 } 2197 2204 else{ … … 2200 2207 xz_plane[1]=0.; xz_plane[4]=0; 2201 2208 xz_plane[2]=0; xz_plane[5]=1.; 2202 this->nodes[indices[i]]->DofInFSet(2); //vz 2209 if(this->nodes[indices[i]]->GetApproximation()==FSApproximationEnum){ 2210 this->nodes[indices[i]]->DofInFSet(2); //vz 2211 } 2212 else if(this->nodes[indices[i]]->GetApproximation()==SSAFSApproximationEnum || this->nodes[indices[i]]->GetApproximation()==HOFSApproximationEnum){ 2213 this->nodes[indices[i]]->DofInFSet(4); //vz 2214 } 2215 else _error_("approximation not implemented"); 2203 2216 } 2204 2217 2205 2218 XZvectorsToCoordinateSystem(&this->nodes[indices[i]]->coord_system[0][0],&xz_plane[0]); 2206 2207 2219 } 2208 2220
Note:
See TracChangeset
for help on using the changeset viewer.