50 #ifndef DruckerPrager_h    51 #define DruckerPrager_h    63 #include <material/nD/NDMaterial.h>    64 #include <utility/matrix/Vector.h>    65 #include <utility/matrix/Matrix.h>   127     int updateElasticParam(
void); 
   132     double Kiso(
double alpha1);  
   133     double Kisoprime(
double alpha1); 
   134     double T(
double alpha2);
   135     double deltaH(
double dGamma);
   139     const double one3= 1.0 / 3.0 ;
   140     const double two3= 2.0 / 3.0 ;
   141     const double root23= sqrt(2.0/3.0) ;
   144     DruckerPrager(
int tag, 
int classTag, 
double bulk, 
double shear,
   145           double s_y, 
double r, 
double r_bar, 
double Kinfinity, 
double Kinit, 
   146           double d1, 
double d2, 
double H, 
double t, 
double massDen = 0.0, 
double atm = 101.325e3);
   158     int revertToLastCommit(
void);
   162     const std::string &getType(
void) 
const;
   163     int getOrder(
void) 
const;
   175     void Print(std::ostream &, 
int flag =0) 
const;
   182     void setup(
const int &elastFlag= 2);
   185     double getRho(
void) 
const;
   186     void setRho(
const double &r);
   220     double getMTo(
void) 
const;
   221     void setMTo(
const double &);     
 Vector mState
