00001 #ifndef GRAPHMAT_H 00002 #define GRAPHMAT_H 00003 00004 #include "iotools.h" 00005 #include "alias.h" 00006 00007 struct matrix; 00008 class Equation; 00009 class tablefunct; 00010 00011 00012 /** 00013 The class defines special type of material model which is 00014 used for the spring support with nonlinear stiffness. The 00015 constitutive equation is described with force/displacement 00016 diagram. The diagram can be given by the table or by the 00017 expression written to the string which is parsed. The several 00018 equations for the different ranges can be given. 00019 */ 00020 class graphmat 00021 { 00022 public : 00023 graphmat(void); 00024 ~graphmat(void); 00025 long read (XFILE *in); 00026 void matstiff (matrix &d,long ipp); 00027 void nlstresses (long ipp); 00028 00029 /// type of graph 00030 graphtype gt; 00031 /// number of function 00032 long numf; 00033 /// stiffness for linear elastic material 00034 double k; 00035 /// array of functions of graph (displacement-force graph) 00036 Equation **eq; 00037 /// array of functions of graph (displacement-stiffness graph) 00038 Equation **deq; 00039 /// array of limit values for each function 00040 double *limval; 00041 /// table of values of graph 00042 tablefunct *tab; 00043 }; 00044 00045 #endif