Changeset 16181


Ignore:
Timestamp:
Sep 19, 2013, 11:02:41 AM (13 years ago)
Author:
Eric.Larour
Message:

NEW: hooked up damage core into ISSM, created 271 solution to start running it. More remains to be done inside the damage_core to hook up to the
Element Tria CreateKMatrix and CreatePVector.

Location:
issm/trunk-jpl
Files:
45 added
1 deleted
19 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/m4/issm_options.m4

    r16173 r16181  
    17111711        AC_MSG_RESULT($HAVE_BALANCED)
    17121712        dnl }}}
     1713        dnl with-damage{{{
     1714        AC_ARG_WITH([damage],
     1715                AS_HELP_STRING([--with-damage = YES], [compile with damage capabilities (default is yes)]),
     1716                [DAMAGE=$withval],[DAMAGE=yes])
     1717        AC_MSG_CHECKING(for damage capability compilation)
     1718
     1719        if test "x$DAMAGE" = "xyes"; then
     1720
     1721                dnl defaults
     1722                HAVE_DAMAGE=yes
     1723
     1724                AC_DEFINE([_HAVE_DAMAGE_],[1],[with damage capability])
     1725        else
     1726                HAVE_DAMAGE=no
     1727        fi
     1728        AM_CONDITIONAL([DAMAGE], [test x$HAVE_DAMAGE = xyes])
     1729        AC_MSG_RESULT($HAVE_DAMAGE)
     1730        dnl }}}
    17131731        dnl with-responses{{{
    17141732        AC_ARG_WITH([responses],
  • issm/trunk-jpl/src/c/Makefile.am

    r16167 r16181  
    546546
    547547#}}}
     548#Damage sources  {{{
     549damage_sources =  ./analyses/damage_core.cpp\
     550                                        ./modules/ModelProcessorx/Damage/UpdateElementsDamage.cpp\
     551                                        ./modules/ModelProcessorx/Damage/CreateNodesDamage.cpp \
     552                                        ./modules/ModelProcessorx/Damage/CreateConstraintsDamage.cpp\
     553                                        ./modules/ModelProcessorx/Damage/CreateParametersDamage.cpp\
     554                                        ./modules/ModelProcessorx/Damage/CreateLoadsDamage.cpp
     555
     556#}}}
    548557#Groundingline sources  {{{
    549558groundingline_sources= ./modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp\
    … …  
    950959issm_sources +=  $(pkriging_sources)
    951960endif
     961
     962if DAMAGE
     963issm_sources +=  $(damage_sources)
     964endif
     965
    952966#}}}
    953967#Library flags and sources {{{
  • issm/trunk-jpl/src/c/analyses/AnalysisConfiguration.cpp

    r16007 r16181  
    113113                        analyses[0]=GiaAnalysisEnum;
    114114                        break;
     115               
     116                case DamageEvolutionSolutionEnum:
     117                        numanalyses=1;
     118                        analyses=xNew<int>(numanalyses);
     119                        analyses[0]=DamageEvolutionAnalysisEnum;
     120                        break;
    115121
    116122                case TransientSolutionEnum:
  • issm/trunk-jpl/src/c/analyses/CorePointerFromSolutionEnum.cpp

    r16007 r16181  
    115115                        #endif
    116116                        break;
     117                case DamageEvolutionSolutionEnum:
     118                        #ifdef _HAVE_DAMAGE_
     119                        solutioncore=&damage_core;
     120                        #else
     121                        _error_("ISSM was not compiled with damage evolution capabilities. Exiting");
     122                        #endif
     123                        break;
    117124
    118125                default:
  • issm/trunk-jpl/src/c/analyses/analyses.h

    r16007 r16181  
    3838void dummy_core(FemModel* femmodel);
    3939void gia_core(FemModel* femmodel);
     40void damage_core(FemModel* femmodel);
    4041IssmDouble objectivefunction(IssmDouble search_scalar,OptArgs* optargs);
    4142
  • issm/trunk-jpl/src/c/classes/Node.cpp

    r16164 r16181  
    9292                                analysis_type==BalancethicknessAnalysisEnum ||
    9393                                analysis_type==HydrologyDCInefficientAnalysisEnum ||
     94                                analysis_type==DamageEvolutionAnalysisEnum ||
    9495                                analysis_type==HydrologyDCEfficientAnalysisEnum
    9596                                ){
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateDataSets.cpp

    r16142 r16181  
    130130                        break;
    131131                #endif
     132
     133                #ifdef _HAVE_DAMAGE_
     134                case DamageEvolutionAnalysisEnum:
     135                        CreateNodesDamage(pnodes, iomodel);
     136                        CreateConstraintsDamage(pconstraints,iomodel);
     137                        CreateLoadsDamage(ploads,iomodel);
     138                        UpdateElementsDamage(elements,iomodel,analysis_counter,analysis_type);
     139                        break;
     140                #endif
     141
    132142
    133143                #ifdef _HAVE_SLOPE_
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp

    r16164 r16181  
    109109        parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsIssmbgradientsEnum));
    110110        parameters->AddObject(iomodel->CopyConstantObject(GiaCrossSectionShapeEnum));
    111 
     111       
    112112        iomodel->Constant(&ispdd,SurfaceforcingsIspddEnum);
    113113        if(ispdd){
    … …  
    237237        CreateParametersHydrologyDCEfficient(&parameters,iomodel,solution_type,analysis_type);
    238238        #endif
     239       
     240        #ifdef _HAVE_DAMAGE_
     241        CreateParametersDamage(&parameters,iomodel,solution_type,analysis_type);
     242        #endif
    239243
    240244        /*Before returning, create parameters in case we are running Qmu or control types runs: */
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/DistributeNumDofs.cpp

    r16007 r16181  
    112112                        numdofs=1;
    113113                        break;
     114                case DamageEvolutionAnalysisEnum:
     115                        numdofs=1;
     116                        break;
    114117                case BalancethicknessAnalysisEnum:
    115118                        numdofs=1;
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/ModelProcessorx.h

    r16142 r16181  
    5151void CreateLoadsGia(Loads** ploads, IoModel* iomodel);
    5252void UpdateElementsGia(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type);
     53#endif
     54
     55#ifdef _HAVE_DAMAGE_
     56/*damage*/
     57void CreateNodesDamage(Nodes** pnodes,IoModel* iomodel);
     58void CreateConstraintsDamage(Constraints** pconstraints,IoModel* iomodel);
     59void CreateLoadsDamage(Loads** ploads, IoModel* iomodel);
     60void UpdateElementsDamage(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type);
     61void CreateParametersDamage(Parameters** pparameters,IoModel* iomodel,int solution_type,int analysis_type);
    5362#endif
    5463
  • issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h

    r16167 r16181  
    153153        MaterialsRheologyNEnum,
    154154        DamageDEnum,
     155        QmuDamageDEnum,
    155156        DamageDbarEnum,
    156         DamageIsdamageEnum,
    157157        DamageLawEnum,
    158158        DamageC1Enum,
    … …  
    160160        DamageC3Enum,
    161161        DamageC4Enum,
     162        DamageHealingEnum,
    162163        DamageStressThresholdEnum,
     164        DamageStabilizationEnum,
     165        DamageSpcdamageEnum,
    163166        MaterialsRhoIceEnum,
    164167        MaterialsRhoWaterEnum,
    … …  
    264267        TransientIsthermalEnum,
    265268        TransientIsgiaEnum,
     269        TransientIsdamageEnum,
    266270        TransientNumRequestedOutputsEnum,
    267271        TransientRequestedOutputsEnum,
    … …  
    287291        BedSlopeXAnalysisEnum,
    288292        BedSlopeYAnalysisEnum,
     293        DamageEvolutionSolutionEnum,
     294        DamageEvolutionAnalysisEnum,
    289295        StressbalanceAnalysisEnum,
    290296        StressbalanceSIAAnalysisEnum,
  • issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp

    r16167 r16181  
    161161                case MaterialsRheologyNEnum : return "MaterialsRheologyN";
    162162                case DamageDEnum : return "DamageD";
     163                case QmuDamageDEnum : return "QmuDamageD";
    163164                case DamageDbarEnum : return "DamageDbar";
    164                 case DamageIsdamageEnum : return "DamageIsdamage";
    165165                case DamageLawEnum : return "DamageLaw";
    166166                case DamageC1Enum : return "DamageC1";
    … …  
    168168                case DamageC3Enum : return "DamageC3";
    169169                case DamageC4Enum : return "DamageC4";
     170                case DamageHealingEnum : return "DamageHealing";
    170171                case DamageStressThresholdEnum : return "DamageStressThreshold";
     172                case DamageStabilizationEnum : return "DamageStabilization";
     173                case DamageSpcdamageEnum : return "DamageSpcdamage";
    171174                case MaterialsRhoIceEnum : return "MaterialsRhoIce";
    172175                case MaterialsRhoWaterEnum : return "MaterialsRhoWater";
    … …  
    272275                case TransientIsthermalEnum : return "TransientIsthermal";
    273276                case TransientIsgiaEnum : return "TransientIsgia";
     277                case TransientIsdamageEnum : return "TransientIsdamage";
    274278                case TransientNumRequestedOutputsEnum : return "TransientNumRequestedOutputs";
    275279                case TransientRequestedOutputsEnum : return "TransientRequestedOutputs";
    … …  
    293297                case BedSlopeXAnalysisEnum : return "BedSlopeXAnalysis";
    294298                case BedSlopeYAnalysisEnum : return "BedSlopeYAnalysis";
     299                case DamageEvolutionSolutionEnum : return "DamageEvolutionSolution";
     300                case DamageEvolutionAnalysisEnum : return "DamageEvolutionAnalysis";
    295301                case StressbalanceAnalysisEnum : return "StressbalanceAnalysis";
    296302                case StressbalanceSIAAnalysisEnum : return "StressbalanceSIAAnalysis";
  • issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp

    r16167 r16181  
    164164              else if (strcmp(name,"MaterialsRheologyN")==0) return MaterialsRheologyNEnum;
    165165              else if (strcmp(name,"DamageD")==0) return DamageDEnum;
     166              else if (strcmp(name,"QmuDamageD")==0) return QmuDamageDEnum;
    166167              else if (strcmp(name,"DamageDbar")==0) return DamageDbarEnum;
    167               else if (strcmp(name,"DamageIsdamage")==0) return DamageIsdamageEnum;
    168168              else if (strcmp(name,"DamageLaw")==0) return DamageLawEnum;
    169169              else if (strcmp(name,"DamageC1")==0) return DamageC1Enum;
    … …  
    171171              else if (strcmp(name,"DamageC3")==0) return DamageC3Enum;
    172172              else if (strcmp(name,"DamageC4")==0) return DamageC4Enum;
     173              else if (strcmp(name,"DamageHealing")==0) return DamageHealingEnum;
    173174              else if (strcmp(name,"DamageStressThreshold")==0) return DamageStressThresholdEnum;
     175              else if (strcmp(name,"DamageStabilization")==0) return DamageStabilizationEnum;
     176              else if (strcmp(name,"DamageSpcdamage")==0) return DamageSpcdamageEnum;
    174177              else if (strcmp(name,"MaterialsRhoIce")==0) return MaterialsRhoIceEnum;
    175178              else if (strcmp(name,"MaterialsRhoWater")==0) return MaterialsRhoWaterEnum;
    … …  
    257260              else if (strcmp(name,"ThermalIsdynamicbasalspc")==0) return ThermalIsdynamicbasalspcEnum;
    258261              else if (strcmp(name,"ThermalMaxiter")==0) return ThermalMaxiterEnum;
    259               else if (strcmp(name,"ThermalPenaltyFactor")==0) return ThermalPenaltyFactorEnum;
    260               else if (strcmp(name,"ThermalPenaltyLock")==0) return ThermalPenaltyLockEnum;
    261               else if (strcmp(name,"ThermalPenaltyThreshold")==0) return ThermalPenaltyThresholdEnum;
    262262         else stage=3;
    263263   }
    264264   if(stage==3){
    265               if (strcmp(name,"ThermalSpctemperature")==0) return ThermalSpctemperatureEnum;
     265              if (strcmp(name,"ThermalPenaltyFactor")==0) return ThermalPenaltyFactorEnum;
     266              else if (strcmp(name,"ThermalPenaltyLock")==0) return ThermalPenaltyLockEnum;
     267              else if (strcmp(name,"ThermalPenaltyThreshold")==0) return ThermalPenaltyThresholdEnum;
     268              else if (strcmp(name,"ThermalSpctemperature")==0) return ThermalSpctemperatureEnum;
    266269              else if (strcmp(name,"ThermalStabilization")==0) return ThermalStabilizationEnum;
    267270              else if (strcmp(name,"GiaMantleViscosity")==0) return GiaMantleViscosityEnum;
    … …  
    278281              else if (strcmp(name,"TransientIsthermal")==0) return TransientIsthermalEnum;
    279282              else if (strcmp(name,"TransientIsgia")==0) return TransientIsgiaEnum;
     283              else if (strcmp(name,"TransientIsdamage")==0) return TransientIsdamageEnum;
    280284              else if (strcmp(name,"TransientNumRequestedOutputs")==0) return TransientNumRequestedOutputsEnum;
    281285              else if (strcmp(name,"TransientRequestedOutputs")==0) return TransientRequestedOutputsEnum;
    … …  
    299303              else if (strcmp(name,"BedSlopeXAnalysis")==0) return BedSlopeXAnalysisEnum;
    300304              else if (strcmp(name,"BedSlopeYAnalysis")==0) return BedSlopeYAnalysisEnum;
     305              else if (strcmp(name,"DamageEvolutionSolution")==0) return DamageEvolutionSolutionEnum;
     306              else if (strcmp(name,"DamageEvolutionAnalysis")==0) return DamageEvolutionAnalysisEnum;
    301307              else if (strcmp(name,"StressbalanceAnalysis")==0) return StressbalanceAnalysisEnum;
    302308              else if (strcmp(name,"StressbalanceSIAAnalysis")==0) return StressbalanceSIAAnalysisEnum;
    … …  
    377383              else if (strcmp(name,"SSA3dIceFront")==0) return SSA3dIceFrontEnum;
    378384              else if (strcmp(name,"Matice")==0) return MaticeEnum;
    379               else if (strcmp(name,"Matpar")==0) return MatparEnum;
     385         else stage=4;
     386   }
     387   if(stage==4){
     388              if (strcmp(name,"Matpar")==0) return MatparEnum;
    380389              else if (strcmp(name,"Node")==0) return NodeEnum;
    381390              else if (strcmp(name,"Numericalflux")==0) return NumericalfluxEnum;
    … …  
    383392              else if (strcmp(name,"Param")==0) return ParamEnum;
    384393              else if (strcmp(name,"L1L2IceFront")==0) return L1L2IceFrontEnum;
    385          else stage=4;
    386    }
    387    if(stage==4){
    388               if (strcmp(name,"HOIceFront")==0) return HOIceFrontEnum;
     394              else if (strcmp(name,"HOIceFront")==0) return HOIceFrontEnum;
    389395              else if (strcmp(name,"Pengrid")==0) return PengridEnum;
    390396              else if (strcmp(name,"Penpair")==0) return PenpairEnum;
    … …  
    500506              else if (strcmp(name,"StressTensor")==0) return StressTensorEnum;
    501507              else if (strcmp(name,"StressTensorxx")==0) return StressTensorxxEnum;
    502               else if (strcmp(name,"StressTensorxy")==0) return StressTensorxyEnum;
     508         else stage=5;
     509   }
     510   if(stage==5){
     511              if (strcmp(name,"StressTensorxy")==0) return StressTensorxyEnum;
    503512              else if (strcmp(name,"StressTensorxz")==0) return StressTensorxzEnum;
    504513              else if (strcmp(name,"StressTensoryy")==0) return StressTensoryyEnum;
    … …  
    506515              else if (strcmp(name,"StressTensorzz")==0) return StressTensorzzEnum;
    507516              else if (strcmp(name,"GiaCrossSectionShape")==0) return GiaCrossSectionShapeEnum;
    508          else stage=5;
    509    }
    510    if(stage==5){
    511               if (strcmp(name,"GiadWdt")==0) return GiadWdtEnum;
     517              else if (strcmp(name,"GiadWdt")==0) return GiadWdtEnum;
    512518              else if (strcmp(name,"GiaW")==0) return GiaWEnum;
    513519              else if (strcmp(name,"P0")==0) return P0Enum;
  • issm/trunk-jpl/src/m/classes/damage.m

    r16179 r16181  
    88        % {{{
    99                %damage
    10                 isdamage            = NaN;
    1110                D                   = NaN;
    1211                law                 = '';
     12                spcdamage           = NaN;
     13                stabilization       = NaN;
    1314               
    1415                %parameters for law 'initial':
    … …  
    1819                c3                  = NaN;
    1920                c4                  = NaN;
     21                healing             = NaN;
    2022
    2123        end % }}}
    … …  
    4244
    4345                        %damage parameters:
    44                         obj.isdamage=0;
    4546                        obj.D=0;
    4647                        obj.law='undamaged';
    47                        
     48               
     49                        %Type of stabilization used
     50                        obj.stabilization=2;
     51       
    4852                        %damage parameters for 'initial' law of damage propagation
    4953                        obj.stress_threshold=0;
     54                        obj.healing=0;
    5055                        obj.c1=0;
    5156                        obj.c2=0;
    … …  
    5762                       
    5863                        md = checkfield(md,'damage.D','>=0',0,'size',[md.mesh.numberofvertices 1]);
    59                         if obj.isdamage,
    60                                 md = checkfield(md,'damage.law','values',{'undamaged','pralong'});
    61                         end
     64                        md = checkfield(md,'damage.law','values',{'undamaged','pralong'});
     65                        md = checkfield(md,'damage.spcdamage','forcing',1);
     66                        md = checkfield(md,'damage.stabilization','numel',[1],'values',[0 1 2]);
    6267                        if strcmpi(obj.law,'pralong'),
     68                                md = checkfield(md,'damage.healing','>=',0);
    6369                                md = checkfield(md,'damage.c1','>=',0);
    6470                                md = checkfield(md,'damage.c2','>=',0);
    … …  
    7480                        fielddisplay(obj,'D','damage tensor (scalar)');
    7581                        fielddisplay(obj,'law','damage law (string) from {''undamaged'',''pralong''}');
     82                        fielddisplay(obj,'spcdamage','damage constraints (NaN means no constraint) [m]');
     83                        fielddisplay(obj,'stabilization','0: no, 1: artificial_diffusivity, 2: SUPG');
    7684                        if strcmpi(obj.law,'pralong'),
    7785                                fielddisplay(obj,'c1','damage parameter 1');
    … …  
    7987                                fielddisplay(obj,'c3','damage parameter 3');
    8088                                fielddisplay(obj,'c4','damage parameter 4');
     89                                fielddisplay(obj,'healing','damage healing parameter 1');
    8190                                fielddisplay(obj,'stress_threshold','damage stress threshold [Pa]');
    8291                        end
    … …  
    8594                function marshall(obj,md,fid) % {{{
    8695               
    87                         WriteData(fid,'object',obj,'fieldname','isdamage','format','DoubleMat','mattype',1);
    8896                        WriteData(fid,'object',obj,'fieldname','D','format','DoubleMat','mattype',1);
    89                         if obj.isdamage,
    90                                 WriteData(fid,'object',obj,'fieldname','law','format','String');
    91                         end
     97                        WriteData(fid,'object',obj,'fieldname','law','format','String');
     98                        WriteData(fid,'object',obj,'fieldname','stabilization','format','Integer');
     99                        WriteData(fid,'object',obj,'fieldname','spcdamage','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1);
    92100                        if strcmpi(obj.law,'pralong'),
    93101                                WriteData(fid,'object',obj,'fieldname','c1','format','Double');
    … …  
    96104                                WriteData(fid,'object',obj,'fieldname','c4','format','Double');
    97105                                WriteData(fid,'object',obj,'fieldname','stress_threshold','format','Double');
     106                                WriteData(fid,'object',obj,'fieldname','healing','format','Double');
    98107                        end
    99108
  • issm/trunk-jpl/src/m/classes/transient.m

    r15771 r16181  
    1111                isgroundingline   = 0;
    1212                isgia             = 0;
     13                isdamage             = 0;
    1314                requested_outputs = NaN;
    1415        end
    … …  
    3031                        obj.isgroundingline=0;
    3132                        obj.isgia=0;
     33                        obj.isdamage=0;
    3234
    3335                end % }}}
    … …  
    4244                        md = checkfield(md,'transient.isgroundingline','numel',[1],'values',[0 1]);
    4345                        md = checkfield(md,'transient.isgia','numel',[1],'values',[0 1]);
     46                        md = checkfield(md,'transient.isdamage','numel',[1],'values',[0 1]);
    4447                        md = checkfield(md,'transient.requested_outputs','size',[NaN 1]);
    4548
    … …  
    4851                        disp(sprintf('   transient solution parameters:'));
    4952
    50                         fielddisplay(obj,'ismasstransport','indicates if a masstransport solution is used in the transient');
    51                         fielddisplay(obj,'isstressbalance','indicates if a stressbalance solution is used in the transient');
    52                         fielddisplay(obj,'isthermal','indicates if a thermal solution is used in the transient');
    53                         fielddisplay(obj,'isgroundingline','indicates if a groundingline migration is used in the transient');
    54                         fielddisplay(obj,'isgia','indicates if a postglacial rebound model is used in the transient');
     53                        fielddisplay(obj,'ismasstransport','indicates whether a masstransport solution is used in the transient');
     54                        fielddisplay(obj,'isstressbalance','indicates whether a stressbalance solution is used in the transient');
     55                        fielddisplay(obj,'isthermal','indicates whether a thermal solution is used in the transient');
     56                        fielddisplay(obj,'isgroundingline','indicates whether a groundingline migration is used in the transient');
     57                        fielddisplay(obj,'isgia','indicates whether a postglacial rebound model is used in the transient');
     58                        fielddisplay(obj,'isdamage','indicates whether damage evolution is used in the transient');
    5559                        fielddisplay(obj,'requested_outputs','list of additional outputs requested');
    5660
    … …  
    6266                        WriteData(fid,'object',obj,'fieldname','isgroundingline','format','Boolean');
    6367                        WriteData(fid,'object',obj,'fieldname','isgia','format','Boolean');
     68                        WriteData(fid,'object',obj,'fieldname','isdamage','format','Boolean');
    6469                        WriteData(fid,'object',obj,'fieldname','requested_outputs','format','DoubleMat','mattype',3);
    6570                end % }}}
  • issm/trunk-jpl/src/m/consistency/ismodelselfconsistent.m

    r16008 r16181  
    100100                numanalyses=3;
    101101                analyses=[BedSlopeAnalysisEnum();SurfaceSlopeAnalysisEnum();HydrologyShreveAnalysisEnum();HydrologyDCInefficientAnalysisEnum();HydrologyDCEfficientAnalysisEnum()];
     102       
     103        case DamageEvolutionSolutionEnum(),
     104                numanalyses=1;
     105                analyses=[DamageEvolutionAnalysisEnum()];
    102106
    103107        otherwise
  • issm/trunk-jpl/src/m/enum/EnumDefinitions.py

    r16167 r16181  
    153153def MaterialsRheologyNEnum(): return StringToEnum("MaterialsRheologyN")[0]
    154154def DamageDEnum(): return StringToEnum("DamageD")[0]
     155def QmuDamageDEnum(): return StringToEnum("QmuDamageD")[0]
    155156def DamageDbarEnum(): return StringToEnum("DamageDbar")[0]
    156 def DamageIsdamageEnum(): return StringToEnum("DamageIsdamage")[0]
    157157def DamageLawEnum(): return StringToEnum("DamageLaw")[0]
    158158def DamageC1Enum(): return StringToEnum("DamageC1")[0]
    … …  
    160160def DamageC3Enum(): return StringToEnum("DamageC3")[0]
    161161def DamageC4Enum(): return StringToEnum("DamageC4")[0]
     162def DamageHealingEnum(): return StringToEnum("DamageHealing")[0]
    162163def DamageStressThresholdEnum(): return StringToEnum("DamageStressThreshold")[0]
     164def DamageStabilizationEnum(): return StringToEnum("DamageStabilization")[0]
     165def DamageSpcdamageEnum(): return StringToEnum("DamageSpcdamage")[0]
    163166def MaterialsRhoIceEnum(): return StringToEnum("MaterialsRhoIce")[0]
    164167def MaterialsRhoWaterEnum(): return StringToEnum("MaterialsRhoWater")[0]
    … …  
    264267def TransientIsthermalEnum(): return StringToEnum("TransientIsthermal")[0]
    265268def TransientIsgiaEnum(): return StringToEnum("TransientIsgia")[0]
     269def TransientIsdamageEnum(): return StringToEnum("TransientIsdamage")[0]
    266270def TransientNumRequestedOutputsEnum(): return StringToEnum("TransientNumRequestedOutputs")[0]
    267271def TransientRequestedOutputsEnum(): return StringToEnum("TransientRequestedOutputs")[0]
    … …  
    285289def BedSlopeXAnalysisEnum(): return StringToEnum("BedSlopeXAnalysis")[0]
    286290def BedSlopeYAnalysisEnum(): return StringToEnum("BedSlopeYAnalysis")[0]
     291def DamageEvolutionSolutionEnum(): return StringToEnum("DamageEvolutionSolution")[0]
     292def DamageEvolutionAnalysisEnum(): return StringToEnum("DamageEvolutionAnalysis")[0]
    287293def StressbalanceAnalysisEnum(): return StringToEnum("StressbalanceAnalysis")[0]
    288294def StressbalanceSIAAnalysisEnum(): return StringToEnum("StressbalanceSIAAnalysis")[0]
  • issm/trunk-jpl/src/m/solve/process_solve_options.m

    r16008 r16181  
    1313                BalancethicknessSolutionEnum(),BalancethicknessSoftSolutionEnum(),...
    1414                BalancevelocitySolutionEnum(),BedSlopeSolutionEnum(),...
    15                 SurfaceSlopeSolutionEnum(),HydrologySolutionEnum(),FlaimSolutionEnum(),GiaSolutionEnum()]),
     15                SurfaceSlopeSolutionEnum(),HydrologySolutionEnum(),FlaimSolutionEnum(),GiaSolutionEnum(),DamageEvolutionSolutionEnum()]),
    1616        error(['process_solve_options error message: solution_type ' EnumToString(solution_type) ' not supported yet!']);
    1717end
  • issm/trunk-jpl/test/NightlyRun/IdToName.m

    r16044 r16181  
    6666        case 237, name='SquareShelfTranIspddIsdeltaSSA3d';
    6767        case 270, name='SquareShelfStressSSA2dDamage';
     68        case 271, name='SquareShelfStressSSA2dDamageTran';
    6869        case 272, name='SquareShelfCMZSSA2dDamage';
    6970        case 274, name='SquareShelfStressSSA2dDamageRift';
Note: See TracChangeset for help on using the changeset viewer.