Changeset 17839
- Timestamp:
- 04/24/14 17:33:17 (11 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 4 added
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/Balancethickness2Analysis.cpp
r17831 r17839 258 258 /*Fetch dof list and allocate solution vector*/ 259 259 element->GetDofList(&doflist,NoneApproximationEnum,GsetEnum); 260 IssmDouble* thickness = xNew<IssmDouble>(numvertices); 261 IssmDouble* values = xNew<IssmDouble>(numnodes); 260 IssmDouble* values = xNew<IssmDouble>(numnodes); 261 IssmDouble* thickness_list = xNew<IssmDouble>(numvertices); 262 IssmDouble* vx_list = xNew<IssmDouble>(numvertices); 263 IssmDouble* vy_list = xNew<IssmDouble>(numvertices); 262 264 263 265 /*Use the dof list to index into the solution vector: */ … … 288 290 normdphi = sqrt(dphi[0]*dphi[0] + dphi[1]*dphi[1]); 289 291 290 thickness[iv] = normdphi/vel; 291 } 292 element->AddInput(ThicknessEnum,thickness,P1Enum); 292 thickness_list[iv] = normdphi/vel; 293 vx_list[iv] = 1./thickness_list[iv] * dphi[0]; 294 vy_list[iv] = 1./thickness_list[iv] * dphi[1]; 295 } 296 element->AddInput(ThicknessEnum,thickness_list,P1Enum); 297 element->AddInput(VxEnum,vx_list,P1Enum); 298 element->AddInput(VyEnum,vy_list,P1Enum); 293 299 294 300 /*Clean up and return*/ … … 297 303 xDelete<IssmDouble>(xyz_list); 298 304 xDelete<IssmDouble>(values); 299 xDelete<IssmDouble>(thickness); 305 xDelete<IssmDouble>(thickness_list); 306 xDelete<IssmDouble>(vx_list); 307 xDelete<IssmDouble>(vy_list); 300 308 }/*}}}*/ 301 309 void Balancethickness2Analysis::UpdateConstraints(FemModel* femmodel){/*{{{*/ -
issm/trunk-jpl/src/c/cores/balancethickness2_core.cpp
r17831 r17839 26 26 if(save_results){ 27 27 if(VerboseSolution()) _printf0_(" saving results\n"); 28 int outputs[ 2] = {ThicknessEnum,EnthalpyEnum};29 femmodel->RequestedOutputsx(&femmodel->results,&outputs[0], 2);28 int outputs[4] = {ThicknessEnum,EnthalpyEnum,VxEnum,VyEnum}; 29 femmodel->RequestedOutputsx(&femmodel->results,&outputs[0],4); 30 30 } 31 31 -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r17831 r17839 101 101 EplHeadEnum, 102 102 EplHeadOldEnum, 103 103 EplHeadSlopeXEnum, 104 104 EplHeadSlopeYEnum, 105 105 HydrologydcMaxIterEnum, … … 250 250 SettingsOutputFrequencyEnum, 251 251 SettingsWaitonlockEnum, 252 253 252 DebugProfilingEnum, 254 253 ProfilingCurrentMemEnum, … … 261 260 SteadystateRequestedOutputsEnum, 262 261 SurfaceEnum, 263 264 262 ThermalIsenthalpyEnum, 265 263 ThermalIsdynamicbasalspcEnum, … … 289 287 TransientNumRequestedOutputsEnum, 290 288 TransientRequestedOutputsEnum, 289 PotentialEnum, 290 Balancethickness2MisfitEnum, 291 NuXEnum, 292 NuYEnum, 291 293 /*}}}*/ 292 294 /*Surfaceforcings{{{*/ -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r17831 r17839 295 295 case TransientNumRequestedOutputsEnum : return "TransientNumRequestedOutputs"; 296 296 case TransientRequestedOutputsEnum : return "TransientRequestedOutputs"; 297 case PotentialEnum : return "Potential"; 298 case Balancethickness2MisfitEnum : return "Balancethickness2Misfit"; 299 case NuXEnum : return "NuX"; 300 case NuYEnum : return "NuY"; 297 301 case SurfaceforcingsEnum : return "Surfaceforcings"; 298 302 case SMBEnum : return "SMB"; -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r17831 r17839 301 301 else if (strcmp(name,"TransientNumRequestedOutputs")==0) return TransientNumRequestedOutputsEnum; 302 302 else if (strcmp(name,"TransientRequestedOutputs")==0) return TransientRequestedOutputsEnum; 303 else if (strcmp(name,"Potential")==0) return PotentialEnum; 304 else if (strcmp(name,"Balancethickness2Misfit")==0) return Balancethickness2MisfitEnum; 305 else if (strcmp(name,"NuX")==0) return NuXEnum; 306 else if (strcmp(name,"NuY")==0) return NuYEnum; 303 307 else if (strcmp(name,"Surfaceforcings")==0) return SurfaceforcingsEnum; 304 308 else if (strcmp(name,"SMB")==0) return SMBEnum; … … 379 383 else if (strcmp(name,"Approximation")==0) return ApproximationEnum; 380 384 else if (strcmp(name,"NoneApproximation")==0) return NoneApproximationEnum; 381 else if (strcmp(name,"SIAApproximation")==0) return SIAApproximationEnum; 385 else stage=4; 386 } 387 if(stage==4){ 388 if (strcmp(name,"SIAApproximation")==0) return SIAApproximationEnum; 382 389 else if (strcmp(name,"SSAApproximation")==0) return SSAApproximationEnum; 383 390 else if (strcmp(name,"SSAHOApproximation")==0) return SSAHOApproximationEnum; 384 391 else if (strcmp(name,"SSAFSApproximation")==0) return SSAFSApproximationEnum; 385 else stage=4; 386 } 387 if(stage==4){ 388 if (strcmp(name,"L1L2Approximation")==0) return L1L2ApproximationEnum; 392 else if (strcmp(name,"L1L2Approximation")==0) return L1L2ApproximationEnum; 389 393 else if (strcmp(name,"HOApproximation")==0) return HOApproximationEnum; 390 394 else if (strcmp(name,"HOFSApproximation")==0) return HOFSApproximationEnum; … … 502 506 else if (strcmp(name,"SurfaceLogVelMisfit")==0) return SurfaceLogVelMisfitEnum; 503 507 else if (strcmp(name,"SurfaceLogVxVyMisfit")==0) return SurfaceLogVxVyMisfitEnum; 504 else if (strcmp(name,"SurfaceRelVelMisfit")==0) return SurfaceRelVelMisfitEnum; 508 else stage=5; 509 } 510 if(stage==5){ 511 if (strcmp(name,"SurfaceRelVelMisfit")==0) return SurfaceRelVelMisfitEnum; 505 512 else if (strcmp(name,"SurfaceSlopeX")==0) return SurfaceSlopeXEnum; 506 513 else if (strcmp(name,"SurfaceSlopeY")==0) return SurfaceSlopeYEnum; 507 514 else if (strcmp(name,"Temperature")==0) return TemperatureEnum; 508 else stage=5; 509 } 510 if(stage==5){ 511 if (strcmp(name,"TemperaturePicard")==0) return TemperaturePicardEnum; 515 else if (strcmp(name,"TemperaturePicard")==0) return TemperaturePicardEnum; 512 516 else if (strcmp(name,"ThicknessAbsMisfit")==0) return ThicknessAbsMisfitEnum; 513 517 else if (strcmp(name,"Vel")==0) return VelEnum; … … 625 629 else if (strcmp(name,"TotalSmb")==0) return TotalSmbEnum; 626 630 else if (strcmp(name,"Absolute")==0) return AbsoluteEnum; 627 else if (strcmp(name,"Incremental")==0) return IncrementalEnum; 631 else stage=6; 632 } 633 if(stage==6){ 634 if (strcmp(name,"Incremental")==0) return IncrementalEnum; 628 635 else if (strcmp(name,"AugmentedLagrangianR")==0) return AugmentedLagrangianREnum; 629 636 else if (strcmp(name,"AugmentedLagrangianTheta")==0) return AugmentedLagrangianThetaEnum; 630 637 else if (strcmp(name,"None")==0) return NoneEnum; 631 else stage=6; 632 } 633 if(stage==6){ 634 if (strcmp(name,"AgressiveMigration")==0) return AgressiveMigrationEnum; 638 else if (strcmp(name,"AgressiveMigration")==0) return AgressiveMigrationEnum; 635 639 else if (strcmp(name,"SoftMigration")==0) return SoftMigrationEnum; 636 640 else if (strcmp(name,"SubelementMigration")==0) return SubelementMigrationEnum; -
issm/trunk-jpl/src/m/enum/EnumDefinitions.py
r17831 r17839 287 287 def TransientNumRequestedOutputsEnum(): return StringToEnum("TransientNumRequestedOutputs")[0] 288 288 def TransientRequestedOutputsEnum(): return StringToEnum("TransientRequestedOutputs")[0] 289 def PotentialEnum(): return StringToEnum("Potential")[0] 290 def Balancethickness2MisfitEnum(): return StringToEnum("Balancethickness2Misfit")[0] 291 def NuXEnum(): return StringToEnum("NuX")[0] 292 def NuYEnum(): return StringToEnum("NuY")[0] 289 293 def SurfaceforcingsEnum(): return StringToEnum("Surfaceforcings")[0] 290 294 def SMBEnum(): return StringToEnum("SMB")[0]
Note:
See TracChangeset
for help on using the changeset viewer.