Changeset 26983


Ignore:
Timestamp:
05/04/22 05:12:41 (3 years ago)
Author:
Mathieu Morlighem
Message:

CHG: moving calving rate calculation OUT of MovingFront

Location:
issm/trunk-jpl/src/c
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/classes/Elements/Element.cpp

    r26964 r26983  
    211211
    212212   this->AddInput(BasalforcingsFloatingiceMeltingRateEnum,&values[0],P1Enum);
     213}/*}}}*/
     214void       Element::CalvingFromRate(){/*{{{*/
     215
     216        /*We are provided a calving rate, figure out the x/y components*/
     217        int         dim,domaintype;
     218        IssmDouble  vx,vy,vel,dphidx,dphidy,dphi,c;
     219        IssmDouble  calvingratex[MAXVERTICES];
     220        IssmDouble  calvingratey[MAXVERTICES];
     221
     222        /*Get problem dimension and whether there is moving front or not*/
     223        this->FindParam(&domaintype,DomainTypeEnum);
     224
     225        switch(domaintype){
     226                case Domain2DverticalEnum:   dim = 1; break;
     227                case Domain2DhorizontalEnum: dim = 2; break;
     228                case Domain3DEnum:           dim = 2; break;
     229                default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet");
     230        }
     231        if(dim==1) _error_("not implemented in 1D...");
     232
     233        Input *calvingrate_input = this->GetInput(CalvingCalvingrateEnum);     _assert_(calvingrate_input);
     234        Input *vx_input          = this->GetInput(VxEnum);  _assert_(vx_input);
     235        Input *vy_input          = this->GetInput(VyEnum); _assert_(vy_input);
     236        Input *lsf_slopex_input  = this->GetInput(LevelsetfunctionSlopeXEnum); _assert_(lsf_slopex_input);
     237        Input *lsf_slopey_input  = this->GetInput(LevelsetfunctionSlopeYEnum); _assert_(lsf_slopey_input);
     238
     239        /*Allocate arrays*/
     240        const int NUM_VERTICES = this->GetNumberOfVertices();
     241
     242        /* Start looping on the number of vertices: */
     243        Gauss* gauss=this->NewGauss();
     244        for (int iv=0;iv<NUM_VERTICES;iv++){
     245                gauss->GaussVertex(iv);
     246
     247      calvingrate_input->GetInputValue(&c,gauss);
     248                vx_input->GetInputValue(&vx,gauss);
     249                vy_input->GetInputValue(&vy,gauss);
     250                lsf_slopex_input->GetInputValue(&dphidx,gauss);
     251                lsf_slopey_input->GetInputValue(&dphidy,gauss);
     252
     253                vel=sqrt(vx*vx + vy*vy) + 1e-14;
     254                dphi=sqrt(dphidx*dphidx+dphidy*dphidy)+ 1e-14;
     255
     256                if(false){
     257                        /*Velocity direction*/
     258                        calvingratex[iv] = c*vx/vel;
     259         calvingratey[iv] = c*vy/vel;
     260                }
     261                else{
     262                        /*Lelvelset gradient (perpendicular to ice front)*/
     263         calvingratex[iv] = c*dphidx/dphi;
     264         calvingratey[iv] = c*dphidy/dphi;
     265                }
     266        }
     267
     268
     269        /*Add to inputs*/
     270        this->AddInput(CalvingratexEnum,&calvingratex[0],P1DGEnum);
     271        this->AddInput(CalvingrateyEnum,&calvingratey[0],P1DGEnum);
     272        //this->AddInput(CalvingCalvingrateEnum,&calvingrate[0],P1DGEnum); /*Do not change calving rate, that's our input!*/
     273
     274        /*Clean up and return*/
     275        delete gauss;
     276}/*}}}*/
     277void       Element::CalvingSetZeroRate(){/*{{{*/
     278
     279        /*Set calving rate as 0, this is probably because we are  dealing with discrete calving laws*/
     280        IssmDouble  calvingratex[MAXVERTICES] = {0.};
     281        IssmDouble  calvingratey[MAXVERTICES] = {0.};
     282        IssmDouble  calvingrate[MAXVERTICES]  = {0.};
     283        this->AddInput(CalvingratexEnum,&calvingratex[0],P1DGEnum);
     284        this->AddInput(CalvingrateyEnum,&calvingratey[0],P1DGEnum);
     285        this->AddInput(CalvingCalvingrateEnum,&calvingrate[0],P1DGEnum);
    213286}/*}}}*/
    214287void       Element::ComputeLambdaS(){/*{{{*/
  • issm/trunk-jpl/src/c/classes/Elements/Element.h

    r26964 r26983  
    7171      void               Autoregression(bool isstepforar,int arorder,IssmDouble telapsed_ar,IssmDouble* beta0,IssmDouble* beta1,IssmDouble* phi,bool isfieldstochastic,int enum_type);
    7272                void               BasinLinearFloatingiceMeltingRate(IssmDouble* deepwaterel,IssmDouble* upperwatermelt,IssmDouble* upperwaterel,IssmDouble* perturbation);
     73                void               CalvingSetZeroRate(void);
     74                void               CalvingFromRate(void);
    7375                void               ComputeLambdaS(void);
    7476                void               ComputeNewDamage();
     
    230232                virtual void       AverageOntoPartition(Vector<IssmDouble>* partition_contributions,Vector<IssmDouble>* partition_areas,IssmDouble* vertex_response,IssmDouble* qmu_part)=0;
    231233                virtual void             BasalNodeIndices(int* pnumindices,int** pindices,int finiteelement){_error_("not implemented yet");};
    232                 virtual void       CalvingProjectionXY(void){_error_("not implemented yet");};
    233234                virtual void       CalvingRateParameterization(void){_error_("not implemented yet");};
    234235                virtual void       CalvingRateVonmises(void){_error_("not implemented yet");};
  • issm/trunk-jpl/src/c/classes/Elements/Penta.cpp

    r26879 r26983  
    29062906                        break;
    29072907                case CalvingLevermannEnum:
    2908                         calvingratex_input=this->GetInput(CalvingratexAverageEnum); _assert_(calvingratex_input);
    2909                         calvingratey_input=this->GetInput(CalvingrateyAverageEnum); _assert_(calvingratey_input);
     2908                        calvingratex_input=this->GetInput(CalvingratexEnum); _assert_(calvingratex_input);
     2909                        calvingratey_input=this->GetInput(CalvingrateyEnum); _assert_(calvingratey_input);
    29102910                        meltingrate_input = this->GetInput(CalvingMeltingrateEnum);     _assert_(meltingrate_input);
    29112911                        break;
  • issm/trunk-jpl/src/c/classes/Elements/Tria.cpp

    r26911 r26983  
    660660                IssmDouble calvingratex,calvingratey,thickness,Jdet,flux_per_area;
    661661                IssmDouble rho_ice=FindParam(MaterialsRhoIceEnum);
    662                 Input* thickness_input=this->GetInput(ThicknessEnum); _assert_(thickness_input);
    663                 Input* calvingratex_input=NULL;
    664                 Input* calvingratey_input=NULL;
    665                 if(domaintype==Domain2DhorizontalEnum){
    666                         calvingratex_input=this->GetInput(CalvingratexEnum); _assert_(calvingratex_input);
    667                         calvingratey_input=this->GetInput(CalvingrateyEnum); _assert_(calvingratey_input);
    668                 }
    669                 else{
    670                         calvingratex_input=this->GetInput(CalvingratexAverageEnum); _assert_(calvingratex_input);
    671                         calvingratey_input=this->GetInput(CalvingrateyAverageEnum); _assert_(calvingratey_input);
    672                 }
     662                Input* thickness_input    = this->GetInput(ThicknessEnum); _assert_(thickness_input);
     663                Input* calvingratex_input = this->GetInput(CalvingratexEnum); _assert_(calvingratex_input);
     664                Input* calvingratey_input = this->GetInput(CalvingrateyEnum); _assert_(calvingratey_input);
    673665
    674666                /*Start looping on Gaussian points*/
     
    794786                IssmDouble calvingratex,calvingratey,vx,vy,vel,meltingrate,meltingratex,meltingratey,thickness,Jdet,flux_per_area;
    795787                IssmDouble rho_ice=FindParam(MaterialsRhoIceEnum);
    796                 Input* thickness_input=this->GetInput(ThicknessEnum); _assert_(thickness_input);
    797                 Input* calvingratex_input=NULL;
    798                 Input* calvingratey_input=NULL;
    799                 Input* vx_input=NULL;
    800                 Input* vy_input=NULL;
    801                 Input* meltingrate_input=NULL;
    802                 if(domaintype==Domain2DhorizontalEnum){
    803                         calvingratex_input=this->GetInput(CalvingratexEnum); _assert_(calvingratex_input);
    804                         calvingratey_input=this->GetInput(CalvingrateyEnum); _assert_(calvingratey_input);
    805                         vx_input=this->GetInput(VxEnum); _assert_(vx_input);
    806                         vy_input=this->GetInput(VyEnum); _assert_(vy_input);
    807                         meltingrate_input=this->GetInput(CalvingMeltingrateEnum); _assert_(meltingrate_input);
    808                 }
    809                 else{
    810                         calvingratex_input=this->GetInput(CalvingratexAverageEnum); _assert_(calvingratex_input);
    811                         calvingratey_input=this->GetInput(CalvingrateyAverageEnum); _assert_(calvingratey_input);
    812                 }
     788                Input* thickness_input    = this->GetInput(ThicknessEnum); _assert_(thickness_input);
     789                Input* calvingratex_input = this->GetInput(CalvingratexEnum); _assert_(calvingratex_input);
     790                Input* calvingratey_input = this->GetInput(CalvingrateyEnum); _assert_(calvingratey_input);
     791                Input* vx_input           = this->GetInput(VxEnum); _assert_(vx_input);
     792                Input* vy_input           = this->GetInput(VyEnum); _assert_(vy_input);
     793                Input* meltingrate_input  = this->GetInput(CalvingMeltingrateEnum); _assert_(meltingrate_input);
    813794
    814795                /*Start looping on Gaussian points*/
     
    43454326        switch(calvinglaw){
    43464327                case DefaultCalvingEnum:
     4328                        calvingratex_input=this->GetInput(CalvingratexEnum); _assert_(calvingratex_input);
     4329                        calvingratey_input=this->GetInput(CalvingrateyEnum); _assert_(calvingratey_input);
     4330                        meltingrate_input = this->GetInput(CalvingMeltingrateEnum);     _assert_(meltingrate_input);
     4331                        break;
    43474332                case CalvingVonmisesEnum:
    43484333                        calvingrate_input = this->GetInput(CalvingCalvingrateEnum);     _assert_(calvingrate_input);
     
    43554340                                        break;
    43564341                                case Domain2DhorizontalEnum:
     4342            case Domain3DEnum:
    43574343                                        calvingratex_input=this->GetInput(CalvingratexEnum); _assert_(calvingratex_input);
    43584344                                        calvingratey_input=this->GetInput(CalvingrateyEnum); _assert_(calvingratey_input);
    4359                                         break;
    4360                                 case Domain3DEnum:
    4361                                         calvingratex_input=this->GetInput(CalvingratexAverageEnum); _assert_(calvingratex_input);
    4362                                         calvingratey_input=this->GetInput(CalvingrateyAverageEnum); _assert_(calvingratey_input);
    43634345                                        break;
    43644346                                default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet");
     
    44074389                switch(calvinglaw){
    44084390                        case DefaultCalvingEnum:
     4391                                calvingratex_input->GetInputValue(&c[0],&gauss);
     4392                                calvingratey_input->GetInputValue(&c[1],&gauss);
     4393                                meltingrate_input->GetInputValue(&meltingrate,&gauss);
     4394                                if(groundedice<0) meltingrate = 0.;
     4395                                m[0]=meltingrate*dlsf[0]/norm_dlsf;
     4396                                m[1]=meltingrate*dlsf[1]/norm_dlsf;
     4397
     4398                                if(norm_dlsf<1.e-10){
     4399                                        for(i=0;i<dim;i++){
     4400                                                c[i]=0.; m[i]=0.;
     4401                                        }
     4402                                }
     4403                                break;
    44094404                        case CalvingVonmisesEnum:
    44104405                                calvingrate_input->GetInputValue(&calvingrate,&gauss);
     
    53745369        IssmDouble calvingratex,calvingratey,thickness,Jdet;
    53755370        IssmDouble rho_ice=FindParam(MaterialsRhoIceEnum);
    5376         Input* thickness_input=this->GetInput(ThicknessEnum); _assert_(thickness_input);
    5377         Input* calvingratex_input=NULL;
    5378         Input* calvingratey_input=NULL;
    5379         if(domaintype==Domain2DhorizontalEnum){
    5380                 calvingratex_input=this->GetInput(CalvingratexEnum); _assert_(calvingratex_input);
    5381                 calvingratey_input=this->GetInput(CalvingrateyEnum); _assert_(calvingratey_input);
    5382         }
    5383         else{
    5384                 calvingratex_input=this->GetInput(CalvingratexAverageEnum); _assert_(calvingratex_input);
    5385                 calvingratey_input=this->GetInput(CalvingrateyAverageEnum); _assert_(calvingratey_input);
    5386         }
     5371        Input* thickness_input    = this->GetInput(ThicknessEnum); _assert_(thickness_input);
     5372        Input* calvingratex_input = this->GetInput(CalvingratexEnum); _assert_(calvingratex_input);
     5373        Input* calvingratey_input = this->GetInput(CalvingrateyEnum); _assert_(calvingratey_input);
    53875374
    53885375        /*Start looping on Gaussian points*/
     
    55025489        IssmDouble calvingratex,calvingratey,vx,vy,vel,meltingrate,meltingratex,meltingratey,thickness,Jdet,groundedice;
    55035490        IssmDouble rho_ice=FindParam(MaterialsRhoIceEnum);
    5504         Input* thickness_input = this->GetInput(ThicknessEnum); _assert_(thickness_input);
    5505         Input *gr_input        = this->GetInput(MaskOceanLevelsetEnum); _assert_(gr_input);
    5506         Input* calvingratex_input=NULL;
    5507         Input* calvingratey_input=NULL;
    5508         Input* vx_input=NULL;
    5509         Input* vy_input=NULL;
    5510         Input* meltingrate_input=NULL;
    5511         if(domaintype==Domain2DhorizontalEnum){
    5512                 calvingratex_input=this->GetInput(CalvingratexEnum); _assert_(calvingratex_input);
    5513                 calvingratey_input=this->GetInput(CalvingrateyEnum); _assert_(calvingratey_input);
    5514                 vx_input=this->GetInput(VxEnum); _assert_(vx_input);
    5515                 vy_input=this->GetInput(VyEnum); _assert_(vy_input);
    5516                 meltingrate_input=this->GetInput(CalvingMeltingrateEnum); _assert_(meltingrate_input);
    5517         }
    5518         else{
    5519                 calvingratex_input=this->GetInput(CalvingratexAverageEnum); _assert_(calvingratex_input);
    5520                 calvingratey_input=this->GetInput(CalvingrateyAverageEnum); _assert_(calvingratey_input);
    5521         }
     5491        Input* thickness_input    = this->GetInput(ThicknessEnum); _assert_(thickness_input);
     5492        Input *gr_input           = this->GetInput(MaskOceanLevelsetEnum); _assert_(gr_input);
     5493        Input* calvingratex_input = this->GetInput(CalvingratexEnum); _assert_(calvingratex_input);
     5494        Input* calvingratey_input = this->GetInput(CalvingrateyEnum); _assert_(calvingratey_input);
     5495        Input* vx_input           = this->GetInput(VxEnum); _assert_(vx_input);
     5496        Input* vy_input           = this->GetInput(VyEnum); _assert_(vy_input);
     5497        Input* meltingrate_input  = this->GetInput(CalvingMeltingrateEnum); _assert_(meltingrate_input);
    55225498
    55235499        /*Start looping on Gaussian points*/
  • issm/trunk-jpl/src/c/modules/Calvingx/Calvingx.cpp

    r26850 r26983  
    1515        /*Calculate calving rate*/
    1616        switch(calvinglaw){
    17                 case DefaultCalvingEnum:
    1817                case CalvingMinthicknessEnum:
    1918                case CalvingHabEnum:
     19                        femmodel->ElementOperationx(&Element::CalvingSetZeroRate);
     20                        break;
     21                case DefaultCalvingEnum:
     22                        femmodel->ElementOperationx(&Element::CalvingFromRate);
    2023                        break;
    2124                case CalvingCrevasseDepthEnum:
     25                        femmodel->ElementOperationx(&Element::CalvingSetZeroRate);
     26                        /*rate is 0 but we need to calculate a few things to determine where it will calve*/
    2227                        femmodel->StrainRateparallelx();
    2328                        femmodel->StrainRateeffectivex();
  • issm/trunk-jpl/src/c/shared/Enum/Enum.vim

    r26948 r26983  
    662662syn keyword cConstant CalvingStressThresholdGroundediceEnum
    663663syn keyword cConstant CalvinglevermannCoeffEnum
    664 syn keyword cConstant CalvingratexAverageEnum
    665664syn keyword cConstant CalvingratexEnum
    666 syn keyword cConstant CalvingrateyAverageEnum
    667665syn keyword cConstant CalvingrateyEnum
    668666syn keyword cConstant CalvingFluxLevelsetEnum
  • issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h

    r26973 r26983  
    658658        CalvingStressThresholdGroundediceEnum,
    659659        CalvinglevermannCoeffEnum,
    660         CalvingratexAverageEnum,
    661660        CalvingratexEnum,
    662         CalvingrateyAverageEnum,
    663661        CalvingrateyEnum,
    664662        CalvingFluxLevelsetEnum,
  • issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp

    r26948 r26983  
    664664                case CalvingStressThresholdGroundediceEnum : return "CalvingStressThresholdGroundedice";
    665665                case CalvinglevermannCoeffEnum : return "CalvinglevermannCoeff";
    666                 case CalvingratexAverageEnum : return "CalvingratexAverage";
    667666                case CalvingratexEnum : return "Calvingratex";
    668                 case CalvingrateyAverageEnum : return "CalvingrateyAverage";
    669667                case CalvingrateyEnum : return "Calvingratey";
    670668                case CalvingFluxLevelsetEnum : return "CalvingFluxLevelset";
  • issm/trunk-jpl/src/c/shared/Enum/Enumjl.vim

    r26948 r26983  
    655655syn keyword juliaConstC CalvingStressThresholdGroundediceEnum
    656656syn keyword juliaConstC CalvinglevermannCoeffEnum
    657 syn keyword juliaConstC CalvingratexAverageEnum
    658657syn keyword juliaConstC CalvingratexEnum
    659 syn keyword juliaConstC CalvingrateyAverageEnum
    660658syn keyword juliaConstC CalvingrateyEnum
    661659syn keyword juliaConstC CalvingFluxLevelsetEnum
  • issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp

    r26948 r26983  
    679679              else if (strcmp(name,"CalvingStressThresholdGroundedice")==0) return CalvingStressThresholdGroundediceEnum;
    680680              else if (strcmp(name,"CalvinglevermannCoeff")==0) return CalvinglevermannCoeffEnum;
    681               else if (strcmp(name,"CalvingratexAverage")==0) return CalvingratexAverageEnum;
    682681              else if (strcmp(name,"Calvingratex")==0) return CalvingratexEnum;
    683               else if (strcmp(name,"CalvingrateyAverage")==0) return CalvingrateyAverageEnum;
    684682              else if (strcmp(name,"Calvingratey")==0) return CalvingrateyEnum;
    685683              else if (strcmp(name,"CalvingFluxLevelset")==0) return CalvingFluxLevelsetEnum;
     
    752750              else if (strcmp(name,"FrictionP")==0) return FrictionPEnum;
    753751              else if (strcmp(name,"FrictionPressureAdjustedTemperature")==0) return FrictionPressureAdjustedTemperatureEnum;
     752              else if (strcmp(name,"FrictionQ")==0) return FrictionQEnum;
     753              else if (strcmp(name,"FrictionSedimentCompressibilityCoefficient")==0) return FrictionSedimentCompressibilityCoefficientEnum;
    754754         else stage=7;
    755755   }
    756756   if(stage==7){
    757               if (strcmp(name,"FrictionQ")==0) return FrictionQEnum;
    758               else if (strcmp(name,"FrictionSedimentCompressibilityCoefficient")==0) return FrictionSedimentCompressibilityCoefficientEnum;
    759               else if (strcmp(name,"FrictionTillFrictionAngle")==0) return FrictionTillFrictionAngleEnum;
     757              if (strcmp(name,"FrictionTillFrictionAngle")==0) return FrictionTillFrictionAngleEnum;
    760758              else if (strcmp(name,"FrictionWaterLayer")==0) return FrictionWaterLayerEnum;
    761759              else if (strcmp(name,"Frictionf")==0) return FrictionfEnum;
     
    875873              else if (strcmp(name,"SealevelBarystaticIceWeights")==0) return SealevelBarystaticIceWeightsEnum;
    876874              else if (strcmp(name,"SealevelBarystaticIceArea")==0) return SealevelBarystaticIceAreaEnum;
     875              else if (strcmp(name,"SealevelBarystaticIceLatbar")==0) return SealevelBarystaticIceLatbarEnum;
     876              else if (strcmp(name,"SealevelBarystaticIceLongbar")==0) return SealevelBarystaticIceLongbarEnum;
    877877         else stage=8;
    878878   }
    879879   if(stage==8){
    880               if (strcmp(name,"SealevelBarystaticIceLatbar")==0) return SealevelBarystaticIceLatbarEnum;
    881               else if (strcmp(name,"SealevelBarystaticIceLongbar")==0) return SealevelBarystaticIceLongbarEnum;
    882               else if (strcmp(name,"SealevelBarystaticIceLoad")==0) return SealevelBarystaticIceLoadEnum;
     880              if (strcmp(name,"SealevelBarystaticIceLoad")==0) return SealevelBarystaticIceLoadEnum;
    883881              else if (strcmp(name,"SealevelBarystaticHydroMask")==0) return SealevelBarystaticHydroMaskEnum;
    884882              else if (strcmp(name,"SealevelBarystaticHydroWeights")==0) return SealevelBarystaticHydroWeightsEnum;
     
    998996              else if (strcmp(name,"SmbGdnini")==0) return SmbGdniniEnum;
    999997              else if (strcmp(name,"SmbGsp")==0) return SmbGspEnum;
     998              else if (strcmp(name,"SmbGspini")==0) return SmbGspiniEnum;
     999              else if (strcmp(name,"SmbHref")==0) return SmbHrefEnum;
    10001000         else stage=9;
    10011001   }
    10021002   if(stage==9){
    1003               if (strcmp(name,"SmbGspini")==0) return SmbGspiniEnum;
    1004               else if (strcmp(name,"SmbHref")==0) return SmbHrefEnum;
    1005               else if (strcmp(name,"SmbIsInitialized")==0) return SmbIsInitializedEnum;
     1003              if (strcmp(name,"SmbIsInitialized")==0) return SmbIsInitializedEnum;
    10061004              else if (strcmp(name,"SmbMAdd")==0) return SmbMAddEnum;
    10071005              else if (strcmp(name,"SmbMassBalance")==0) return SmbMassBalanceEnum;
     
    11211119              else if (strcmp(name,"VxSurface")==0) return VxSurfaceEnum;
    11221120              else if (strcmp(name,"VyAverage")==0) return VyAverageEnum;
     1121              else if (strcmp(name,"VyBase")==0) return VyBaseEnum;
     1122              else if (strcmp(name,"Vy")==0) return VyEnum;
    11231123         else stage=10;
    11241124   }
    11251125   if(stage==10){
    1126               if (strcmp(name,"VyBase")==0) return VyBaseEnum;
    1127               else if (strcmp(name,"Vy")==0) return VyEnum;
    1128               else if (strcmp(name,"VyMesh")==0) return VyMeshEnum;
     1126              if (strcmp(name,"VyMesh")==0) return VyMeshEnum;
    11291127              else if (strcmp(name,"VyObs")==0) return VyObsEnum;
    11301128              else if (strcmp(name,"VyShear")==0) return VyShearEnum;
     
    12441242              else if (strcmp(name,"Outputdefinition96")==0) return Outputdefinition96Enum;
    12451243              else if (strcmp(name,"Outputdefinition97")==0) return Outputdefinition97Enum;
     1244              else if (strcmp(name,"Outputdefinition98")==0) return Outputdefinition98Enum;
     1245              else if (strcmp(name,"Outputdefinition99")==0) return Outputdefinition99Enum;
    12461246         else stage=11;
    12471247   }
    12481248   if(stage==11){
    1249               if (strcmp(name,"Outputdefinition98")==0) return Outputdefinition98Enum;
    1250               else if (strcmp(name,"Outputdefinition99")==0) return Outputdefinition99Enum;
    1251               else if (strcmp(name,"Outputdefinition9")==0) return Outputdefinition9Enum;
     1249              if (strcmp(name,"Outputdefinition9")==0) return Outputdefinition9Enum;
    12521250              else if (strcmp(name,"Outputdefinition100")==0) return Outputdefinition100Enum;
    12531251              else if (strcmp(name,"InputsEND")==0) return InputsENDEnum;
     
    13671365              else if (strcmp(name,"GaussTetra")==0) return GaussTetraEnum;
    13681366              else if (strcmp(name,"GaussTria")==0) return GaussTriaEnum;
     1367              else if (strcmp(name,"GenericOption")==0) return GenericOptionEnum;
     1368              else if (strcmp(name,"GenericParam")==0) return GenericParamEnum;
    13691369         else stage=12;
    13701370   }
    13711371   if(stage==12){
    1372               if (strcmp(name,"GenericOption")==0) return GenericOptionEnum;
    1373               else if (strcmp(name,"GenericParam")==0) return GenericParamEnum;
    1374               else if (strcmp(name,"GenericExternalResult")==0) return GenericExternalResultEnum;
     1372              if (strcmp(name,"GenericExternalResult")==0) return GenericExternalResultEnum;
    13751373              else if (strcmp(name,"Gradient1")==0) return Gradient1Enum;
    13761374              else if (strcmp(name,"Gradient2")==0) return Gradient2Enum;
     
    14901488              else if (strcmp(name,"Nodal")==0) return NodalEnum;
    14911489              else if (strcmp(name,"Nodalvalue")==0) return NodalvalueEnum;
     1490              else if (strcmp(name,"NodeSId")==0) return NodeSIdEnum;
     1491              else if (strcmp(name,"NoneApproximation")==0) return NoneApproximationEnum;
    14921492         else stage=13;
    14931493   }
    14941494   if(stage==13){
    1495               if (strcmp(name,"NodeSId")==0) return NodeSIdEnum;
    1496               else if (strcmp(name,"NoneApproximation")==0) return NoneApproximationEnum;
    1497               else if (strcmp(name,"None")==0) return NoneEnum;
     1495              if (strcmp(name,"None")==0) return NoneEnum;
    14981496              else if (strcmp(name,"Numberedcostfunction")==0) return NumberedcostfunctionEnum;
    14991497              else if (strcmp(name,"NyeCO2")==0) return NyeCO2Enum;
     
    16131611              else if (strcmp(name,"TotalSmbScaled")==0) return TotalSmbScaledEnum;
    16141612              else if (strcmp(name,"TransientArrayParam")==0) return TransientArrayParamEnum;
     1613              else if (strcmp(name,"TransientInput")==0) return TransientInputEnum;
     1614              else if (strcmp(name,"TransientParam")==0) return TransientParamEnum;
    16151615         else stage=14;
    16161616   }
    16171617   if(stage==14){
    1618               if (strcmp(name,"TransientInput")==0) return TransientInputEnum;
    1619               else if (strcmp(name,"TransientParam")==0) return TransientParamEnum;
    1620               else if (strcmp(name,"TransientSolution")==0) return TransientSolutionEnum;
     1618              if (strcmp(name,"TransientSolution")==0) return TransientSolutionEnum;
    16211619              else if (strcmp(name,"Tria")==0) return TriaEnum;
    16221620              else if (strcmp(name,"TriaInput")==0) return TriaInputEnum;
Note: See TracChangeset for help on using the changeset viewer.