00001 #ifndef PlasticHardeningMaterial_h
00002 #define PlasticHardeningMaterial_h
00003
00004 #include <Material.h>
00005 class Information;
00006 class Response;
00007
00008 class PlasticHardeningMaterial : public Material
00009 {
00010 public:
00011 PlasticHardeningMaterial (int tag, int classTag);
00012 virtual ~PlasticHardeningMaterial();
00013
00014
00015
00016
00017 virtual int setTrialValue(double xVal, double factor);
00018 virtual int setTrialIncrValue(double dxVal);
00019 void setResidual(double res=1);
00020
00021 virtual int commitState ();
00022 virtual int revertToLastCommit (void);
00023 virtual int revertToStart (void);
00024
00025 virtual double getTrialPlasticStiffness()=0;
00026 double getTrialValue(void);
00027 virtual PlasticHardeningMaterial *getCopy (void) = 0;
00028
00029 virtual Response *setResponse (char **argv, int argc, Information &matInformation);
00030 virtual int getResponse (int responseID, Information &matInformation);
00031 virtual void Print(OPS_Stream &s, int flag =0);
00032
00033 virtual int sendSelf(int commitTag, Channel &theChannel){return -1;}
00034 virtual int recvSelf(int commitTag, Channel &theChannel,
00035 FEM_ObjectBroker &theBroker){return -1;}
00036
00037
00038 protected:
00039 double val_hist, val_trial;
00040 double residual, sFactor;
00041
00042 private:
00043 };
00044
00045
00046 #endif
00047