39 #ifndef PressureIndependMultiYield_h 40 #define PressureIndependMultiYield_h 42 #include "PressureMultiYieldBase.h" 54 mutable double refShearModulus;
55 mutable double refBulkModulus;
57 void setupLocalMembers(
int nd,
double r,
double refShearModul,
double refBulkModul,
double cohesi,
double peakShearStra,
double frictionAng,
double refPress,
double pressDependCoe,
int numberOfYieldSurf,
const std::vector<double> &gredu);
59 void elast2Plast(
void)
const;
61 void setUpSurfaces(
const std::vector<double> &);
63 double yieldFunc(
const T2Vector & stress,
const std::vector<MultiYieldSurface> &,
int surface_num)
const;
65 void deviatorScaling(
T2Vector &,
const std::vector<MultiYieldSurface> &,
int,
int count=0)
const;
67 void initSurfaceUpdate(
void)
const;
69 void paramScaling(
void)
const;
72 int setSubStrainRate(
void)
const;
74 int isLoadReversal(
void)
const;
75 void getContactStress(
T2Vector &)
const;
77 void setTrialStress(
const T2Vector &stress)
const;
78 double getLoadingFunc(
const T2Vector & contact,
const Vector & surfaceNormal,
int crossedSurface)
const;
80 void stressCorrection(
int crossedSurface)
const;
82 void updateActiveSurface(
void)
const;
84 void updateInnerSurface(
void)
const;
87 int isCrossingNextSurface(
void)
const;
100 double frictionAng = 0.,
101 double refPress = 100,
102 double pressDependCoe = 0.0,
103 int numberOfYieldSurf = 20,
104 const std::vector<double> &gredu= std::vector<double>());
108 void setup(
int nd,
double r,
double refShearModul,
double refBulkModul,
double cohesi,
double peakShearStra,
double frictionAng,
double refPress,
double pressDependCoe,
int numberOfYieldSurf,
const std::vector<double> &gredu);
109 void setupPy(
const boost::python::dict &);
111 inline double getRefShearModulus(
void)
const 112 {
return refShearModulus; }
113 inline void setRefShearModulus(
const double &d)
114 { refShearModulus= d; }
116 inline double getRefBulkModulus(
void)
const 117 {
return refBulkModulus; }
118 inline void setRefBulkModulus(
const double &d)
119 { refBulkModulus= d; }
134 void getBackbone(
Matrix &);
139 const Vector &getCommittedStress(
void)
const;
140 const Vector &getCommittedStrain(
void)
const;
147 int revertToLastCommit(
void);
158 const std::string &getType(
void)
const ;
161 int getOrder(
void)
const ;
168 void Print(std::ostream &s,
int flag =0)
const;
Float vector abstraction.
Definition: Vector.h:94
Communication parameters between processes.
Definition: Communicator.h:66
Base class response objects.
Definition: Response.h:81
const Vector & getStrain(void) const
Returns strain.
Definition: PressureIndependMultiYield.cpp:395
const Vector & getStress(void) const
Returns the material stress vector at the current trial strain.
Definition: PressureIndependMultiYield.cpp:337
NDMaterial * getCopy(void) const
Virtual constructor.
Definition: PressureIndependMultiYield.cpp:430
void Print(std::ostream &s, int flag=0) const
Print stuff.
Definition: PressureIndependMultiYield.cpp:635
Uniaxial p-y material that incorporates liquefaction effects.
Definition: PyLiq1.h:61
int setTrialStrainIncr(const Vector &v)
Set trial strain increment.
Definition: PressureIndependMultiYield.cpp:205
??.
Definition: PressureIndependMultiYield.h:50
void setupPy(const boost::python::dict &)
Python version of the setup method.
Definition: PressureIndependMultiYield.cpp:100
Uniaxial t-z material that incorporates liquefaction effects.
Definition: TzLiq1.h:61
int updateParameter(int responseID, Information &eleInformation)
Updates the parameter identified by parameterID with info.
Definition: PressureIndependMultiYield.cpp:458
int sendData(Communicator &)
Send object members through the communicator argument.
Definition: PressureIndependMultiYield.cpp:490
int recvSelf(const Communicator &)
Receives object through the communicator argument.
Definition: PressureIndependMultiYield.cpp:521
int sendSelf(Communicator &)
Sends object through the communicator argument.
Definition: PressureIndependMultiYield.cpp:506
Base class for 2D and 3D materials.
Definition: NDMaterial.h:101
int recvData(const Communicator &)
Receives object members through the communicator argument.
Definition: PressureIndependMultiYield.cpp:498
const Matrix & getTangent(void) const
Return the material tangent stiffness.
Definition: PressureIndependMultiYield.cpp:236
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:35
int getResponse(int responseID, Information &matInformation)
Returns material response.
Definition: PressureIndependMultiYield.cpp:564
Matrix of floats.
Definition: Matrix.h:111
Second order tensor vector class.
Definition: T2Vector.h:65
const Matrix & getInitialTangent(void) const
Return the material initial stiffness.
Definition: PressureIndependMultiYield.cpp:307
int setTrialStrain(const Vector &strain)
Sets the value of the trial strain vector, that value used by {getStress()} and getTangent(), to be strain.
Definition: PressureIndependMultiYield.cpp:168
??.
Definition: PressureMultiYieldBase.h:44
int commitState(void)
Commit the state of the material.
Definition: PressureIndependMultiYield.cpp:400
int revertToStart(void)
Revert the material to its initial state.
Definition: PressureIndependMultiYield.h:149