64 #ifndef ReinforcingSteel_h 65 #define ReinforcingSteel_h 66 #define HelpDebugMat //Debugging info, JFM 68 #include "UniaxialMaterial.h" 69 #include "UniaxialStateVars.h" 79 static const int LastRule_RS=20;
80 static const int vSize= LastRule_RS/2+1;
83 static int classCount;
93 mutable int theBarFailed;
122 std::vector<double> T_ePlastic;
123 std::vector<double> C_ePlastic;
132 mutable double BackStress;
156 std::vector<double> CR;
157 std::vector<double> Cfch;
158 std::vector<double> CQ;
159 std::vector<double> CEsec;
160 std::vector<double> Cea;
161 std::vector<double> Cfa;
162 std::vector<double> CEa;
163 std::vector<double> Ceb;
164 std::vector<double> Cfb;
165 std::vector<double> CEb;
168 mutable int TBranchNum;
196 double Backbone_f(
double ess)
const;
197 double Backbone_fNat(
double essp)
const;
198 double Backbone_E(
double ess)
const;
199 double Buckled_stress_Dhakal(
double ess,
double fss)
const;
200 double Buckled_stress_Gomes(
double ess,
double fss)
const;
201 double Buckled_mod_Gomes(
double ess,
double fss,
double Ess)
const;
202 double Buckled_mod_Dhakal(
double ess,
double fss,
double Ess)
const;
204 double inline MP_f(
double e)
const;
205 double inline MP_E(
double e)
const;
207 double MPfunc(
double a);
208 void inline SetTRp(
void);
209 void inline SetTRn(
void);
210 void inline SetTRp1(
void);
211 void inline SetTRn1(
void);
212 void SetPastCurve(
int branch);
214 int BranchDriver(
int res);
228 double inline damage(
double ehalfPlastic);
229 double inline getPlasticStrain(
double ehalf,
double stressAmp);
230 double scalefactor(
void)
const;
231 double inline ReturnSlope(
double dea);
232 void updateHardeningLoaction(
double PlasticStrain);
233 void updateHardeningLoactionParams(
void);
238 ReinforcingSteel(
int tag,
double fyield,
double fultimate,
double youngs,
double youngs_hard,
239 double estrainhard,
double eultimate,
int buckModel,
double slenderness,
double alpha,
double r,
240 double gama,
double Fatigue1,
double Fatigue2,
double Degrade1,
double RC1,
double RC2,
double RC3,
double A1,
double HardLim);
244 double getStrain(
void)
const;
247 double getInitialTangent(
void)
const;
249 int commitState(
void);
250 int revertToLastCommit(
void);
251 int revertToStart(
void);
258 void Print(std::ostream &s,
int flag =0);
UniaxialMaterial * getCopy(void) const
Virtual constructor.
Definition: ReinforcingSteel.cpp:396
int recvData(const CommParameters &cp)
Send object members through the channel being passed as parameter.
Definition: ReinforcingSteel.cpp:457
Base class for uniaxial materials.
Definition: UniaxialMaterial.h:92
int recvSelf(const CommParameters &)
Receives object through the channel being passed as parameter.
Definition: ReinforcingSteel.cpp:527
double getStress(void) const
Return the current value of stress.
Definition: ReinforcingSteel.cpp:223
??.
Definition: ReinforcingSteel.h:76
UniaxialStateVars stores values for material strain, stress and stiffness.
Definition: UniaxialStateVars.h:38
double getTangent(void) const
Return the current value of the tangent for the trial strain.
Definition: ReinforcingSteel.cpp:240
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:34
int setTrialStrain(double strain, double strainRate=0.0)
Sets the value of the trial strain.
Definition: ReinforcingSteel.cpp:180
Communication parameters between processes.
Definition: CommParameters.h:65
int sendData(CommParameters &cp)
Send object members through the channel being passed as parameter.
Definition: ReinforcingSteel.cpp:400
void Print(std::ostream &s, int flag=0)
Print stuff.
Definition: ReinforcingSteel.cpp:546
int sendSelf(CommParameters &)
Sends object through the channel being passed as parameter.
Definition: ReinforcingSteel.cpp:513