00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef HardeningMaterial_h
00027 #define HardeningMaterial_h
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043 #include <UniaxialMaterial.h>
00044
00046 class HardeningMaterial : public UniaxialMaterial
00047 {
00048 public:
00050 HardeningMaterial(int tag, double E, double sigmaY, double K, double H);
00052 HardeningMaterial();
00054 ~HardeningMaterial();
00055
00057 int setTrialStrain(double strain, double strainRate = 0.0);
00059 double getStrain(void);
00061 double getStress(void);
00063 double getTangent(void);
00065 double getSecant (void);
00066
00068 int commitState(void);
00070 int revertToLastCommit(void);
00072 int revertToStart(void);
00073
00075 UniaxialMaterial *getCopy(void);
00076
00078 int sendSelf(int commitTag, Channel &theChannel);
00080 int recvSelf(int commitTag, Channel &theChannel,
00081 FEM_ObjectBroker &theBroker);
00082
00084 void Print(ostream &s, int flag =0);
00085
00086 protected:
00087
00088 private:
00090 double E;
00091 double sigmaY;
00092 double K;
00093 double H;
00094
00096 double Tstrain;
00097 double Tstress;
00098 double Ttangent;
00099 double TplasticStrain;
00100 double TbackStress;
00101 double Thardening;
00102
00104 double Cstrain;
00105 double CplasticStrain;
00106 double CbackStress;
00107 double Chardening;
00108 };
00109
00110
00111 #endif
00112
00113 ÿ