00001 #ifndef EFFSTRESS_H 00002 #define EFFSTRESS_H 00003 00004 #include <stdio.h> 00005 #include "alias.h" 00006 struct matrix; 00007 struct vectror; 00008 struct XFILE; 00009 00010 /** 00011 This class defines artificial material model which combines 00012 a damage/(visco)plastictiy/elasticity models with the concept 00013 of effective stresses. It can be used also for other types of 00014 'pore' pressures like a crystallisation pressure of water, slat, etc. 00015 00016 Order of internal variables in the other array : 00017 ----------------------------------------------- 00018 The model has no internal variables and the order of eqother array 00019 is given by the used damage/plasticty models 00020 00021 19.9.2012 00022 */ 00023 class effstress 00024 { 00025 public: 00026 effstress (void); 00027 ~effstress (void); 00028 00029 /// reading of parameters from file 00030 void read(XFILE *in); 00031 00032 /// computation of nonlinera stresses 00033 void nlstresses (long ipp, long im, long ido); 00034 00035 /// initializes mechmat::nonmechq array by constant value of pore pressure 00036 void initvalues(long ipp); 00037 00038 /// marks required non-mechanical quantities 00039 void give_reqnmq(long *anmq); 00040 00041 pore_press_comp ppct; /// type of pore pressure computation 00042 double ppv; /// pore pressure value assumed for whole problem solved 00043 }; 00044 00045 #endif