Changeset 14652
- Timestamp:
- 04/19/13 09:43:49 (12 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 1 added
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/EnumDefinitions/EnumDefinitions.h
r14645 r14652 503 503 SoftMigrationEnum, 504 504 SubelementMigrationEnum, 505 SubelementMigration2Enum, 505 506 GLlevelsetEnum, 506 507 /*}}}*/ -
issm/trunk-jpl/src/c/classes/objects/Elements/Tria.cpp
r14650 r14652 2167 2167 GetInputListOnVertices(&b[0],BedEnum); 2168 2168 GetInputListOnVertices(&ba[0],BathymetryEnum); 2169 if(migration_style==SubelementMigrationEnum ) GetInputListOnVertices(&phi[0],GLlevelsetEnum);2169 if(migration_style==SubelementMigrationEnum || migration_style==SubelementMigration2Enum) GetInputListOnVertices(&phi[0],GLlevelsetEnum); 2170 2170 rho_water=matpar->GetRhoWater(); 2171 2171 rho_ice=matpar->GetRhoIce(); … … 2189 2189 if (bed_hydro>ba[i]){ 2190 2190 /*Unground only if the element is connected to the ice shelf*/ 2191 if(migration_style==AgressiveMigrationEnum || migration_style==SubelementMigrationEnum ){2191 if(migration_style==AgressiveMigrationEnum || migration_style==SubelementMigrationEnum || migration_style==SubelementMigration2Enum){ 2192 2192 s[i]=(1-density)*h[i]; 2193 2193 b[i]=-density*h[i]; … … 2209 2209 2210 2210 /*SubelementMigrationEnum: if one grounded, all grounded*/ 2211 if(migration_style==SubelementMigrationEnum ){2211 if(migration_style==SubelementMigrationEnum || migration_style==SubelementMigration2Enum){ 2212 2212 for(i=0;i<NUMVERTICES;i++){ 2213 2213 if(nodes[i]->IsGrounded()){ … … 2240 2240 2241 2241 /*Recalculate phi*/ 2242 if(migration_style==SubelementMigrationEnum ){2242 if(migration_style==SubelementMigrationEnum || migration_style==SubelementMigration2Enum){ 2243 2243 for(i=0;i<NUMVERTICES;i++) phi[i]=h[i]+ba[i]/density; 2244 2244 this->inputs->AddInput(new TriaP1Input(GLlevelsetEnum,&phi[0])); … … 3192 3192 int i,j; 3193 3193 int analysis_type,migration_style; 3194 int gausspoints=2; 3194 3195 IssmDouble MAXSLOPE = .06; // 6 % 3195 3196 IssmDouble MOUNTAINKEXPONENT = 10; … … 3201 3202 IssmDouble DL_scalar; 3202 3203 IssmDouble slope[2] = {0.0,0.0}; 3204 IssmDouble gllevelset; 3203 3205 IssmDouble xyz_list[NUMVERTICES][3]; 3204 3206 Friction *friction = NULL; … … 3216 3218 Input* vy_input=inputs->GetInput(VyEnum); _assert_(vy_input); 3217 3219 Input* vz_input=inputs->GetInput(VzEnum); _assert_(vz_input); 3220 Input* gllevelset_input=NULL; 3218 3221 parameters->FindParam(&analysis_type,AnalysisTypeEnum); 3219 3222 … … 3223 3226 /*Recover portion of element that is grounded*/ 3224 3227 if(migration_style==SubelementMigrationEnum) phi=this->GetGroundedPortion(&xyz_list[0][0]); 3228 if(migration_style==SubelementMigration2Enum){ 3229 gllevelset_input=inputs->GetInput(GLlevelsetEnum); _assert_(gllevelset_input); 3230 gausspoints=20; 3231 } 3225 3232 3226 3233 /* Start looping on the number of gaussian points: */ 3227 gauss=new GaussTria( 2);3234 gauss=new GaussTria(gausspoints); 3228 3235 for(int ig=gauss->begin();ig<gauss->end();ig++){ 3229 3236 … … 3237 3244 else friction->GetAlpha2(&alpha2, gauss,VxEnum,VyEnum,VzEnum); 3238 3245 if(migration_style==SubelementMigrationEnum) alpha2=phi*alpha2; 3246 if(migration_style==SubelementMigration2Enum){ 3247 gllevelset_input->GetInputValue(&gllevelset, gauss); 3248 if(gllevelset<0) alpha2=0; 3249 } 3239 3250 3240 3251 GetL(&L[0][0], &xyz_list[0][0], gauss,NDOF2); -
issm/trunk-jpl/src/c/modules/EnumToStringx/EnumToStringx.cpp
r14645 r14652 484 484 case SoftMigrationEnum : return "SoftMigration"; 485 485 case SubelementMigrationEnum : return "SubelementMigration"; 486 case SubelementMigration2Enum : return "SubelementMigration2"; 486 487 case GLlevelsetEnum : return "GLlevelset"; 487 488 case StokesSolverEnum : return "StokesSolver"; -
issm/trunk-jpl/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp
r14378 r14652 27 27 28 28 if(migration_style==NoneEnum) return; 29 if(migration_style!=AgressiveMigrationEnum && migration_style!=SoftMigrationEnum && migration_style!=SubelementMigrationEnum ) _error_(EnumToStringx(migration_style) << " not supported yet!");29 if(migration_style!=AgressiveMigrationEnum && migration_style!=SoftMigrationEnum && migration_style!=SubelementMigrationEnum && migration_style!=SubelementMigration2Enum) _error_(EnumToStringx(migration_style) << " not supported yet!"); 30 30 31 31 if(migration_style==SoftMigrationEnum){ -
issm/trunk-jpl/src/c/modules/ModelProcessorx/Transient/UpdateElementsTransient.cpp
r14367 r14652 26 26 iomodel->Constant(&migration_style,GroundinglineMigrationEnum); 27 27 28 if(isgl==1 && migration_style==SubelementMigrationEnum){28 if(isgl==1 && (migration_style==SubelementMigrationEnum || migration_style==SubelementMigration2Enum)){ 29 29 30 30 /*get parameters and constants: */ -
issm/trunk-jpl/src/c/modules/StringToEnumx/StringToEnumx.cpp
r14645 r14652 494 494 else if (strcmp(name,"SoftMigration")==0) return SoftMigrationEnum; 495 495 else if (strcmp(name,"SubelementMigration")==0) return SubelementMigrationEnum; 496 else if (strcmp(name,"SubelementMigration2")==0) return SubelementMigration2Enum; 496 497 else if (strcmp(name,"GLlevelset")==0) return GLlevelsetEnum; 497 498 else if (strcmp(name,"StokesSolver")==0) return StokesSolverEnum; … … 506 507 else if (strcmp(name,"GroundinglineMigration")==0) return GroundinglineMigrationEnum; 507 508 else if (strcmp(name,"Gset")==0) return GsetEnum; 508 else if (strcmp(name,"Index")==0) return IndexEnum;509 509 else stage=5; 510 510 } 511 511 if(stage==5){ 512 if (strcmp(name,"Indexed")==0) return IndexedEnum; 512 if (strcmp(name,"Index")==0) return IndexEnum; 513 else if (strcmp(name,"Indexed")==0) return IndexedEnum; 513 514 else if (strcmp(name,"Intersect")==0) return IntersectEnum; 514 515 else if (strcmp(name,"Nodal")==0) return NodalEnum; -
issm/trunk-jpl/src/c/solutions/transient_core.cpp
r14538 r14652 156 156 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SurfaceforcingsPrecipitationEnum); 157 157 } 158 if(isgroundingline && groundingline_migration==SubelementMigrationEnum){158 if(isgroundingline && (groundingline_migration==SubelementMigrationEnum || groundingline_migration==SubelementMigration2Enum)){ 159 159 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,GLlevelsetEnum); 160 160 } -
issm/trunk-jpl/src/m/classes/constants.m
r14640 r14652 33 33 function md = checkconsistency(obj,md,solution,analyses) % {{{ 34 34 35 md = checkfield(md,'constants.g','>',0,'size',[1 1]);35 % md = checkfield(md,'constants.g','>',0,'size',[1 1]); 36 36 md = checkfield(md,'constants.yts','>',0,'size',[1 1]); 37 37 md = checkfield(md,'constants.referencetemperature','size',[1 1]); -
issm/trunk-jpl/src/m/classes/groundingline.m
r14640 r14652 29 29 function md = checkconsistency(obj,md,solution,analyses) % {{{ 30 30 31 md = checkfield(md,'groundingline.migration','values',{'None' 'AgressiveMigration' 'SoftMigration' 'SubelementMigration' });31 md = checkfield(md,'groundingline.migration','values',{'None' 'AgressiveMigration' 'SoftMigration' 'SubelementMigration','SubelementMigration2'}); 32 32 33 33 -
issm/trunk-jpl/src/m/classes/groundingline.py
r14640 r14652 42 42 def checkconsistency(self,md,solution,analyses): # {{{ 43 43 44 md = checkfield(md,'groundingline.migration','values',['None','AgressiveMigration','SoftMigration','SubelementMigration' ])44 md = checkfield(md,'groundingline.migration','values',['None','AgressiveMigration','SoftMigration','SubelementMigration','SubelementMigration2']) 45 45 46 46 if not strcmp(self.migration,'None'): -
issm/trunk-jpl/src/m/enum/EnumDefinitions.py
r14646 r14652 4679 4679 return StringToEnum('SubelementMigration')[0] 4680 4680 4681 def SubelementMigration2Enum(): 4682 """ 4683 SUBELEMENTMIGRATION2ENUM - Enum of SubelementMigration2 4684 4685 Usage: 4686 macro=SubelementMigration2Enum() 4687 """ 4688 4689 return StringToEnum('SubelementMigration2')[0] 4690 4681 4691 def GLlevelsetEnum(): 4682 4692 """ … … 5127 5137 """ 5128 5138 5129 return 51 15130 5139 return 512 5140 -
issm/trunk-jpl/src/m/enum/MaximumNumberOfEnums.m
r14646 r14652 9 9 % macro=MaximumNumberOfEnums() 10 10 11 macro=51 1;11 macro=512;
Note:
See TracChangeset
for help on using the changeset viewer.