00001 #ifndef HARDSOFT_H 00002 #define HARDSOFT_H 00003 00004 #include "iotools.h" 00005 #include "alias.h" 00006 struct matrix; 00007 struct vector; 00008 struct atsel; 00009 00010 /** 00011 class defines type of hardening/softening 00012 00013 JK, 8.8.2005 00014 */ 00015 00016 class hardsoft 00017 { 00018 public: 00019 hardsoft (); 00020 ~hardsoft (); 00021 00022 void read (XFILE *in); 00023 00024 void hvalues (matrix &sigt,matrix &dgds,vector &h); 00025 void dhdsigma (matrix &sigt,matrix &dgds,matrix &dgdsds,matrix &dhds); 00026 void dhdqpar (matrix &sigt,matrix &dgds,matrix &dgdsdq,matrix &dhdq); 00027 void dhdgamma (vector &dhdg); 00028 00029 void changeparam (atsel &atm,vector &val); 00030 00031 00032 /// type of hardening/softening 00033 hardensoften ths; 00034 /// input variable to hardening/softening 00035 hsinputvar ivhs; 00036 00037 /// limit for norm of plastic strain 00038 double epspu; 00039 /// limit for norm of plastic strain in tension 00040 double epsput; 00041 /// limit for norm of plastic strain in compression 00042 double epspuc; 00043 00044 /// computer zero 00045 double zero; 00046 00047 }; 00048 00049 #endif