30 #ifndef PressureDependMultiYieldBase_h    31 #define PressureDependMultiYieldBase_h    33 #include "PressureMultiYieldBase.h"    39 class MultiYieldSurface;
    48      static std::vector<double> refShearModulusx;
    49      static std::vector<double> refBulkModulusx;
    50      static std::vector<double> phaseTransfAnglex; 
    51      static std::vector<double> contractParam1x;
    52      static std::vector<double> dilateParam1x;
    53      static std::vector<double> dilateParam2x;
    54      static std::vector<double> einitx;    
    55      static std::vector<double> liquefyParam1x;
    56      static std::vector<double> liquefyParam2x;
    57      static std::vector<double> volLimit1x;
    58      static std::vector<double> volLimit2x;
    59      static std::vector<double> volLimit3x;
    61      static std::vector<double> Hvx;
    62      static std::vector<double> Pvx;
    66      mutable double modulusFactor;
    67      mutable double initPress;
    69      mutable double pressureD;
    70      double pressureDCommitted;
    74      mutable double PPZSize;
    75      double PPZSizeCommitted;
    76      mutable double cumuDilateStrainOcta;
    77      mutable double maxCumuDilateStrainOcta;
    78      mutable double cumuTranslateStrainOcta;
    79      mutable double prePPZStrainOcta;
    80      mutable double oppoPrePPZStrainOcta;
    85      double cumuDilateStrainOctaCommitted;
    86      double maxCumuDilateStrainOctaCommitted;
    87      double cumuTranslateStrainOctaCommitted;
    88      double prePPZStrainOctaCommitted;
    89      double oppoPrePPZStrainOctaCommitted;
    97      void setupLocalMembers(
int nd,
   102             double peakShearStra,
   104             double pressDependCoe,
   105             double phaseTransformAngle, 
   106             double contractionParam1,
   107             double dilationParam1,
   108             double dilationParam2,
   109             double liquefactionParam1,
   110             double liquefactionParam2,
   111             int numberOfYieldSurf,
   112             const std::vector<double> &gredu,
   122      void elast2Plast(
void) 
const;
   124      double yieldFunc(
const T2Vector & stress,
const std::vector<MultiYieldSurface> &surfaces, 
int surface_num) 
const;
   125      void deviatorScaling(
T2Vector & stress,
const std::vector<MultiYieldSurface> &surfaces, 
int surfaceNum) 
const;
   126      void initSurfaceUpdate(
void) 
const;
   129      int setSubStrainRate(
void) 
const;
   130      int isLoadReversal(
const T2Vector &) 
const;
   131      void getContactStress(
T2Vector &contactStress) 
const;
   133      double getModulusFactor(
const T2Vector &stress) 
const;
   134      void setTrialStress(
const T2Vector &stress) 
const; 
   135      double getLoadingFunc(
const T2Vector & contact, 
const T2Vector & surfaceNormal,
   136                double plasticPotential,
int crossedSurface) 
const;
   138      void updateActiveSurface(
void) 
const;
   139      void updateInnerSurface(
void) 
const;
   142      int  isCrossingNextSurface(
void) 
const;  
   151                    double refShearModul,
   154                    double peakShearStra,
   156                    double pressDependCoe,
   157                    double phaseTransformAngle, 
   158                    double contractionParam1,
   159                    double dilationParam1,
   160                    double dilationParam2,
   161                    double liquefactionParam1,
   162                    double liquefactionParam2,
   163                    int   numberOfYieldSurf = 20,
   164                    const std::vector<double> &gredu= std::vector<double>(),
   166                    double volLimit1 = 0.9,
   167                    double volLimit2 = 0.02,
   168                    double volLimit3 = 0.7,
   181         double refShearModul,
   184         double peakShearStra,
   186         double pressDependCoe,
   187         double phaseTransformAngle, 
   188         double contractionParam1,
   189         double dilationParam1,
   190         double dilationParam2,
   191         double liquefactionParam1,
   192         double liquefactionParam2,
   193         int numberOfYieldSurf,
   194         const std::vector<double> &gredu,
   204        {
return rhox[matN];} ;
   216      const Matrix &getInitialTangent(
void);
   218      void getBackbone(
Matrix &);
   221      const Vector &getStrain (
void);
   230      int revertToLastCommit (
void);
   235      int getOrder(
void) 
const;
   241      void Print(std::ostream &s, 
int flag =0) 
const;
 int commitState(void)
Commit the state of the material. 
Definition: PressureDependMultiYieldBase.cc:397
int getResponse(int responseID, Information &matInformation)
Returns material response. 
Definition: PressureDependMultiYieldBase.cc:594
Float vector abstraction. 
Definition: Vector.h:94
static std::vector< double > rhox
mass density 
Definition: PressureMultiYieldBase.h:48
Communication parameters between processes. 
Definition: Communicator.h:66
Base class response objects. 
Definition: Response.h:81
const Vector & getCommittedStress(void)
Returns committed stresses. 
Definition: PressureDependMultiYieldBase.cc:627
int updateParameter(int responseID, Information &eleInformation)
Updates the parameter identified by parameterID with info. 
Definition: PressureDependMultiYieldBase.cc:443
int recvData(const Communicator &)
Receives object members through the communicator argument. 
Definition: PressureDependMultiYieldBase.cc:476
double getRho(void) const
Get material density. 
Definition: PressureDependMultiYieldBase.h:203
int revertToStart(void)
Revert the material to its initial state. 
Definition: PressureDependMultiYieldBase.h:232
int setTrialStrainIncr(const Vector &v)
Set trial strain increment. 
Definition: PressureDependMultiYieldBase.cc:303
const Vector & getCommittedStrain(void)
Returns committed strains. 
Definition: PressureDependMultiYieldBase.cc:669
int sendSelf(Communicator &)
Sends object through the communicator argument. 
Definition: PressureDependMultiYieldBase.cc:495
int setTrialStrain(const Vector &strain)
Sets the value of the trial strain vector, that value used by {getStress()} and getTangent(), to be strain. 
Definition: PressureDependMultiYieldBase.cc:269
??. 
Definition: PressureDependMultiYieldBase.h:44
void Print(std::ostream &s, int flag=0) const
Print stuff. 
Definition: PressureDependMultiYieldBase.cc:621
Open source finite element program for structural analysis. 
Definition: ContinuaReprComponent.h:35
int sendData(Communicator &)
Send object members through the communicator argument. 
Definition: PressureDependMultiYieldBase.cc:457
Matrix of floats. 
Definition: Matrix.h:111
Second order tensor vector class. 
Definition: T2Vector.h:65
??. 
Definition: PressureMultiYieldBase.h:44
int recvSelf(const Communicator &)
Receives object through the communicator argument. 
Definition: PressureDependMultiYieldBase.cc:510