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 PressureDependent_Elastic_H
00035 #define PressureDependent_Elastic_H
00036
00037 #include "ElasticState.h"
00038 #include <math.h>
00039
00040
00041
00042
00043 class PressureDependent_Elastic : public ElasticState
00044 {
00045 public:
00046
00047 PressureDependent_Elastic(int E0_in,
00048 int v_in,
00049 int m_in,
00050 int p_ref_in,
00051 int k_cut_in,
00052 const stresstensor& initialStress = zerostress,
00053 const straintensor& initialStrain = zerostrain);
00054 ElasticState* newObj();
00055
00056 const BJtensor& getElasticStiffness(const MaterialParameter &MaterialParameter_in) const;
00057
00058 private:
00059
00060 double getE0(const MaterialParameter &MaterialParameter_in) const;
00061 double getv(const MaterialParameter &MaterialParameter_in) const;
00062 double getm(const MaterialParameter &MaterialParameter_in) const;
00063 double getp_ref(const MaterialParameter &MaterialParameter_in) const;
00064 double getk_cut(const MaterialParameter &MaterialParameter_in) const;
00065
00066 private:
00067
00068 int E0_index;
00069 int v_index;
00070 int m_index;
00071 int p_ref_index;
00072 int k_cut_index;
00073
00074 };
00075
00076 #endif
00077