state vector for output 
Definition: DruckerPrager.h:124
Vector mBeta_n1
backstress at step n+1 
Definition: DruckerPrager.h:106
Matrix mCep
elastoplastic tangent stiffness matrix 
Definition: DruckerPrager.h:119
Matrix mIIdev
4th Order Deviatoric Tensor 
Definition: DruckerPrager.h:122
double getKinematicHardeningH(void) const
Kinematic hardening. Get H. 
Definition: DruckerPrager.cpp:292
Float vector abstraction. 
Definition: Vector.h:94
double mrho_bar
nonassociative flow term (failure surface and associativity) 
Definition: DruckerPrager.h:88
double mG
shear modulus 
Definition: DruckerPrager.h:85
Matrix mCe
elastic tangent stiffness matrix 
Definition: DruckerPrager.h:118
Vector mBeta_n
backstress at step n, beta_np1_trial = beta_n 
Definition: DruckerPrager.h:105
void updateMaterialStage(int)
Update material stage. 
Definition: DruckerPrager.cpp:913
~DruckerPrager()
Destructor. 
Definition: DruckerPrager.cpp:120
double mAlpha1_n
alpha1_n 
Definition: DruckerPrager.h:110
void setKinematicHardeningH(const double &)
Kinematic hardening. Set H. 
Definition: DruckerPrager.cpp:295
Communication parameters between processes. 
Definition: Communicator.h:66
Base class response objects. 
Definition: Response.h:81
void setYieldStress(const double &)
set yield stress. 
Definition: DruckerPrager.cpp:253
double getYieldStress(void) const
get yield stress. 
Definition: DruckerPrager.cpp:249
void setFailureSurfaceRhoBar(const double &)
Failure surface and associativity. Set nonassociative flow term. 
Definition: DruckerPrager.cpp:269
void setShearModulus(const double &)
set shear modulus. 
Definition: DruckerPrager.cpp:237
int revertToStart(void)
Revert the material to its initial state. 
Definition: DruckerPrager.cpp:333
void Print(std::ostream &, int flag=0) const
Print stuff. 
Definition: DruckerPrager.cpp:1106
Vector mEpsilon_n_p
plastic strain vector at step n, trail e_p 
Definition: DruckerPrager.h:101
double getReferencePressure(void) const
get reference pressure. 
Definition: DruckerPrager.cpp:241
double mAlpha1_n1
alpha1_n+1 
Definition: DruckerPrager.h:111
double getBulkModulus(void) const
get bulk modulus. 
Definition: DruckerPrager.cpp:225
double mPatm
reference stress first invariant (pressure) 
Definition: DruckerPrager.h:83
int mElastFlag
Flag to determine elastic behavior 0 = elastic+no param update; 1 = elastic+param update; 2 = elastop...
Definition: DruckerPrager.h:115
double getFailureSurfaceRho(void) const
Failure surface and associativity. Get volumetric term. 
Definition: DruckerPrager.cpp:257
int sendSelf(Communicator &)
Send the object. 
Definition: DruckerPrager.cpp:970
double getIsotropicHardeningKo(void) const
Isotropic hardening. Get Ko. 
Definition: DruckerPrager.cpp:279
int updateParameter(int parameterID, Information &info)
Updates the parameter identified by parameterID with info. 
Definition: DruckerPrager.cpp:925
double msigma_y
yield stress 
Definition: DruckerPrager.h:86
Drucker-Prager material. 
Definition: DruckerPrager.h:76
void setTensionSofteningDelta(const double &)
Set tension softening delta. 
Definition: DruckerPrager.cpp:308
double massDen
density 
Definition: DruckerPrager.h:97
Vector mI1
2nd Order Identity Tensor 
Definition: DruckerPrager.h:120
double getMTo(void) const
Get mTo. 
Definition: DruckerPrager.cpp:312
Matrix mIIvol
IIvol = I1 tensor I1. 
Definition: DruckerPrager.h:121
const Vector & getInitialGeneralizedStrain(void) const
Return the initial strain. 
Definition: DruckerPrager.cpp:378
double mHard
isotropic hardening constant 
Definition: DruckerPrager.h:93
double mtheta
isotropic hardening constant 
Definition: DruckerPrager.h:94
Vector mEpsilon_n1_p
plastic strain vector at step n+1 
Definition: DruckerPrager.h:102
double mKref
reference Bulk Modulus 
Definition: DruckerPrager.h:81
void setFailureSurfaceRho(const double &)
Failure surface and associativity. Set volumetric term. 
Definition: DruckerPrager.cpp:261
double mAlpha2_n1
alpha2_n+1 
Definition: DruckerPrager.h:113
double mTo
initial tension cutoff strength 
Definition: DruckerPrager.h:95
double mrho
volumetric term (failure surface and associativity) 
Definition: DruckerPrager.h:87
double mdelta1
exponential hardening term for Drucker-Prager surface 
Definition: DruckerPrager.h:91
void setReferencePressure(const double &)
set reference pressure. 
Definition: DruckerPrager.cpp:245
void setMTo(const double &)
Set tension softening delta. 
Definition: DruckerPrager.cpp:315
double mdelta2
Tension softening. Exponential hardening term for tension cutoff surface. 
Definition: DruckerPrager.h:92
double mK
bulk modulus 
Definition: DruckerPrager.h:84
double getKinematicHardeningTheta(void) const
Kinematic hardening. Get theta. 
Definition: DruckerPrager.cpp:298
int commitState(void)
Commit the state of the material. 
Definition: DruckerPrager.cpp:319
double getIsotropicHardeningDelta(void) const
Isotropic hardening. Get delta1. 
Definition: DruckerPrager.cpp:285
const Vector & getState(void) const
Return vector of state variables for output. 
Definition: DruckerPrager.cpp:799
double getShearModulus(void) const
get shear modulus. 
Definition: DruckerPrager.cpp:233
void plastic_integrator(void)
Plasticity integration routine. 
Definition: DruckerPrager.cpp:394
double mGref
reference Shear Modulus 
Definition: DruckerPrager.h:82
int recvSelf(const Communicator &)
Receive the object. 
Definition: DruckerPrager.cpp:1036
void setIsotropicHardeningKo(const double &)
Isotropic hardening. Set Ko. 
Definition: DruckerPrager.cpp:282
double mKinf
nonlinear isotropic hardening term 
Definition: DruckerPrager.h:89
void setIsotropicHardeningDelta(const double &)
Isotropic hardening. Set delsta1. 
Definition: DruckerPrager.cpp:288
Base class for 2D and 3D materials. 
Definition: NDMaterial.h:101
int getMaterialStage(void) const
return the material stage (0:elastic 1:plastic). 
Definition: DruckerPrager.cpp:908
void setKinematicHardeningTheta(const double &)
Kinematic hardening. Set theta. 
Definition: DruckerPrager.cpp:301
NDMaterial * getCopy(void) const
Virtual constructor. 
Definition: DruckerPrager.cpp:348
double getIsotropicHardeningKinf(void) const
Isotropic hardening. Get Kinf. 
Definition: DruckerPrager.cpp:273
double getTensionSofteningDelta(void) const
Get tension softening delta. 
Definition: DruckerPrager.cpp:305
int setParameter(const std::vector< std::string > &, Parameter &)
Sets the value param to the parameter argv. 
Definition: DruckerPrager.cpp:861
int getResponse(int responseID, Information &matInformation)
Returns material response. 
Definition: DruckerPrager.cpp:838
Open source finite element program for structural analysis. 
Definition: ContinuaReprComponent.h:35
void setIsotropicHardeningKinf(const double &)
Isotropic hardening. Set Kinf. 
Definition: DruckerPrager.cpp:276
double mAlpha2_n
alpha2_n 
Definition: DruckerPrager.h:112
double getRho(void) const
get density. 
Definition: DruckerPrager.cpp:217
void setRho(const double &r)
set density. 
Definition: DruckerPrager.cpp:221
void setBulkModulus(const double &)
set bulk modulus. 
Definition: DruckerPrager.cpp:229
Matrix getValues(const std::string &, bool silent=false) const
Returns material response. 
Definition: DruckerPrager.cpp:805
Matrix of floats. 
Definition: Matrix.h:111
Parameter. 
Definition: Parameter.h:68
double getFailureSurfaceRhoBar(void) const
Failure surface and associativity. Get nonassociative flow term. 
Definition: DruckerPrager.cpp:265
void computeMTo(void)
Compute derived quantities. 
Definition: DruckerPrager.cpp:54
void setInitialGeneralizedStrain(const Vector &)
Sets the initial strain value. 
Definition: DruckerPrager.cpp:384
double mHprime
derivative of linear kinematic hardening term 
Definition: DruckerPrager.h:108
double mKo
nonlinear isotropic hardening term 
Definition: DruckerPrager.h:90