Changeset 17839


Ignore:
Timestamp:
04/24/14 17:33:17 (11 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.