29 #ifndef PressureDependMultiYieldBase_h 30 #define PressureDependMultiYieldBase_h 32 #include "PressureMultiYieldBase.h" 38 class MultiYieldSurface;
47 static double* refShearModulusx;
48 static double* refBulkModulusx;
49 static double* phaseTransfAnglex;
50 static double* contractParam1x;
51 static double* dilateParam1x;
52 static double* dilateParam2x;
53 static double* einitx;
54 static double* liquefyParam1x;
55 static double* liquefyParam2x;
56 static double* volLimit1x;
57 static double* volLimit2x;
58 static double* volLimit3x;
65 mutable double modulusFactor;
66 mutable double initPress;
68 mutable double pressureD;
69 double pressureDCommitted;
73 mutable double PPZSize;
74 double PPZSizeCommitted;
75 mutable double cumuDilateStrainOcta;
76 mutable double maxCumuDilateStrainOcta;
77 mutable double cumuTranslateStrainOcta;
78 mutable double prePPZStrainOcta;
79 mutable double oppoPrePPZStrainOcta;
84 double cumuDilateStrainOctaCommitted;
85 double maxCumuDilateStrainOctaCommitted;
86 double cumuTranslateStrainOctaCommitted;
87 double prePPZStrainOctaCommitted;
88 double oppoPrePPZStrainOctaCommitted;
96 void elast2Plast(
void)
const;
98 double yieldFunc(
const T2Vector & stress,
const std::vector<MultiYieldSurface> &surfaces,
int surface_num)
const;
99 void deviatorScaling(
T2Vector & stress,
const std::vector<MultiYieldSurface> &surfaces,
int surfaceNum)
const;
100 void initSurfaceUpdate(
void)
const;
103 int setSubStrainRate(
void)
const;
104 int isLoadReversal(
const T2Vector &)
const;
105 void getContactStress(
T2Vector &contactStress)
const;
107 double getModulusFactor(
const T2Vector &stress)
const;
108 void setTrialStress(
const T2Vector &stress)
const;
109 double getLoadingFunc(
const T2Vector & contact,
const T2Vector & surfaceNormal,
110 double plasticPotential,
int crossedSurface)
const;
112 void updateActiveSurface(
void)
const;
113 void updateInnerSurface(
void)
const;
116 int isCrossingNextSurface(
void)
const;
125 double refShearModul,
128 double peakShearStra,
130 double pressDependCoe,
131 double phaseTransformAngle,
132 double contractionParam1,
133 double dilationParam1,
134 double dilationParam2,
135 double liquefactionParam1,
136 double liquefactionParam2,
137 double liquefactionParam4,
138 int numberOfYieldSurf = 20,
141 double volLimit1 = 0.9,
142 double volLimit2 = 0.02,
143 double volLimit3 = 0.7,
154 double getRho(
void)
const 155 {
return rhox[matN];} ;
167 const Matrix &getInitialTangent(
void);
169 void getBackbone(
Matrix &);
172 const Vector &getStrain (
void);
183 int commitState(
void);
186 int revertToLastCommit (
void);
188 int revertToStart(
void) {
return 0;}
191 int getOrder(
void)
const;
197 void Print(std::ostream &s,
int flag =0);
int sendSelf(CommParameters &)
Sends object through the channel being passed as parameter.
Definition: PressureDependMultiYieldBase.cc:489
int getResponse(int responseID, Information &matInformation)
Returns material response.
Definition: PressureDependMultiYieldBase.cc:588
Float vector abstraction.
Definition: Vector.h:93
Definition: Response.h:71
const Vector & getCommittedStress(void)
Returns commited stresses.
Definition: PressureDependMultiYieldBase.cc:621
int updateParameter(int responseID, Information &eleInformation)
Updates the parameter identified by parameterID with info.
Definition: PressureDependMultiYieldBase.cc:437
int setTrialStrainIncr(const Vector &v)
Set trial strain increment.
Definition: PressureDependMultiYieldBase.cc:298
int sendData(CommParameters &)
Send object members through the channel being passed as parameter.
Definition: PressureDependMultiYieldBase.cc:451
void Print(std::ostream &s, int flag=0)
Print stuff.
Definition: PressureDependMultiYieldBase.cc:615
const Vector & getCommittedStrain(void)
Returns commited strains.
Definition: PressureDependMultiYieldBase.cc:663
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:264
int setTrialStrainIncr(const Tensor &v)
Set trial strain increment.
Definition: PressureDependMultiYieldBase.h:178
??.
Definition: PressureDependMultiYieldBase.h:43
int setTrialStrain(const Tensor &v)
Set trial strain value.
Definition: PressureDependMultiYieldBase.h:176
int recvData(const CommParameters &)
Receives object members through the channel being passed as parameter.
Definition: PressureDependMultiYieldBase.cc:470
int recvSelf(const CommParameters &)
Receives object through the channel being passed as parameter.
Definition: PressureDependMultiYieldBase.cc:504
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:34
Communication parameters between processes.
Definition: CommParameters.h:65
Matrix of floats.
Definition: Matrix.h:108
Tensor de segundo orden.
Definition: T2Vector.h:67
??.
Definition: PressureMultiYieldBase.h:43