Changeset 19381


Ignore:
Timestamp:
06/01/15 05:37:07 (10 years ago)
Author:
cborstad
Message:

CHG: updating damage calculation as the result of a stress balance solution; getting rid of unused penalty variables; adding kappa variable to damage class

Location:
issm/trunk-jpl/src
Files:
1 added
3 deleted
9 edited

Legend:

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

    r18930 r19381  
    6969        parameters->AddObject(iomodel->CopyConstantObject(DamageLawEnum));
    7070        parameters->AddObject(iomodel->CopyConstantObject(DamageStabilizationEnum));
    71         parameters->AddObject(iomodel->CopyConstantObject(DamagePenaltyThresholdEnum));
    72         parameters->AddObject(iomodel->CopyConstantObject(DamagePenaltyLockEnum));
    73         parameters->AddObject(iomodel->CopyConstantObject(DamagePenaltyFactorEnum));
    7471        parameters->AddObject(iomodel->CopyConstantObject(DamageMaxiterEnum));
    7572        parameters->AddObject(iomodel->CopyConstantObject(DamageMaxDamageEnum));
     
    9188                parameters->AddObject(iomodel->CopyConstantObject(DamageC4Enum));
    9289                parameters->AddObject(iomodel->CopyConstantObject(DamageStressThresholdEnum));
     90                parameters->AddObject(iomodel->CopyConstantObject(DamageKappaEnum));
    9391                parameters->AddObject(iomodel->CopyConstantObject(DamageHealingEnum));
    9492                parameters->AddObject(iomodel->CopyConstantObject(DamageEquivStressEnum));
  • issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp

    r19373 r19381  
    877877        if(materials_type==MatdamageiceEnum){
    878878                parameters->AddObject(iomodel->CopyConstantObject(DamageC1Enum));
     879                parameters->AddObject(iomodel->CopyConstantObject(DamageKappaEnum));
    879880                parameters->AddObject(iomodel->CopyConstantObject(DamageStressThresholdEnum));
    880881        }
  • issm/trunk-jpl/src/c/classes/Elements/Element.cpp

    r19371 r19381  
    4646        IssmDouble  eps_xx,eps_xy,eps_yy,eps_xz,eps_yz,eps_zz,eps_eff;
    4747        IssmDouble  epsmin=1.e-27;
    48         IssmDouble  eps_0,eps_f,sigma_0,B,D,n;
     48        IssmDouble  eps_0,kappa,sigma_0,B,D,n,envelopeD;
    4949        int         dim,counter=0;
    5050        IssmDouble  k1,k2,threshold=1.e-12;
     
    5454        this->ComputeStrainRate();
    5555        parameters->FindParam(&dim,DomainDimensionEnum);
    56         parameters->FindParam(&eps_f,DamageC1Enum);
     56        parameters->FindParam(&kappa,DamageKappaEnum);
    5757        parameters->FindParam(&sigma_0,DamageStressThresholdEnum);
    5858
     
    113113                /* Compute threshold strain rate from threshold stress */
    114114                eps_0=pow(sigma_0/B,n);
    115                 _assert_(eps_f>eps_0);
    116 
    117                 /* Compute kappa (k) from pre-existing level of damage, using Newton-Raphson */
    118                 /* provide a reasonable initial guess */
    119                 if(D==0){
    120                         k1=eps_0;
    121                 }
    122                 else{
    123                         k1=exp(n*eps_0/(eps_f-eps_0)-n*log(1.-D)+log(eps_0)); /* initial guess */
    124                 }
    125        
    126                 counter=0;
    127                 while(true){
    128         /*Newton step k2=k1-f(k1)/f'(k1) */
    129                         k2=k1-(k1+(eps_f-eps_0)/n*log(k1)-eps_0+(eps_f-eps_0)*(log(1.-D)-1./n*log(eps_0)))/(1.+(eps_f-eps_0)/n/k1);
    130 
    131         if( fabs(k2-k1)/(fabs(k2))<threshold ){
    132                 break;
    133         }
    134         else{
    135                                 k1=k2;
    136            counter++;
    137         }
    138 
    139         if(counter>50) break;
    140         }
    141 
    142                 if(eps_eff>k2){
    143                         newD[i]=1.-pow(eps_0/eps_eff,1./n)*exp(-(eps_eff-eps_0)/(eps_f-eps_0));
     115
     116                if(eps_eff>eps_0){
     117                        /* Compute damage on envelope curve for existing level of effective strain rate */
     118                        envelopeD=1.-pow(eps_0/eps_eff,1./n)*exp(-(eps_eff-eps_0)/(eps_0*(kappa-1.)));
     119
     120                        if(envelopeD>D){
     121                                newD[i]=envelopeD;
     122                        }
     123                        else newD[i]=D;
    144124                }
    145125                else newD[i]=D;
  • issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h

    r19373 r19381  
    204204        DamageHealingEnum,
    205205        DamageStressThresholdEnum,
     206        DamageKappaEnum,
    206207        DamageStabilizationEnum,
    207         DamagePenaltyThresholdEnum,
    208         DamagePenaltyLockEnum,
    209         DamagePenaltyFactorEnum,
    210208        DamageMaxiterEnum,
    211209        DamageSpcdamageEnum,
  • issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp

    r19373 r19381  
    210210                case DamageHealingEnum : return "DamageHealing";
    211211                case DamageStressThresholdEnum : return "DamageStressThreshold";
     212                case DamageKappaEnum : return "DamageKappa";
    212213                case DamageStabilizationEnum : return "DamageStabilization";
    213                 case DamagePenaltyThresholdEnum : return "DamagePenaltyThreshold";
    214                 case DamagePenaltyLockEnum : return "DamagePenaltyLock";
    215                 case DamagePenaltyFactorEnum : return "DamagePenaltyFactor";
    216214                case DamageMaxiterEnum : return "DamageMaxiter";
    217215                case DamageSpcdamageEnum : return "DamageSpcdamage";
  • issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp

    r19373 r19381  
    213213              else if (strcmp(name,"DamageHealing")==0) return DamageHealingEnum;
    214214              else if (strcmp(name,"DamageStressThreshold")==0) return DamageStressThresholdEnum;
     215              else if (strcmp(name,"DamageKappa")==0) return DamageKappaEnum;
    215216              else if (strcmp(name,"DamageStabilization")==0) return DamageStabilizationEnum;
    216               else if (strcmp(name,"DamagePenaltyThreshold")==0) return DamagePenaltyThresholdEnum;
    217               else if (strcmp(name,"DamagePenaltyLock")==0) return DamagePenaltyLockEnum;
    218               else if (strcmp(name,"DamagePenaltyFactor")==0) return DamagePenaltyFactorEnum;
    219217              else if (strcmp(name,"DamageMaxiter")==0) return DamageMaxiterEnum;
    220218              else if (strcmp(name,"DamageSpcdamage")==0) return DamageSpcdamageEnum;
     
    260258              else if (strcmp(name,"MeshElements")==0) return MeshElementsEnum;
    261259              else if (strcmp(name,"MeshLowerelements")==0) return MeshLowerelementsEnum;
     260              else if (strcmp(name,"MeshNumberofelements2d")==0) return MeshNumberofelements2dEnum;
     261              else if (strcmp(name,"MeshNumberofelements")==0) return MeshNumberofelementsEnum;
    262262         else stage=3;
    263263   }
    264264   if(stage==3){
    265               if (strcmp(name,"MeshNumberofelements2d")==0) return MeshNumberofelements2dEnum;
    266               else if (strcmp(name,"MeshNumberofelements")==0) return MeshNumberofelementsEnum;
    267               else if (strcmp(name,"MeshNumberoflayers")==0) return MeshNumberoflayersEnum;
     265              if (strcmp(name,"MeshNumberoflayers")==0) return MeshNumberoflayersEnum;
    268266              else if (strcmp(name,"MeshNumberofvertices2d")==0) return MeshNumberofvertices2dEnum;
    269267              else if (strcmp(name,"MeshNumberofvertices")==0) return MeshNumberofverticesEnum;
     
    383381              else if (strcmp(name,"SurfaceforcingsHref")==0) return SurfaceforcingsHrefEnum;
    384382              else if (strcmp(name,"SurfaceforcingsSmbref")==0) return SurfaceforcingsSmbrefEnum;
     383              else if (strcmp(name,"SurfaceforcingsBPos")==0) return SurfaceforcingsBPosEnum;
     384              else if (strcmp(name,"SurfaceforcingsBNeg")==0) return SurfaceforcingsBNegEnum;
    385385         else stage=4;
    386386   }
    387387   if(stage==4){
    388               if (strcmp(name,"SurfaceforcingsBPos")==0) return SurfaceforcingsBPosEnum;
    389               else if (strcmp(name,"SurfaceforcingsBNeg")==0) return SurfaceforcingsBNegEnum;
    390               else if (strcmp(name,"SMBhenning")==0) return SMBhenningEnum;
     388              if (strcmp(name,"SMBhenning")==0) return SMBhenningEnum;
    391389              else if (strcmp(name,"SMBcomponents")==0) return SMBcomponentsEnum;
    392390              else if (strcmp(name,"SurfaceforcingsAccumulation")==0) return SurfaceforcingsAccumulationEnum;
     
    506504              else if (strcmp(name,"Matice")==0) return MaticeEnum;
    507505              else if (strcmp(name,"Matdamageice")==0) return MatdamageiceEnum;
     506              else if (strcmp(name,"Matpar")==0) return MatparEnum;
     507              else if (strcmp(name,"Node")==0) return NodeEnum;
    508508         else stage=5;
    509509   }
    510510   if(stage==5){
    511               if (strcmp(name,"Matpar")==0) return MatparEnum;
    512               else if (strcmp(name,"Node")==0) return NodeEnum;
    513               else if (strcmp(name,"Numericalflux")==0) return NumericalfluxEnum;
     511              if (strcmp(name,"Numericalflux")==0) return NumericalfluxEnum;
    514512              else if (strcmp(name,"NumericalfluxType")==0) return NumericalfluxTypeEnum;
    515513              else if (strcmp(name,"Param")==0) return ParamEnum;
     
    629627              else if (strcmp(name,"StressTensor")==0) return StressTensorEnum;
    630628              else if (strcmp(name,"StressTensorxx")==0) return StressTensorxxEnum;
     629              else if (strcmp(name,"StressTensorxy")==0) return StressTensorxyEnum;
     630              else if (strcmp(name,"StressTensorxz")==0) return StressTensorxzEnum;
    631631         else stage=6;
    632632   }
    633633   if(stage==6){
    634               if (strcmp(name,"StressTensorxy")==0) return StressTensorxyEnum;
    635               else if (strcmp(name,"StressTensorxz")==0) return StressTensorxzEnum;
    636               else if (strcmp(name,"StressTensoryy")==0) return StressTensoryyEnum;
     634              if (strcmp(name,"StressTensoryy")==0) return StressTensoryyEnum;
    637635              else if (strcmp(name,"StressTensoryz")==0) return StressTensoryzEnum;
    638636              else if (strcmp(name,"StressTensorzz")==0) return StressTensorzzEnum;
     
    752750              else if (strcmp(name,"Outputdefinition61")==0) return Outputdefinition61Enum;
    753751              else if (strcmp(name,"Outputdefinition62")==0) return Outputdefinition62Enum;
     752              else if (strcmp(name,"Outputdefinition63")==0) return Outputdefinition63Enum;
     753              else if (strcmp(name,"Outputdefinition64")==0) return Outputdefinition64Enum;
    754754         else stage=7;
    755755   }
    756756   if(stage==7){
    757               if (strcmp(name,"Outputdefinition63")==0) return Outputdefinition63Enum;
    758               else if (strcmp(name,"Outputdefinition64")==0) return Outputdefinition64Enum;
    759               else if (strcmp(name,"Outputdefinition65")==0) return Outputdefinition65Enum;
     757              if (strcmp(name,"Outputdefinition65")==0) return Outputdefinition65Enum;
    760758              else if (strcmp(name,"Outputdefinition66")==0) return Outputdefinition66Enum;
    761759              else if (strcmp(name,"Outputdefinition67")==0) return Outputdefinition67Enum;
     
    875873              else if (strcmp(name,"QmuInName")==0) return QmuInNameEnum;
    876874              else if (strcmp(name,"QmuOutName")==0) return QmuOutNameEnum;
     875              else if (strcmp(name,"Regular")==0) return RegularEnum;
     876              else if (strcmp(name,"Scaled")==0) return ScaledEnum;
    877877         else stage=8;
    878878   }
    879879   if(stage==8){
    880               if (strcmp(name,"Regular")==0) return RegularEnum;
    881               else if (strcmp(name,"Scaled")==0) return ScaledEnum;
    882               else if (strcmp(name,"Separate")==0) return SeparateEnum;
     880              if (strcmp(name,"Separate")==0) return SeparateEnum;
    883881              else if (strcmp(name,"Sset")==0) return SsetEnum;
    884882              else if (strcmp(name,"Verbose")==0) return VerboseEnum;
  • issm/trunk-jpl/src/m/classes/damage.m

    r19048 r19381  
    1717                maxiter             = 0;
    1818                elementinterp       = '';
    19                 penalty_threshold   = 0;
    20                 penalty_lock        = 0;
    21                 penalty_factor      = 0;
    2219               
    2320                %general parameters for evolution law:
    2421                stress_threshold    = 0;
     22                kappa               = 0;
    2523                c1                  = 0;
    2624                c2                  = 0;
     
    8078
    8179                        fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',    '<parameter key ="maxiter" type="',             class(self.maxiter),'" default="',   num2str(self.maxiter),'">',   '     <section name="damage" />','     <help> maximum number of non linear iterations </help>','</parameter>');
    82                         fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',        '<parameter key ="penalty_lock" type="',        class(self.penalty_lock),'" default="',            num2str(self.penalty_lock),'">',            '     <section name="damage" />','     <help> stabilize unstable damage constraints that keep zigzagging after n iteration (default is 0, no stabilization) </help>','</parameter>');
    83                         fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',        '<parameter key ="penalty_threshold" type="',   class(self.penalty_threshold),'" default="',            num2str(self.penalty_threshold),'">',            '     <section name="damage" />','     <help> threshold to declare convergence of damage evolution solution (default is 0) </help>','</parameter>');
    84                         fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',        '<parameter key ="penalty_factor" type="',      class(self.penalty_factor),'" default="',            num2str(self.penalty_factor),'">',            '     <section name="damage" />','     <help> scaling exponent (default is 3) </help>','</parameter>');
    8580
    8681                end % }}}
     
    125120                        self.elementinterp='P1';
    126121
    127                         %factor used to compute the values of the penalties: kappa=max(stiffness matrix)*10^penalty_factor
    128                         self.penalty_factor=3;
    129                        
    130                         %stabilize unstable damage constraints that keep zigzagging after n iteration (default is 0, no stabilization)
    131                         self.penalty_lock=0;
    132                        
    133                         %threshold to declare convergence of thermal solution (default is 0)
    134                         self.penalty_threshold=0;
    135                
    136122                        %damage evolution parameters
    137                         self.stress_threshold=0;
     123                        self.stress_threshold=1.3e5;
     124                        self.kappa=2.8;
    138125                        self.healing=0;
    139126                        self.c1=0;
     
    158145                                md = checkfield(md,'fieldname','damage.maxiter','>=0',0);
    159146                                md = checkfield(md,'fieldname','damage.elementinterp','values',{'P1','P2'});
    160                                 md = checkfield(md,'fieldname','damage.penalty_factor','>=',0);
    161                                 md = checkfield(md,'fieldname','damage.penalty_lock','>=',0);
    162                                 md = checkfield(md,'fieldname','damage.penalty_threshold','>=',0);
     147                                md = checkfield(md,'fieldname','damage.stress_threshold','>=',0);
     148                                md = checkfield(md,'fieldname','damage.kappa','>',1);
    163149                                md = checkfield(md,'fieldname','damage.healing','>=',0);
    164150                                md = checkfield(md,'fieldname','damage.c1','>=',0);
     
    166152                                md = checkfield(md,'fieldname','damage.c3','>=',0);
    167153                                md = checkfield(md,'fieldname','damage.c4','>=',0);
    168                                 md = checkfield(md,'fieldname','damage.stress_threshold','>=',0);
    169154                                md = checkfield(md,'fieldname','damage.equiv_stress','numel',[1],'values',[0 1]);
    170155                                md = checkfield(md,'fieldname','damage.requested_outputs','stringrow',1);
     
    196181                                fielddisplay(self,'maxiter','maximum number of non linear iterations');
    197182                                fielddisplay(self,'elementinterp','interpolation scheme for finite elements {''P1'',''P2''}');
    198                                 fielddisplay(self,'penalty_lock','stabilize unstable damage constraints that keep zigzagging after n iteration (default is 0, no stabilization)');
    199                                 fielddisplay(self,'penalty_threshold','threshold to declare convergence of damage evolution solution (default is 0)');
    200                                 fielddisplay(self,'penalty_factor','scaling exponent (default is 3)');
     183                                fielddisplay(self,'stress_threshold','stress threshold for damage initiation [Pa]');
     184                                fielddisplay(self,'kappa','ductility parameter for stress softening and damage');
    201185                                fielddisplay(self,'c1','damage parameter 1');
    202186                                fielddisplay(self,'c2','damage parameter 2');
     
    204188                                fielddisplay(self,'c4','damage parameter 4');
    205189                                fielddisplay(self,'healing','damage healing parameter');
    206                                 fielddisplay(self,'stress_threshold','damage stress threshold [Pa]');
    207190                                fielddisplay(self,'equiv_stress','0: von Mises, 1: max principal');
    208191                                fielddisplay(self,'requested_outputs','additional outputs requested');
     
    222205                                WriteData(fid,'object',self,'fieldname','maxiter','format','Integer');
    223206                                WriteData(fid,'enum',DamageElementinterpEnum(),'data',StringToEnum(self.elementinterp),'format','Integer');
    224                                 WriteData(fid,'object',self,'fieldname','penalty_threshold','format','Integer');
    225                                 WriteData(fid,'object',self,'fieldname','penalty_lock','format','Integer');
    226                                 WriteData(fid,'object',self,'fieldname','penalty_factor','format','Double');
     207                                WriteData(fid,'object',self,'fieldname','stress_threshold','format','Double');
     208                                WriteData(fid,'object',self,'fieldname','kappa','format','Double');
    227209                                WriteData(fid,'object',self,'fieldname','c1','format','Double');
    228210                                WriteData(fid,'object',self,'fieldname','c2','format','Double');
    229211                                WriteData(fid,'object',self,'fieldname','c3','format','Double');
    230212                                WriteData(fid,'object',self,'fieldname','c4','format','Double');
    231                                 WriteData(fid,'object',self,'fieldname','stress_threshold','format','Double');
    232213                                WriteData(fid,'object',self,'fieldname','healing','format','Double');
    233214                                WriteData(fid,'object',self,'fieldname','equiv_stress','format','Integer');
  • issm/trunk-jpl/src/m/classes/damage.py

    r19048 r19381  
    1919                #damage:
    2020                self.isdamage           = 0.
    21                 self.D                                          = float('NaN')
    22                 self.law                                                = float('NaN')
    23                 self.spcdamage                          = float('NaN')
    24                 self.max_damage                 = float('NaN')
     21                self.D                  = float('NaN')
     22                self.law                = float('NaN')
     23                self.spcdamage          = float('NaN')
     24                self.max_damage         = float('NaN')
    2525               
    2626                #numerical
    27                 self.stabilization              = float('NaN')
    28                 self.maxiter                            = float('NaN')
     27                self.stabilization      = float('NaN')
     28                self.maxiter            = float('NaN')
    2929                self.elementinterp      = ''
    30                 self.penalty_threshold  = float('NaN')
    31                 self.penalty_lock                       = float('NaN')
    32                 self.penalty_factor             = float('NaN')
    3330
    3431                #general parameters for evolution law:
    3532                self.stress_threshold   = float('NaN')
     33                self.kappa              = float('NaN')
    3634                self.c1                 = float('NaN')
    3735                self.c2                 = float('NaN')
    3836                self.c3                 = float('NaN')
    3937                self.c4                 = float('NaN')
    40                 self.healing                            = float('NaN')
     38                self.healing            = float('NaN')
    4139                self.equiv_stress       = float('NaN')
    4240                self.requested_outputs  = []
     
    6159                        s+="%s\n" % fielddisplay(self,"maxiter","maximum number of non linear iterations")
    6260                        s+="%s\n" %     fielddisplay(self,"elementinterp","interpolation scheme for finite elements [''P1'',''P2'']")
    63                         s+="%s\n" % fielddisplay(self,"penalty_lock","stabilize unstable damage constraints that keep zigzagging after n iteration (default is 0, no stabilization)")
    64                         s+="%s\n" % fielddisplay(self,"penalty_threshold","threshold to declare convergence of damage evolution solution (default is 0)")
    65                         s+="%s\n" % fielddisplay(self,"penalty_factor","scaling exponent (default is 3)")
     61                        s+="%s\n" % fielddisplay(self,"stress_threshold","stress threshold for damage initiation [Pa]")
     62                        s+="%s\n" % fielddisplay(self,"kappa","ductility parameter for stress softening and damage [>1]")
    6663                        s+="%s\n" % fielddisplay(self,"c1","damage parameter 1 ")
    6764                        s+="%s\n" % fielddisplay(self,"c2","damage parameter 2 ")
    6865                        s+="%s\n" % fielddisplay(self,"c3","damage parameter 3 ")
    6966                        s+="%s\n" % fielddisplay(self,"c4","damage parameter 4 ")
    70                         s+="%s\n" % fielddisplay(self,"stress_threshold","damage stress threshold [Pa]")
    7167                        s+="%s\n" % fielddisplay(self,"healing","damage healing parameter")
    7268                        s+="%s\n" % fielddisplay(self,"equiv_stress","0: von Mises, 1: max principal")
     
    9894                self.elementinterp='P1'
    9995
    100                 #factor used to compute the values of the penalties: kappa=max(stiffness matrix)*10^penalty_factor
    101                 self.penalty_factor=3
    102                        
    103                 #stabilize unstable damage constraints that keep zigzagging after n iteration (default is 0, no stabilization)
    104                 self.penalty_lock=0
    105                        
    106                 #threshold to declare convergence of thermal solution (default is 0)
    107                 self.penalty_threshold=0
    108                
    10996                #damage evolution parameters
    110                 self.stress_threshold=0
     97                self.stress_threshold=1.3e5
     98                self.kappa=2.8
    11199                self.c1=0
    112100                self.c2=0
     
    141129                        md = checkfield(md,'fieldname','damage.maxiter','>=0',0)
    142130                        md = checkfield(md,'fieldname','damage.elementinterp','values',['P1','P2'])
    143                         md = checkfield(md,'fieldname','damage.penalty_factor','>=0',0)
    144                         md = checkfield(md,'fieldname','damage.penalty_lock','>=0',0)
    145                         md = checkfield(md,'fieldname','damage.penalty_threshold','>=0',0)
     131                        md = checkfield(md,'fieldname','damage.stress_threshold','>=',0)
     132                        md = checkfield(md,'fieldname','damage.kappa','>',1)
    146133                        md = checkfield(md,'fieldname','damage.healing','>=',0)
    147134                        md = checkfield(md,'fieldname','damage.c1','>=',0)
     
    149136                        md = checkfield(md,'fieldname','damage.c3','>=',0)
    150137                        md = checkfield(md,'fieldname','damage.c4','>=',0)
    151                         md = checkfield(md,'fieldname','damage.stress_threshold','>=',0)
    152138                        md = checkfield(md,'fieldname','damage.healing','>=',0)
    153139                        md = checkfield(md,'fieldname','damage.equiv_stress','numel',[1],'values',[0,1])
     
    170156                        WriteData(fid,'object',self,'fieldname','maxiter','format','Integer')
    171157                        WriteData(fid,'enum',DamageElementinterpEnum(),'data',StringToEnum(self.elementinterp)[0],'format','Integer')
    172                         WriteData(fid,'object',self,'fieldname','penalty_threshold','format','Integer')
    173                         WriteData(fid,'object',self,'fieldname','penalty_lock','format','Integer')
    174                         WriteData(fid,'object',self,'fieldname','penalty_factor','format','Double')
     158                        WriteData(fid,'object',self,'fieldname','stress_threshold','format','Double')
     159                        WriteData(fid,'object',self,'fieldname','kappa','format','Double')
    175160                        WriteData(fid,'object',self,'fieldname','c1','format','Double')
    176161                        WriteData(fid,'object',self,'fieldname','c2','format','Double')
    177162                        WriteData(fid,'object',self,'fieldname','c3','format','Double')
    178163                        WriteData(fid,'object',self,'fieldname','c4','format','Double')
    179                         WriteData(fid,'object',self,'fieldname','stress_threshold','format','Double')
    180164                        WriteData(fid,'object',self,'fieldname','healing','format','Double')
    181165                        WriteData(fid,'object',self,'fieldname','equiv_stress','format','Integer')
  • issm/trunk-jpl/src/m/enum/EnumDefinitions.py

    r19373 r19381  
    202202def DamageHealingEnum(): return StringToEnum("DamageHealing")[0]
    203203def DamageStressThresholdEnum(): return StringToEnum("DamageStressThreshold")[0]
     204def DamageKappaEnum(): return StringToEnum("DamageKappa")[0]
    204205def DamageStabilizationEnum(): return StringToEnum("DamageStabilization")[0]
    205 def DamagePenaltyThresholdEnum(): return StringToEnum("DamagePenaltyThreshold")[0]
    206 def DamagePenaltyLockEnum(): return StringToEnum("DamagePenaltyLock")[0]
    207 def DamagePenaltyFactorEnum(): return StringToEnum("DamagePenaltyFactor")[0]
    208206def DamageMaxiterEnum(): return StringToEnum("DamageMaxiter")[0]
    209207def DamageSpcdamageEnum(): return StringToEnum("DamageSpcdamage")[0]
Note: See TracChangeset for help on using the changeset viewer.