65 #ifndef ReinforcingSteel_h 66 #define ReinforcingSteel_h 67 #define HelpDebugMat //Debugging info, JFM 69 #include "UniaxialMaterial.h" 70 #include "UniaxialStateVars.h" 83 static const int LastRule_RS=20;
84 static const int vSize= LastRule_RS/2+1;
87 static int classCount;
97 mutable int theBarFailed;
126 std::vector<double> T_ePlastic;
127 std::vector<double> C_ePlastic;
136 mutable double BackStress;
160 std::vector<double> CR;
161 std::vector<double> Cfch;
162 std::vector<double> CQ;
163 std::vector<double> CEsec;
164 std::vector<double> Cea;
165 std::vector<double> Cfa;
166 std::vector<double> CEa;
167 std::vector<double> Ceb;
168 std::vector<double> Cfb;
169 std::vector<double> CEb;
172 mutable int TBranchNum;
200 double Backbone_f(
double ess)
const;
201 double Backbone_fNat(
double essp)
const;
202 double Backbone_E(
double ess)
const;
203 double Buckled_stress_Dhakal(
double ess,
double fss)
const;
204 double Buckled_stress_Gomes(
double ess,
double fss)
const;
205 double Buckled_mod_Gomes(
double ess,
double fss,
double Ess)
const;
206 double Buckled_mod_Dhakal(
double ess,
double fss,
double Ess)
const;
208 double inline MP_f(
double e)
const;
209 double inline MP_E(
double e)
const;
211 double MPfunc(
double a);
212 void inline SetTRp(
void);
213 void inline SetTRn(
void);
214 void inline SetTRp1(
void);
215 void inline SetTRn1(
void);
216 void SetPastCurve(
int branch);
218 int BranchDriver(
int res);
232 double inline damage(
double ehalfPlastic);
233 double inline getPlasticStrain(
double ehalf,
double stressAmp);
234 double scalefactor(
void)
const;
235 double inline ReturnSlope(
double dea);
236 void updateHardeningLoaction(
double PlasticStrain);
237 void updateHardeningLoactionParams(
void);
242 ReinforcingSteel(
int tag,
double fyield,
double fultimate,
double youngs,
double youngs_hard,
243 double estrainhard,
double eultimate,
int buckModel,
double slenderness,
double alpha,
double r,
244 double gama,
double Fatigue1,
double Fatigue2,
double Degrade1,
double RC1,
double RC2,
double RC3,
double A1,
double HardLim);
248 double getStrain(
void)
const;
253 int commitState(
void);
254 int revertToLastCommit(
void);
262 void Print(std::ostream &s,
int flag =0)
const;
UniaxialMaterial * getCopy(void) const
Virtual constructor.
Definition: ReinforcingSteel.cpp:401
Communication parameters between processes.
Definition: Communicator.h:66
int recvSelf(const Communicator &)
Receives object through the communicator argument.
Definition: ReinforcingSteel.cpp:532
int sendSelf(Communicator &)
Sends object through the communicator argument.
Definition: ReinforcingSteel.cpp:518
Base class for uniaxial materials.
Definition: UniaxialMaterial.h:93
int recvData(const Communicator &comm)
Send object members through the communicator argument.
Definition: ReinforcingSteel.cpp:462
int revertToStart(void)
Revert the material to its initial state.
Definition: ReinforcingSteel.cpp:336
int sendData(Communicator &comm)
Send object members through the communicator argument.
Definition: ReinforcingSteel.cpp:405
double getStress(void) const
Return the current value of stress.
Definition: ReinforcingSteel.cpp:223
Reinforcing steel uniaxial material.
Definition: ReinforcingSteel.h:80
UniaxialStateVars stores values for material strain, stress and stiffness.
Definition: UniaxialStateVars.h:39
double getTangent(void) const
Return the material tangent stiffness.
Definition: ReinforcingSteel.cpp:241
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:35
int setTrialStrain(double strain, double strainRate=0.0)
Sets the value of the trial strain.
Definition: ReinforcingSteel.cpp:180
void Print(std::ostream &s, int flag=0) const
Print stuff.
Definition: ReinforcingSteel.cpp:551
double getInitialTangent(void) const
Return the material initial stiffness.
Definition: ReinforcingSteel.cpp:259