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 ElasticIsotropicMaterial_h
00027 #define ElasticIsotropicMaterial_h
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042 #include <NDMaterial.h>
00043
00044 #include <Matrix.h>
00045 #include <Vector.h>
00046 #include <ID.h>
00047
00048 #include <Tensor.h>
00049
00060 class ElasticIsotropicMaterial : public NDMaterial
00061 {
00062 public:
00064 ElasticIsotropicMaterial (int tag, int classTag, double E, double nu, double rho = 0.0);
00065
00067 ElasticIsotropicMaterial (int tag, double E, double nu, double rho = 0.0);
00068
00070 ElasticIsotropicMaterial (void);
00071
00078 virtual ~ElasticIsotropicMaterial (void);
00079
00080
00082 virtual double getRho( ) ;
00083
00084
00086 virtual int setTrialStrain (const Vector &v);
00088 virtual int setTrialStrain (const Vector &v, const Vector &r);
00090 virtual int setTrialStrainIncr (const Vector &v);
00092 virtual int setTrialStrainIncr (const Vector &v, const Vector &r);
00094 virtual const Matrix &getTangent (void);
00096 virtual const Vector &getStress (void);
00098 virtual const Vector &getStrain (void);
00099
00101 int setTrialStrain (const Tensor &v);
00103 int setTrialStrain (const Tensor &v, const Tensor &r);
00105 int setTrialStrainIncr (const Tensor &v);
00107 int setTrialStrainIncr (const Tensor &v, const Tensor &r);
00109 const Tensor &getTangentTensor (void);
00111 const stresstensor getStressTensor (void);
00113 const Tensor &getStrainTensor (void);
00114
00115
00117 virtual int commitState (void);
00119 virtual int revertToLastCommit (void);
00121 virtual int revertToStart (void);
00122
00123
00125
00126
00127
00129
00130
00132 virtual const char *getType (void) const;
00133
00135 virtual int getOrder (void) const;
00136
00138 virtual int sendSelf(int commitTag, Channel &theChannel);
00140 virtual int recvSelf(int commitTag, Channel &theChannel,
00141 FEM_ObjectBroker &theBroker);
00142
00144 void Print(ostream &s, int flag = 0);
00145
00147 virtual int setParameter(char **argv, int argc, Information &info);
00149 virtual int updateParameter(int parameterID, Information &info);
00150
00151 protected:
00153 double E;
00154 double v;
00155 double rho ;
00156
00157 private:
00158 };
00159
00160
00161 #endif