Changeset 19151


Ignore:
Timestamp:
02/24/15 13:10:22 (10 years ago)
Author:
bdef
Message:

CHG:adding coupling capability to friction hydro

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

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/classes/Loads/Friction.cpp

    r19002 r19151  
    120120
    121121        /*diverse: */
     122        int         CoupledFlag;
    122123        IssmDouble  q_exp;
    123124        IssmDouble  C_param;
     
    135136
    136137        element->GetInputValue(&As,gauss,FrictionAsEnum);
    137         element->GetInputValue(&Neff,gauss,FrictionEffectivePressureEnum);
    138138        element->GetInputValue(&n,gauss,MaterialsRheologyNEnum);
     139        element->parameters->FindParam(&CoupledFlag,FrictionCouplingEnum);
     140
     141        if (CoupledFlag==1){
     142                element->GetInputValue(&Neff,gauss,EffectivePressureEnum);
     143        }
     144        else{
     145                element->GetInputValue(&Neff,gauss,FrictionEffectivePressureEnum);
     146        }
    139147
    140148        if(Neff<0)Neff=0;
     
    215223          alpha2= NeffC[Chi/(1+alpha*Chi^q)]^(1/n)*1/vel  with
    216224                -Chi=|vel|/(C^n*Neff^n*As)
    217                 -alpha=(q-1)^(q-1)/q^q  **/
     225                -alpha=(q-1)^(q-1)/q^q */
    218226
    219227        /*diverse: */
     228        int         CoupledFlag;
    220229        IssmDouble  q_exp;
    221230        IssmDouble  C_param;
     
    235244        element->GetInputValue(&C_param,FrictionCEnum);
    236245        element->GetInputValue(&As,gauss,FrictionAsEnum);
    237 
    238         element->GetInputValue(&Neff,gauss,FrictionEffectivePressureEnum);
    239246        element->GetInputValue(&n,gauss,MaterialsRheologyNEnum);
    240247       
     248        element->parameters->FindParam(&CoupledFlag,FrictionCouplingEnum);
     249        if (CoupledFlag==1){
     250                element->GetInputValue(&Neff,gauss,EffectivePressureEnum);
     251        }
     252        else{
     253                element->GetInputValue(&Neff,gauss,FrictionEffectivePressureEnum);
     254        }
     255               
    241256        if(Neff<0)Neff=0;
    242257
  • issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h

    r19087 r19151  
    9898        FrictionWaterLayerEnum,
    9999        FrictionEffectivePressureEnum,
     100        FrictionCouplingEnum,
    100101        GeometryHydrostaticRatioEnum,
    101102        HydrologyModelEnum,
     
    294295        ProfilingCurrentFlopsEnum,
    295296        ProfilingSolutionTimeEnum,
    296         MaxIterationConvergenceFlagEnum,
    297297        SteadystateMaxiterEnum,
    298298        SteadystateNumRequestedOutputsEnum,
  • issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp

    r19087 r19151  
    106106                case FrictionWaterLayerEnum : return "FrictionWaterLayer";
    107107                case FrictionEffectivePressureEnum : return "FrictionEffectivePressure";
     108                case FrictionCouplingEnum : return "FrictionCoupling";
    108109                case GeometryHydrostaticRatioEnum : return "GeometryHydrostaticRatio";
    109110                case HydrologyModelEnum : return "HydrologyModel";
     
    302303                case ProfilingCurrentFlopsEnum : return "ProfilingCurrentFlops";
    303304                case ProfilingSolutionTimeEnum : return "ProfilingSolutionTime";
    304                 case MaxIterationConvergenceFlagEnum : return "MaxIterationConvergenceFlag";
    305305                case SteadystateMaxiterEnum : return "SteadystateMaxiter";
    306306                case SteadystateNumRequestedOutputsEnum : return "SteadystateNumRequestedOutputs";
  • issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp

    r19087 r19151  
    106106              else if (strcmp(name,"FrictionWaterLayer")==0) return FrictionWaterLayerEnum;
    107107              else if (strcmp(name,"FrictionEffectivePressure")==0) return FrictionEffectivePressureEnum;
     108              else if (strcmp(name,"FrictionCoupling")==0) return FrictionCouplingEnum;
    108109              else if (strcmp(name,"GeometryHydrostaticRatio")==0) return GeometryHydrostaticRatioEnum;
    109110              else if (strcmp(name,"HydrologyModel")==0) return HydrologyModelEnum;
     
    136137              else if (strcmp(name,"HydrologydcEplInitialThickness")==0) return HydrologydcEplInitialThicknessEnum;
    137138              else if (strcmp(name,"HydrologydcEplColapseThickness")==0) return HydrologydcEplColapseThicknessEnum;
    138               else if (strcmp(name,"HydrologydcEplMaxThickness")==0) return HydrologydcEplMaxThicknessEnum;
    139139         else stage=2;
    140140   }
    141141   if(stage==2){
    142               if (strcmp(name,"HydrologydcEplThickness")==0) return HydrologydcEplThicknessEnum;
     142              if (strcmp(name,"HydrologydcEplMaxThickness")==0) return HydrologydcEplMaxThicknessEnum;
     143              else if (strcmp(name,"HydrologydcEplThickness")==0) return HydrologydcEplThicknessEnum;
    143144              else if (strcmp(name,"HydrologydcEplThicknessOld")==0) return HydrologydcEplThicknessOldEnum;
    144145              else if (strcmp(name,"HydrologydcEplThickComp")==0) return HydrologydcEplThickCompEnum;
     
    259260              else if (strcmp(name,"MeshNumberofelements2d")==0) return MeshNumberofelements2dEnum;
    260261              else if (strcmp(name,"MeshNumberofelements")==0) return MeshNumberofelementsEnum;
    261               else if (strcmp(name,"MeshNumberoflayers")==0) return MeshNumberoflayersEnum;
    262262         else stage=3;
    263263   }
    264264   if(stage==3){
    265               if (strcmp(name,"MeshNumberofvertices2d")==0) return MeshNumberofvertices2dEnum;
     265              if (strcmp(name,"MeshNumberoflayers")==0) return MeshNumberoflayersEnum;
     266              else if (strcmp(name,"MeshNumberofvertices2d")==0) return MeshNumberofvertices2dEnum;
    266267              else if (strcmp(name,"MeshNumberofvertices")==0) return MeshNumberofverticesEnum;
    267268              else if (strcmp(name,"MeshUpperelements")==0) return MeshUpperelementsEnum;
     
    308309              else if (strcmp(name,"ProfilingCurrentFlops")==0) return ProfilingCurrentFlopsEnum;
    309310              else if (strcmp(name,"ProfilingSolutionTime")==0) return ProfilingSolutionTimeEnum;
    310               else if (strcmp(name,"MaxIterationConvergenceFlag")==0) return MaxIterationConvergenceFlagEnum;
    311311              else if (strcmp(name,"SteadystateMaxiter")==0) return SteadystateMaxiterEnum;
    312312              else if (strcmp(name,"SteadystateNumRequestedOutputs")==0) return SteadystateNumRequestedOutputsEnum;
Note: See TracChangeset for help on using the changeset viewer.