Changeset 20622


Ignore:
Timestamp:
05/18/16 17:33:49 (9 years ago)
Author:
jbondzio
Message:

NEW: Cuffey rheology extended to temperate ice regions

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

Legend:

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

    r20459 r20622  
    14931493                                element->AddInput(MaterialsRheologyBEnum,&B[0],element->GetElementType());
    14941494                                break;
     1495                        case CuffeyTemperateEnum:
     1496                                for(i=0;i<numnodes;i++) B[i]=CuffeyTemperate(temperature[i], waterfraction[i]);
     1497                                element->AddInput(MaterialsRheologyBEnum,&B[0],element->GetElementType());
     1498                                break;
    14951499                        case PatersonEnum:
    14961500                                for(i=0;i<numnodes;i++) B[i]=Paterson(temperature[i]);
  • issm/trunk-jpl/src/c/shared/Elements/elements.h

    r19325 r20622  
    99
    1010IssmDouble Cuffey(IssmDouble temperature);
     11IssmDouble CuffeyTemperate(IssmDouble temperature, IssmDouble waterfraction);
    1112IssmDouble Paterson(IssmDouble temperature);
    1213IssmDouble Arrhenius(IssmDouble temperature,IssmDouble depth,IssmDouble n);
  • issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h

    r20578 r20622  
    10371037        /*Rheology law (move to Material) {{{*/
    10381038        CuffeyEnum,
     1039        CuffeyTemperateEnum,
    10391040        PatersonEnum,
    10401041        ArrheniusEnum,
  • issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp

    r20578 r20622  
    993993                case OptionStructEnum : return "OptionStruct";
    994994                case CuffeyEnum : return "Cuffey";
     995                case CuffeyTemperateEnum : return "CuffeyTemperate";
    995996                case PatersonEnum : return "Paterson";
    996997                case ArrheniusEnum : return "Arrhenius";
  • issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp

    r20578 r20622  
    10171017              else if (strcmp(name,"OptionStruct")==0) return OptionStructEnum;
    10181018              else if (strcmp(name,"Cuffey")==0) return CuffeyEnum;
     1019              else if (strcmp(name,"CuffeyTemperate")==0) return CuffeyTemperateEnum;
    10191020              else if (strcmp(name,"Paterson")==0) return PatersonEnum;
    10201021              else if (strcmp(name,"Arrhenius")==0) return ArrheniusEnum;
  • issm/trunk-jpl/src/m/classes/matdamageice.m

    r19988 r20622  
    114114                        md = checkfield(md,'fieldname','materials.rheology_B','>',0,'size',[md.mesh.numberofvertices 1]);
    115115                        md = checkfield(md,'fieldname','materials.rheology_n','>',0,'size',[md.mesh.numberofelements 1]);
    116                         md = checkfield(md,'fieldname','materials.rheology_law','values',{'None' 'Cuffey' 'Paterson' 'Arrhenius' 'LliboutryDuval'});
     116                        md = checkfield(md,'fieldname','materials.rheology_law','values',{'None' 'Cuffey' 'CuffeyTemperate' 'Paterson' 'Arrhenius' 'LliboutryDuval'});
    117117
    118118                        if ismember(GiaAnalysisEnum(),analyses),
     
    145145                        fielddisplay(self,'rheology_B','flow law parameter [Pa/s^(1/n)]');
    146146                        fielddisplay(self,'rheology_n','Glen''s flow law exponent');
    147                         fielddisplay(self,'rheology_law',['law for the temperature dependance of the rheology: ''None'', ''Cuffey'', ''Paterson'', ''Arrhenius'' or ''LliboutryDuval''']);
     147                        fielddisplay(self,'rheology_law',['law for the temperature dependance of the rheology: ''None'', ''Cuffey'', ''CuffeyTemperate'', ''Paterson'', ''Arrhenius'' or ''LliboutryDuval''']);
    148148                        fielddisplay(self,'lithosphere_shear_modulus','Lithosphere shear modulus [Pa]');
    149149                        fielddisplay(self,'lithosphere_density','Lithosphere density [g/cm^-3]');
  • issm/trunk-jpl/src/m/classes/matdamageice.py

    r19988 r20622  
    6060                string="%s\n%s"%(string,fielddisplay(self,"rheology_B","flow law parameter [Pa/s^(1/n)]"))
    6161                string="%s\n%s"%(string,fielddisplay(self,"rheology_n","Glen's flow law exponent"))
    62                 string="%s\n%s"%(string,fielddisplay(self,"rheology_law","law for the temperature dependance of the rheology: 'None', 'Cuffey', 'Paterson', 'Arrhenius' or 'LliboutryDuval'"))
     62                string="%s\n%s"%(string,fielddisplay(self,"rheology_law","law for the temperature dependance of the rheology: 'None', 'Cuffey', 'CuffeyTemperate', 'Paterson', 'Arrhenius' or 'LliboutryDuval'"))
    6363                string="%s\n%s"%(string,fielddisplay(self,"lithosphere_shear_modulus","Lithosphere shear modulus [Pa]"))
    6464                string="%s\n%s"%(string,fielddisplay(self,"lithosphere_density","Lithosphere density [g/cm^-3]"))
     
    135135                md = checkfield(md,'fieldname','materials.rheology_B','>',0,'size',[md.mesh.numberofvertices])
    136136                md = checkfield(md,'fieldname','materials.rheology_n','>',0,'size',[md.mesh.numberofelements])
    137                 md = checkfield(md,'fieldname','materials.rheology_law','values',['None','Cuffey','Paterson','Arrhenius','LliboutryDuval'])
     137                md = checkfield(md,'fieldname','materials.rheology_law','values',['None','Cuffey', 'CuffeyTemperate', 'Paterson','Arrhenius','LliboutryDuval'])
    138138                md = checkfield(md,'fieldname','materials.lithosphere_shear_modulus','>',0,'numel',[1]);
    139139                md = checkfield(md,'fieldname','materials.lithosphere_density','>',0,'numel',[1]);
  • issm/trunk-jpl/src/m/classes/matice.js

    r20004 r20622  
    7676                        fielddisplay(this,'rheology_B','flow law parameter [Pa/s^(1/n)]');
    7777                        fielddisplay(this,'rheology_n',"Glen's flow law exponent");
    78                         fielddisplay(this,'rheology_law',"law for the temperature dependance of the rheology: 'None', 'Cuffey', 'Paterson', 'Arrhenius' or 'LliboutryDuval'");
     78                        fielddisplay(this,'rheology_law',"law for the temperature dependance of the rheology: 'None', 'Cuffey', 'CuffeyTemperate', 'Paterson', 'Arrhenius' or 'LliboutryDuval'");
    7979                        fielddisplay(this,'lithosphere_shear_modulus','Lithosphere shear modulus [Pa]');
    8080                        fielddisplay(this,'lithosphere_density','Lithosphere density [g/cm^-3]');
     
    9494                        checkfield(md,'fieldname','materials.rheology_B','>',0,'timeseries',1,'NaN',1,'Inf',1);
    9595                        checkfield(md,'fieldname','materials.rheology_n','>',0,'size',[md.mesh.numberofelements,1]);
    96                         checkfield(md,'fieldname','materials.rheology_law','values',['None','Cuffey','Paterson','Arrhenius','LliboutryDuval']);
     96                        checkfield(md,'fieldname','materials.rheology_law','values',['None','Cuffey','CuffeyTemperate','Paterson','Arrhenius','LliboutryDuval']);
    9797
    9898                        if(ArrayAnyEqual(ArrayIsMember(GiaAnalysisEnum(),analyses),1)){
  • issm/trunk-jpl/src/m/classes/matice.m

    r19984 r20622  
    114114                        md = checkfield(md,'fieldname','materials.rheology_B','>',0,'timeseries',1,'NaN',1,'Inf',1);
    115115                        md = checkfield(md,'fieldname','materials.rheology_n','>',0,'size',[md.mesh.numberofelements 1]);
    116                         md = checkfield(md,'fieldname','materials.rheology_law','values',{'None' 'Cuffey' 'Paterson' 'Arrhenius' 'LliboutryDuval'});
     116                        md = checkfield(md,'fieldname','materials.rheology_law','values',{'None' 'Cuffey' 'CuffeyTemperate' 'Paterson' 'Arrhenius' 'LliboutryDuval'});
    117117
    118118                        if ismember(GiaAnalysisEnum(),analyses),
     
    144144                        fielddisplay(self,'rheology_B','flow law parameter [Pa/s^(1/n)]');
    145145                        fielddisplay(self,'rheology_n','Glen''s flow law exponent');
    146                         fielddisplay(self,'rheology_law',['law for the temperature dependance of the rheology: ''None'', ''Cuffey'', ''Paterson'', ''Arrhenius'' or ''LliboutryDuval''']);
     146                        fielddisplay(self,'rheology_law',['law for the temperature dependance of the rheology: ''None'', ''Cuffey'', ''CuffeyTemperate'', ''Paterson'', ''Arrhenius'' or ''LliboutryDuval''']);
    147147                        fielddisplay(self,'lithosphere_shear_modulus','Lithosphere shear modulus [Pa]');
    148148                        fielddisplay(self,'lithosphere_density','Lithosphere density [g/cm^-3]');
  • issm/trunk-jpl/src/m/classes/matice.py

    r19988 r20622  
    6161                string="%s\n%s"%(string,fielddisplay(self,"rheology_B","flow law parameter [Pa/s^(1/n)]"))
    6262                string="%s\n%s"%(string,fielddisplay(self,"rheology_n","Glen's flow law exponent"))
    63                 string="%s\n%s"%(string,fielddisplay(self,"rheology_law","law for the temperature dependance of the rheology: 'None', 'Cuffey', 'Paterson', 'Arrhenius' or 'LliboutryDuval'"))
     63                string="%s\n%s"%(string,fielddisplay(self,"rheology_law","law for the temperature dependance of the rheology: 'None', 'Cuffey', 'CuffeyTemperate', 'Paterson', 'Arrhenius' or 'LliboutryDuval'"))
    6464                string="%s\n%s"%(string,fielddisplay(self,"lithosphere_shear_modulus","Lithosphere shear modulus [Pa]"))
    6565                string="%s\n%s"%(string,fielddisplay(self,"lithosphere_density","Lithosphere density [g/cm^-3]"))
     
    136136                md = checkfield(md,'fieldname','materials.rheology_B','>',0,'timeseries',1,'NaN',1,'Inf',1)
    137137                md = checkfield(md,'fieldname','materials.rheology_n','>',0,'size',[md.mesh.numberofelements])
    138                 md = checkfield(md,'fieldname','materials.rheology_law','values',['None','Cuffey','Paterson','Arrhenius','LliboutryDuval'])
     138                md = checkfield(md,'fieldname','materials.rheology_law','values',['None','Cuffey','CuffeyTemperate','Paterson','Arrhenius','LliboutryDuval'])
    139139                md = checkfield(md,'fieldname','materials.lithosphere_shear_modulus','>',0,'numel',[1]);
    140140                md = checkfield(md,'fieldname','materials.lithosphere_density','>',0,'numel',[1]);
  • issm/trunk-jpl/src/m/enum/EnumDefinitions.js

    r20578 r20622  
    978978function OptionStructEnum(){ return 974;}
    979979function CuffeyEnum(){ return 975;}
    980 function PatersonEnum(){ return 976;}
    981 function ArrheniusEnum(){ return 977;}
    982 function LliboutryDuvalEnum(){ return 978;}
    983 function SpclevelsetEnum(){ return 979;}
    984 function ExtrapolationVariableEnum(){ return 980;}
    985 function IceMaskNodeActivationEnum(){ return 981;}
    986 function LevelsetfunctionSlopeXEnum(){ return 982;}
    987 function LevelsetfunctionSlopeYEnum(){ return 983;}
    988 function LevelsetfunctionPicardEnum(){ return 984;}
    989 function LevelsetReinitFrequencyEnum(){ return 985;}
    990 function SealevelriseSolutionEnum(){ return 986;}
    991 function SealevelriseAnalysisEnum(){ return 987;}
    992 function SealevelEnum(){ return 988;}
    993 function SealevelEustaticEnum(){ return 989;}
    994 function SealevelriseDeltathicknessEnum(){ return 990;}
    995 function SealevelriseMaxiterEnum(){ return 991;}
    996 function SealevelriseReltolEnum(){ return 992;}
    997 function SealevelriseAbstolEnum(){ return 993;}
    998 function SealevelriseLoveHEnum(){ return 994;}
    999 function SealevelriseLoveKEnum(){ return 995;}
    1000 function SealevelriseTideLoveHEnum(){ return 996;}
    1001 function SealevelriseTideLoveKEnum(){ return 997;}
    1002 function SealevelriseRigidEnum(){ return 998;}
    1003 function SealevelriseElasticEnum(){ return 999;}
    1004 function SealevelriseRotationEnum(){ return 1000;}
    1005 function SealevelriseGElasticEnum(){ return 1001;}
    1006 function SealevelriseDegaccEnum(){ return 1002;}
    1007 function SealevelriseTransitionsEnum(){ return 1003;}
    1008 function SealevelriseRequestedOutputsEnum(){ return 1004;}
    1009 function SealevelriseNumRequestedOutputsEnum(){ return 1005;}
    1010 function MaximumNumberOfDefinitionsEnum(){ return 1006;}
     980function CuffeyTemperateEnum(){ return 976;}
     981function PatersonEnum(){ return 977;}
     982function ArrheniusEnum(){ return 978;}
     983function LliboutryDuvalEnum(){ return 979;}
     984function SpclevelsetEnum(){ return 980;}
     985function ExtrapolationVariableEnum(){ return 981;}
     986function IceMaskNodeActivationEnum(){ return 982;}
     987function LevelsetfunctionSlopeXEnum(){ return 983;}
     988function LevelsetfunctionSlopeYEnum(){ return 984;}
     989function LevelsetfunctionPicardEnum(){ return 985;}
     990function LevelsetReinitFrequencyEnum(){ return 986;}
     991function SealevelriseSolutionEnum(){ return 987;}
     992function SealevelriseAnalysisEnum(){ return 988;}
     993function SealevelEnum(){ return 989;}
     994function SealevelEustaticEnum(){ return 990;}
     995function SealevelriseDeltathicknessEnum(){ return 991;}
     996function SealevelriseMaxiterEnum(){ return 992;}
     997function SealevelriseReltolEnum(){ return 993;}
     998function SealevelriseAbstolEnum(){ return 994;}
     999function SealevelriseLoveHEnum(){ return 995;}
     1000function SealevelriseLoveKEnum(){ return 996;}
     1001function SealevelriseTideLoveHEnum(){ return 997;}
     1002function SealevelriseTideLoveKEnum(){ return 998;}
     1003function SealevelriseRigidEnum(){ return 999;}
     1004function SealevelriseElasticEnum(){ return 1000;}
     1005function SealevelriseRotationEnum(){ return 1001;}
     1006function SealevelriseGElasticEnum(){ return 1002;}
     1007function SealevelriseDegaccEnum(){ return 1003;}
     1008function SealevelriseTransitionsEnum(){ return 1004;}
     1009function SealevelriseRequestedOutputsEnum(){ return 1005;}
     1010function SealevelriseNumRequestedOutputsEnum(){ return 1006;}
     1011function MaximumNumberOfDefinitionsEnum(){ return 1007;}
  • issm/trunk-jpl/src/m/enum/EnumDefinitions.py

    r20578 r20622  
    985985def OptionStructEnum(): return StringToEnum("OptionStruct")[0]
    986986def CuffeyEnum(): return StringToEnum("Cuffey")[0]
     987def CuffeyTemperateEnum(): return StringToEnum("CuffeyTemperate")[0]
    987988def PatersonEnum(): return StringToEnum("Paterson")[0]
    988989def ArrheniusEnum(): return StringToEnum("Arrhenius")[0]
Note: See TracChangeset for help on using the changeset viewer.