Changeset 16021
- Timestamp:
- 08/29/13 15:31:28 (12 years ago)
- Location:
- issm/trunk-jpl/src/c/classes/Elements
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
r15986 r16021 8021 8021 int i,j; 8022 8022 int analysis_type,migration_style; 8023 int point1; 8023 8024 IssmDouble xyz_list[NUMVERTICES][3]; 8024 8025 IssmDouble xyz_list_tria[NUMVERTICES2D][3]; 8025 8026 IssmDouble alpha2,Jdet; 8027 IssmDouble fraction1,fraction2; 8028 IssmDouble gllevelset; 8026 8029 IssmDouble phi=1.0; 8027 8030 IssmDouble DL_scalar; … … 8050 8053 Input* vy_input=inputs->GetInput(VyEnum); _assert_(vy_input); 8051 8054 Input* vz_input=inputs->GetInput(VzEnum); _assert_(vz_input); 8055 Input* gllevelset_input=NULL; 8052 8056 8053 8057 /*build friction object, used later on: */ … … 8056 8060 /*Recover portion of element that is grounded*/ 8057 8061 if(migration_style==SubelementMigrationEnum) phi=this->GetGroundedPortion(&xyz_list_tria[0][0]); 8062 if(migration_style==SubelementMigration2Enum){ 8063 gllevelset_input=inputs->GetInput(MaskGroundediceLevelsetEnum); _assert_(gllevelset_input); 8064 //this->GetGroundedPart(&point1,&fraction1,&fraction2,&mainlyfloating); 8065 //gauss=new GaussPenta(point1,fraction1,fraction2,mainlyfloating,2); 8066 gauss=new GaussPenta(0,1,2,2); 8067 } 8068 else{ 8069 gauss=new GaussPenta(0,1,2,2); 8070 } 8058 8071 8059 8072 /* Start looping on the number of gaussian points: */ 8060 gauss=new GaussPenta(0,1,2,2);8061 8073 for(int ig=gauss->begin();ig<gauss->end();ig++){ 8062 8074 … … 8068 8080 friction->GetAlpha2(&alpha2, gauss,VxEnum,VyEnum,VzEnum); 8069 8081 if(migration_style==SubelementMigrationEnum) alpha2=phi*alpha2; 8082 if(migration_style==SubelementMigration2Enum){ 8083 gllevelset_input->GetInputValue(&gllevelset, gauss); 8084 if(gllevelset<0) alpha2=0; 8085 } 8070 8086 8071 8087 DL_scalar=alpha2*gauss->weight*Jdet; … … 11227 11243 if(bed_hydro>r[i]){ 11228 11244 /*Unground only if the element is connected to the ice shelf*/ 11229 if(migration_style==AgressiveMigrationEnum || migration_style==SubelementMigrationEnum ){11245 if(migration_style==AgressiveMigrationEnum || migration_style==SubelementMigrationEnum || migration_style==SubelementMigration2Enum){ 11230 11246 s[i] = (1-density)*h[i]; 11231 11247 b[i] = -density*h[i]; … … 11260 11276 11261 11277 /*SubelementMigrationEnum: if one grounded, all grounded*/ 11262 if(migration_style==SubelementMigrationEnum ){11278 if(migration_style==SubelementMigrationEnum || migration_style==SubelementMigration2Enum){ 11263 11279 for(i=0;i<NUMVERTICES;i++){ 11264 11280 if(phi[i]>0.){ -
issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
r16019 r16021 3047 3047 int analysis_type,migration_style; 3048 3048 int point1; 3049 IssmDouble alpha2; 3050 IssmDouble Jdet; 3049 IssmDouble alpha2,Jdet; 3051 3050 IssmDouble fraction1,fraction2; 3052 3051 IssmDouble phi=1.0;
Note:
See TracChangeset
for help on using the changeset viewer.