00001 #ifndef MICROSIM_H
00002 #define MICROSIM_H
00003
00004 #include "iotools.h"
00005 #include "matrix.h"
00006 #include "vector.h"
00007 #include "intpoints.h"
00008
00009
00010
00011 class microSIM
00012 {
00013 public:
00014 microSIM (void);
00015 ~microSIM (void);
00016 void read (XFILE *in);
00017 void matstiff (matrix &d,long ipp, long ido);
00018 void nlstresses (long ipp, long ido);
00019 void updateval(long ipp, long im, long ido);
00020
00021
00022 long numberOfMicroplanes;
00023 double e,nu;
00024
00025 protected:
00026 vector microplaneWeights;
00027 matrix projN;
00028 vector kronecker;
00029 double k1,k2,k3,k4,c3,c20,c1,c2,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,mu,ev,ed,et;
00030 void initializeData (long numberOfMicroplanes );
00031 inline double macbra(double x);
00032 inline double FVplus(double epsV);
00033 inline double FVminus (double epsV);
00034 inline double FDminus(double epsD);
00035 inline double FDplus(double epsD);
00036 inline double FN(double epsN,double sigmaV);
00037 inline double maxim (double a,double b);
00038 inline double minim (double a,double b);
00039 };
00040
00041 #endif