Changeset 17839


Ignore:
Timestamp:
Apr 24, 2014, 5:33:17 PM (12 years ago)
Author:
Mathieu Morlighem
Message:

CHG: added some Enums for balancethickness2

Location:
issm/trunk-jpl/src
Files:
4 added
6 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/analyses/Balancethickness2Analysis.cpp

    r17831 r17839  
    258258        /*Fetch dof list and allocate solution vector*/
    259259        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);
    262264
    263265        /*Use the dof list to index into the solution vector: */
    … …  
    288290                normdphi = sqrt(dphi[0]*dphi[0] + dphi[1]*dphi[1]);
    289291
    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);
    293299
    294300        /*Clean up and return*/
    … …  
    297303        xDelete<IssmDouble>(xyz_list);
    298304        xDelete<IssmDouble>(values);
    299         xDelete<IssmDouble>(thickness);
     305        xDelete<IssmDouble>(thickness_list);
     306        xDelete<IssmDouble>(vx_list);
     307        xDelete<IssmDouble>(vy_list);
    300308}/*}}}*/
    301309void Balancethickness2Analysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
  • issm/trunk-jpl/src/c/cores/balancethickness2_core.cpp

    r17831 r17839  
    2626        if(save_results){
    2727                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);
    3030        }
    3131
  • issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h

    r17831 r17839  
    101101        EplHeadEnum,
    102102        EplHeadOldEnum,
    103   EplHeadSlopeXEnum,
     103        EplHeadSlopeXEnum,
    104104        EplHeadSlopeYEnum,
    105105        HydrologydcMaxIterEnum,
    … …  
    250250        SettingsOutputFrequencyEnum,
    251251        SettingsWaitonlockEnum,
    252 
    253252        DebugProfilingEnum,
    254253        ProfilingCurrentMemEnum,
    … …  
    261260        SteadystateRequestedOutputsEnum,
    262261        SurfaceEnum,
    263 
    264262        ThermalIsenthalpyEnum,
    265263        ThermalIsdynamicbasalspcEnum,
    … …  
    289287        TransientNumRequestedOutputsEnum,
    290288        TransientRequestedOutputsEnum,
     289        PotentialEnum,
     290        Balancethickness2MisfitEnum,
     291        NuXEnum,
     292        NuYEnum,
    291293        /*}}}*/
    292294        /*Surfaceforcings{{{*/
  • issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp

    r17831 r17839  
    295295                case TransientNumRequestedOutputsEnum : return "TransientNumRequestedOutputs";
    296296                case TransientRequestedOutputsEnum : return "TransientRequestedOutputs";
     297                case PotentialEnum : return "Potential";
     298                case Balancethickness2MisfitEnum : return "Balancethickness2Misfit";
     299                case NuXEnum : return "NuX";
     300                case NuYEnum : return "NuY";
    297301                case SurfaceforcingsEnum : return "Surfaceforcings";
    298302                case SMBEnum : return "SMB";
  • issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp

    r17831 r17839  
    301301              else if (strcmp(name,"TransientNumRequestedOutputs")==0) return TransientNumRequestedOutputsEnum;
    302302              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;
    303307              else if (strcmp(name,"Surfaceforcings")==0) return SurfaceforcingsEnum;
    304308              else if (strcmp(name,"SMB")==0) return SMBEnum;
    … …  
    379383              else if (strcmp(name,"Approximation")==0) return ApproximationEnum;
    380384              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;
    382389              else if (strcmp(name,"SSAApproximation")==0) return SSAApproximationEnum;
    383390              else if (strcmp(name,"SSAHOApproximation")==0) return SSAHOApproximationEnum;
    384391              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;
    389393              else if (strcmp(name,"HOApproximation")==0) return HOApproximationEnum;
    390394              else if (strcmp(name,"HOFSApproximation")==0) return HOFSApproximationEnum;
    … …  
    502506              else if (strcmp(name,"SurfaceLogVelMisfit")==0) return SurfaceLogVelMisfitEnum;
    503507              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;
    505512              else if (strcmp(name,"SurfaceSlopeX")==0) return SurfaceSlopeXEnum;
    506513              else if (strcmp(name,"SurfaceSlopeY")==0) return SurfaceSlopeYEnum;
    507514              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;
    512516              else if (strcmp(name,"ThicknessAbsMisfit")==0) return ThicknessAbsMisfitEnum;
    513517              else if (strcmp(name,"Vel")==0) return VelEnum;
    … …  
    625629              else if (strcmp(name,"TotalSmb")==0) return TotalSmbEnum;
    626630              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;
    628635              else if (strcmp(name,"AugmentedLagrangianR")==0) return AugmentedLagrangianREnum;
    629636              else if (strcmp(name,"AugmentedLagrangianTheta")==0) return AugmentedLagrangianThetaEnum;
    630637              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;
    635639              else if (strcmp(name,"SoftMigration")==0) return SoftMigrationEnum;
    636640              else if (strcmp(name,"SubelementMigration")==0) return SubelementMigrationEnum;
  • issm/trunk-jpl/src/m/enum/EnumDefinitions.py

    r17831 r17839  
    287287def TransientNumRequestedOutputsEnum(): return StringToEnum("TransientNumRequestedOutputs")[0]
    288288def TransientRequestedOutputsEnum(): return StringToEnum("TransientRequestedOutputs")[0]
     289def PotentialEnum(): return StringToEnum("Potential")[0]
     290def Balancethickness2MisfitEnum(): return StringToEnum("Balancethickness2Misfit")[0]
     291def NuXEnum(): return StringToEnum("NuX")[0]
     292def NuYEnum(): return StringToEnum("NuY")[0]
    289293def SurfaceforcingsEnum(): return StringToEnum("Surfaceforcings")[0]
    290294def SMBEnum(): return StringToEnum("SMB")[0]
Note: See TracChangeset for help on using the changeset viewer.