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
00027
00028
00029
00030
00032
00033
00034 #ifndef DM04_Elastic_H
00035 #define DM04_Elastic_H
00036
00037 #include "ElasticState.h"
00038 #include <math.h>
00039
00040
00041
00042
00043 class DM04_Elastic : public ElasticState
00044 {
00045 public:
00046
00047 DM04_Elastic(int G0_in,
00048 int v_in,
00049 int Pat_in,
00050 int k_c_in,
00051 int e0_in,
00052 const stresstensor& initialStress = zerostress,
00053 const straintensor& initialStrain = zerostrain);
00054
00055 ElasticState* newObj();
00056
00057 const BJtensor& getElasticStiffness (const MaterialParameter &MaterialParameter_in) const;
00058
00059 stresstensor getStress() const;
00060
00061 private:
00062
00063 double getG0(const MaterialParameter &MaterialParameter_in) const;
00064 double getv(const MaterialParameter &MaterialParameter_in) const;
00065 double getPat(const MaterialParameter &MaterialParameter_in) const;
00066 double getk_c(const MaterialParameter &MaterialParameter_in) const;
00067 double gete0(const MaterialParameter &MaterialParameter_in) const;
00068
00069 private:
00070
00071 int G0_index;
00072 int v_index;
00073 int Pat_index;
00074 int k_c_index;
00075 int e0_index;
00076 };
00077
00078 #endif
00079