45 #ifndef PressureDependMultiYield02_h 46 #define PressureDependMultiYield02_h 48 #include "material/nD/soil/PressureDependMultiYieldBase.h" 52 class MultiYieldSurface;
61 static std::vector<double> contractParam2x;
62 static std::vector<double> contractParam3x;
63 static std::vector<double> dilateParam3x;
65 mutable double damage;
69 mutable Vector PivotStrainRate;
70 Vector PivotStrainRateCommitted;
73 void setUpSurfaces(
const std::vector<double> &);
74 void initStrainUpdate(
void);
75 void setupLocalMembers(
int nd,
82 double pressDependCoe,
83 double phaseTransformAngle,
84 double contractionParam1,
85 double contractionParam3,
86 double dilationParam1,
87 double dilationParam3,
88 int numberOfYieldSurf,
89 const std::vector<double> &gredu,
90 double contractionParam2,
91 double dilationParam2,
92 double liquefactionParam1,
93 double liquefactionParam2,
104 int isCriticalState(
const T2Vector & stress)
const;
105 void updatePPZ(
const T2Vector & stress)
const;
106 void PPZTranslation(
const T2Vector & contactStress)
const;
107 double getPPZLimits(
int which,
const T2Vector &)
const;
110 int stressCorrection(
int crossedSurface)
const;
119 double refShearModul,
122 double peakShearStra,
124 double pressDependCoe,
125 double phaseTransformAngle,
126 double contractionParam1,
127 double contractionParam3,
128 double dilationParam1,
129 double dilationParam3,
130 int numberOfYieldSurf = 20,
131 const std::vector<double> &gredu= std::vector<double>(),
132 double contractionParam2 = 5.,
133 double dilationParam2 = 3.,
134 double liquefactionParam1 = 1. ,
135 double liquefactionParam2 = 0. ,
137 double volLimit1 = 0.9,
138 double volLimit2 = 0.02,
139 double volLimit3 = 0.7,
154 double refShearModul,
157 double peakShearStra,
159 double pressDependCoe,
160 double phaseTransformAngle,
161 double contractionParam1,
162 double contractionParam3,
163 double dilationParam1,
164 double dilationParam3,
165 int numberOfYieldSurf,
166 const std::vector<double> &gredu,
167 double contractionParam2,
168 double dilationParam2,
169 double liquefactionParam1,
170 double liquefactionParam2,
180 void setupPy(
const boost::python::dict &);
201 const std::string &getType(
void)
const ;
205 void Print(std::ostream &s,
int flag =0)
const;
void Print(std::ostream &s, int flag=0) const
Print stuff.
Definition: PressureDependMultiYield02.cpp:597
Float vector abstraction.
Definition: Vector.h:94
const Vector & getStress(void) const
Returns the material stress vector at the current trial strain.
Definition: PressureDependMultiYield02.cpp:420
int recvData(const Communicator &)
Receives object members through the communicator argument.
Definition: PressureDependMultiYield02.cpp:555
Communication parameters between processes.
Definition: Communicator.h:66
NDMaterial * getCopy(void) const
Virtual constructor.
Definition: PressureDependMultiYield02.cpp:524
int sendSelf(Communicator &)
Send the object.
Definition: PressureDependMultiYield02.cpp:565
int setTrialStrain(const Tensor &v, const Tensor &r)
Set trial strain value.
Definition: PressureDependMultiYield02.h:190
Uniaxial p-y material that incorporates liquefaction effects.
Definition: PyLiq1.h:61
int sendData(Communicator &)
Send object members through the communicator argument.
Definition: PressureDependMultiYield02.cpp:544
int recvSelf(const Communicator &)
Receive the object.
Definition: PressureDependMultiYield02.cpp:579
int setTrialStrain(const Tensor &v)
Set trial strain value.
Definition: PressureDependMultiYield02.h:189
Uniaxial t-z material that incorporates liquefaction effects.
Definition: TzLiq1.h:61
void setupPy(const boost::python::dict &)
Python version of the setup method.
Definition: PressureDependMultiYield02.cpp:226
??.
Definition: PressureDependMultiYieldBase.h:44
Base class for 2D and 3D materials.
Definition: NDMaterial.h:101
const Matrix & getTangent(void) const
Return the material tangent stiffness.
Definition: PressureDependMultiYield02.cpp:297
int setTrialStrainIncr(const Tensor &v, const Tensor &r)
Set trial strain increment.
Definition: PressureDependMultiYield02.h:192
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:35
Matrix of floats.
Definition: Matrix.h:111
Second order tensor vector class.
Definition: T2Vector.h:65
int setTrialStrainIncr(const Tensor &v)
Set trial strain increment.
Definition: PressureDependMultiYield02.h:191
const Vector & getCommittedStress(void)
Returns committed stresses.
Definition: PressureDependMultiYield02.cpp:603
PressureDependMultiYield materials are elastic-plastic materials for simulating the essential respons...
Definition: PressureDependMultiYield02.h:57