Changeset 24060


Ignore:
Timestamp:
07/03/19 12:47:51 (6 years ago)
Author:
schlegel
Message:

NEW: add nye capability for Mars modeling

Location:
issm/trunk-jpl/src
Files:
3 added
10 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/Makefile.am

    r24055 r24060  
    174174                                        ./shared/Elements/Paterson.cpp\
    175175                                        ./shared/Elements/Arrhenius.cpp\
     176                                        ./shared/Elements/NyeCO2.cpp\
     177                                        ./shared/Elements/NyeH2O.cpp\
    176178                                        ./shared/Elements/LliboutryDuval.cpp \
    177179                                        ./shared/Elements/PrintArrays.cpp\
  • issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp

    r23697 r24060  
    16061606                                element->AddInput(MaterialsRheologyBEnum,&B[0],element->GetElementType());
    16071607                                break;
     1608                        case NyeH2OEnum:
     1609                                for(i=0;i<numnodes;i++) B[i]=NyeH2O(values[i]);
     1610                                element->AddInput(MaterialsRheologyBEnum,&B[0],element->GetElementType());
     1611                                break;
     1612                        case NyeCO2Enum:
     1613                                for(i=0;i<numnodes;i++) B[i]=NyeCO2(values[i]);
     1614                                element->AddInput(MaterialsRheologyBEnum,&B[0],element->GetElementType());
     1615                                break;
    16081616                        case ArrheniusEnum:{
    16091617                                element->GetVerticesCoordinates(&xyz_list);
  • issm/trunk-jpl/src/c/analyses/ThermalAnalysis.cpp

    r23959 r24060  
    874874                                element->AddInput(MaterialsRheologyBEnum,&B[0],element->GetElementType());
    875875                                break;
     876                        case NyeH2OEnum:
     877                                for(i=0;i<numnodes;i++) B[i]=NyeH2O(values[i]);
     878                                element->AddInput(MaterialsRheologyBEnum,&B[0],element->GetElementType());
     879                                break;
     880                        case NyeCO2Enum:
     881                                for(i=0;i<numnodes;i++) B[i]=NyeCO2(values[i]);
     882                                element->AddInput(MaterialsRheologyBEnum,&B[0],element->GetElementType());
     883                                break;
    876884                        case ArrheniusEnum:{
    877                                 element->GetVerticesCoordinates(&xyz_list);
     885                                                                                 element->GetVerticesCoordinates(&xyz_list);
    878886                                for(i=0;i<numnodes;i++) B[i]=Arrhenius(values[i],surface[i]-xyz_list[i*3+2],n[i]);
    879887                                element->AddInput(MaterialsRheologyBEnum,&B[0],element->GetElementType());
  • issm/trunk-jpl/src/c/shared/Elements/elements.h

    r23644 r24060  
    1313IssmDouble Paterson(IssmDouble temperature);
    1414IssmDouble Arrhenius(IssmDouble temperature,IssmDouble depth,IssmDouble n);
     15IssmDouble NyeH2O(IssmDouble temperature);
     16IssmDouble NyeCO2(IssmDouble temperature);
    1517IssmDouble LliboutryDuval(IssmDouble enthalpy, IssmDouble pressure, IssmDouble n, IssmDouble betaCC, IssmDouble referencetemperature, IssmDouble heatcapacity, IssmDouble latentheat);
    1618// IssmDouble LliboutryDuval(IssmDouble temperature, IssmDouble waterfraction, IssmDouble depth,IssmDouble n);
  • issm/trunk-jpl/src/c/shared/Enum/Enum.vim

    r24049 r24060  
    11241124syn keyword cConstant NoneEnum
    11251125syn keyword cConstant NumberedcostfunctionEnum
     1126syn keyword cConstant NyeCO2Enum
     1127syn keyword cConstant NyeH2OEnum
    11261128syn keyword cConstant NumericalfluxEnum
    11271129syn keyword cConstant OldGradientEnum
     
    12741276syn keyword cType Cfsurfacesquare
    12751277syn keyword cType Channel
    1276 syn keyword cType classes
    12771278syn keyword cType Constraint
    12781279syn keyword cType Constraints
     
    12811282syn keyword cType ControlInput
    12821283syn keyword cType Covertree
     1284syn keyword cType DataSetParam
    12831285syn keyword cType DatasetInput
    1284 syn keyword cType DataSetParam
    12851286syn keyword cType Definition
    12861287syn keyword cType DependentObject
     
    12951296syn keyword cType ElementHook
    12961297syn keyword cType ElementMatrix
     1298syn keyword cType ElementVector
    12971299syn keyword cType Elements
    1298 syn keyword cType ElementVector
    12991300syn keyword cType ExponentialVariogram
    13001301syn keyword cType ExternalResult
     
    13031304syn keyword cType Friction
    13041305syn keyword cType Gauss
    1305 syn keyword cType GaussianVariogram
    1306 syn keyword cType gaussobjects
    13071306syn keyword cType GaussPenta
    13081307syn keyword cType GaussSeg
    13091308syn keyword cType GaussTetra
    13101309syn keyword cType GaussTria
     1310syn keyword cType GaussianVariogram
    13111311syn keyword cType GenericExternalResult
    13121312syn keyword cType GenericOption
     
    13231323syn keyword cType IssmDirectApplicInterface
    13241324syn keyword cType IssmParallelDirectApplicInterface
    1325 syn keyword cType krigingobjects
    13261325syn keyword cType Load
    13271326syn keyword cType Loads
     
    13341333syn keyword cType Matice
    13351334syn keyword cType Matlitho
    1336 syn keyword cType matrixobjects
    13371335syn keyword cType MatrixParam
    13381336syn keyword cType Misfit
     
    13471345syn keyword cType Observations
    13481346syn keyword cType Option
     1347syn keyword cType OptionUtilities
    13491348syn keyword cType Options
    1350 syn keyword cType OptionUtilities
    13511349syn keyword cType Param
    13521350syn keyword cType Parameters
     
    13611359syn keyword cType Regionaloutput
    13621360syn keyword cType Results
     1361syn keyword cType RiftStruct
    13631362syn keyword cType Riftfront
    1364 syn keyword cType RiftStruct
    13651363syn keyword cType Seg
    13661364syn keyword cType SegInput
     1365syn keyword cType SegRef
    13671366syn keyword cType Segment
    1368 syn keyword cType SegRef
    13691367syn keyword cType SpcDynamic
    13701368syn keyword cType SpcStatic
     
    13861384syn keyword cType Vertex
    13871385syn keyword cType Vertices
     1386syn keyword cType classes
     1387syn keyword cType gaussobjects
     1388syn keyword cType krigingobjects
     1389syn keyword cType matrixobjects
    13881390syn keyword cType AdjointBalancethickness2Analysis
    13891391syn keyword cType AdjointBalancethicknessAnalysis
     
    13941396syn keyword cType BalancethicknessSoftAnalysis
    13951397syn keyword cType BalancevelocityAnalysis
    1396 syn keyword cType DamageCalvingAnalysis
    13971398syn keyword cType DamageEvolutionAnalysis
    13981399syn keyword cType DepthAverageAnalysis
     
    14051406syn keyword cType FreeSurfaceBaseAnalysis
    14061407syn keyword cType FreeSurfaceTopAnalysis
     1408syn keyword cType GLheightadvectionAnalysis
    14071409syn keyword cType GiaIvinsAnalysis
    1408 syn keyword cType GLheightadvectionAnalysis
    14091410syn keyword cType HydrologyDCEfficientAnalysis
    14101411syn keyword cType HydrologyDCInefficientAnalysis
  • issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h

    r24049 r24060  
    11221122        NoneEnum,
    11231123        NumberedcostfunctionEnum,
     1124        NyeCO2Enum,
     1125        NyeH2OEnum,
    11241126        NumericalfluxEnum,
    11251127        OldGradientEnum,
  • issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp

    r24049 r24060  
    11261126                case NoneEnum : return "None";
    11271127                case NumberedcostfunctionEnum : return "Numberedcostfunction";
     1128                case NyeCO2Enum : return "NyeCO2";
     1129                case NyeH2OEnum : return "NyeH2O";
    11281130                case NumericalfluxEnum : return "Numericalflux";
    11291131                case OldGradientEnum : return "OldGradient";
  • issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp

    r24049 r24060  
    11531153              else if (strcmp(name,"None")==0) return NoneEnum;
    11541154              else if (strcmp(name,"Numberedcostfunction")==0) return NumberedcostfunctionEnum;
     1155              else if (strcmp(name,"NyeCO2")==0) return NyeCO2Enum;
     1156              else if (strcmp(name,"NyeH2O")==0) return NyeH2OEnum;
    11551157              else if (strcmp(name,"Numericalflux")==0) return NumericalfluxEnum;
    11561158              else if (strcmp(name,"OldGradient")==0) return OldGradientEnum;
     
    12421244              else if (strcmp(name,"SubelementMigration")==0) return SubelementMigrationEnum;
    12431245              else if (strcmp(name,"SurfaceSlopeSolution")==0) return SurfaceSlopeSolutionEnum;
    1244               else if (strcmp(name,"TaylorHood")==0) return TaylorHoodEnum;
    1245               else if (strcmp(name,"Tetra")==0) return TetraEnum;
    12461246         else stage=11;
    12471247   }
    12481248   if(stage==11){
    1249               if (strcmp(name,"TetraInput")==0) return TetraInputEnum;
     1249              if (strcmp(name,"TaylorHood")==0) return TaylorHoodEnum;
     1250              else if (strcmp(name,"Tetra")==0) return TetraEnum;
     1251              else if (strcmp(name,"TetraInput")==0) return TetraInputEnum;
    12501252              else if (strcmp(name,"ThermalAnalysis")==0) return ThermalAnalysisEnum;
    12511253              else if (strcmp(name,"ThermalSolution")==0) return ThermalSolutionEnum;
  • issm/trunk-jpl/src/m/classes/materials.m

    r23005 r24060  
    153153                                        fielddisplay(self,'rheology_B','flow law parameter [Pa s^(1/n)]');
    154154                                        fielddisplay(self,'rheology_n','Glen''s flow law exponent');
    155                                         fielddisplay(self,'rheology_law',['law for the temperature dependance of the rheology: ''None'', ''BuddJacka'', Cuffey'', ''CuffeyTemperate'', ''Paterson'', ''Arrhenius'' or ''LliboutryDuval''']);
     155                                        fielddisplay(self,'rheology_law',['law for the temperature dependance of the rheology: ''None'', ''BuddJacka'', Cuffey'', ''CuffeyTemperate'', ''Paterson'', ''Arrhenius'', ''LliboutryDuval'', ''NyeCO2'', or ''NyeH2O''']);
    156156                                case 'litho'
    157157                                        disp(sprintf('   \nLitho:'));
     
    183183                                        md = checkfield(md,'fieldname','materials.rheology_B','>',0,'timeseries',1,'NaN',1,'Inf',1);
    184184                                        md = checkfield(md,'fieldname','materials.rheology_n','>',0,'size',[md.mesh.numberofelements 1]);
    185                                         md = checkfield(md,'fieldname','materials.rheology_law','values',{'None' 'BuddJacka' 'Cuffey' 'CuffeyTemperate' 'Paterson' 'Arrhenius' 'LliboutryDuval'});
     185                                        md = checkfield(md,'fieldname','materials.rheology_law','values',{'None' 'BuddJacka' 'Cuffey' 'CuffeyTemperate' 'Paterson' 'Arrhenius' 'LliboutryDuval' 'NyeCO2' 'NyeH2O'});
    186186                                case 'litho'
    187187                                        if ~ismember('LoveAnalysis',analyses), return; end
  • issm/trunk-jpl/src/m/classes/matice.m

    r23702 r24060  
    118118                        md = checkfield(md,'fieldname','materials.rheology_B','>',0,'timeseries',1,'NaN',1,'Inf',1);
    119119                        md = checkfield(md,'fieldname','materials.rheology_n','>',0,'size',[md.mesh.numberofelements 1]);
    120                         md = checkfield(md,'fieldname','materials.rheology_law','values',{'None' 'BuddJacka' 'Cuffey' 'CuffeyTemperate' 'Paterson' 'Arrhenius' 'LliboutryDuval'});
     120                        md = checkfield(md,'fieldname','materials.rheology_law','values',{'None' 'BuddJacka' 'Cuffey' 'CuffeyTemperate' 'Paterson' 'Arrhenius' 'LliboutryDuval' 'NyeCO2' 'NyeH2O'});
    121121                        md = checkfield(md,'fieldname','materials.effectiveconductivity_averaging','numel',[1],'values',[0 1 2]);
    122122
     
    150150                        fielddisplay(self,'rheology_B','flow law parameter [Pa s^(1/n)]');
    151151                        fielddisplay(self,'rheology_n','Glen''s flow law exponent');
    152                         fielddisplay(self,'rheology_law',['law for the temperature dependance of the rheology: ''None'', ''BuddJacka'', Cuffey'', ''CuffeyTemperate'', ''Paterson'', ''Arrhenius'' or ''LliboutryDuval''']);
     152                        fielddisplay(self,'rheology_law',['law for the temperature dependance of the rheology: ''None'', ''BuddJacka'', Cuffey'', ''CuffeyTemperate'', ''Paterson'', ''Arrhenius'', ''LliboutryDuval'', ''NyeH2O'', or ''NyeCO2''']);
    153153                        fielddisplay(self,'lithosphere_shear_modulus','Lithosphere shear modulus [Pa]');
    154154                        fielddisplay(self,'lithosphere_density','Lithosphere density [g/cm^-3]');
Note: See TracChangeset for help on using the changeset viewer.