00001 #ifndef GEOELASTMAT_H 00002 #define GEOELASTMAT_H 00003 00004 #include "iotools.h" 00005 #include "alias.h" 00006 struct matrix; 00007 struct vector; 00008 00009 00010 00011 /** 00012 Class geoelastmat defines elastic material model for geotechnical 00013 purposes. This material has different elastic modulus for loading 00014 and unloading. Loading is defined as decreasing of mean stress 00015 (i.e. increasing pressure) and unloading is defined as increasing 00016 of mean stress (i.e. decreasing pressure). 00017 00018 Created by Tomas Koudelka, 00019 */ 00020 class geoelastmat 00021 { 00022 public: 00023 geoelastmat (void); 00024 ~geoelastmat (void); 00025 void read (XFILE *in); 00026 00027 void matstiff (matrix &d, long ipp, long ido); 00028 void nlstresses (long ipp, long im, long ido); 00029 void updateval (long ipp, long im, long ido); 00030 00031 /// unloading modulus coefficient 00032 double keu; 00033 }; 00034 00035 #endif