00001 #ifndef MOHRCPARAB_H
00002 #define MOHRCPARAB_H
00003
00004 #include "iotools.h"
00005 #include "strretalg.h"
00006 struct matrix;
00007 struct vector;
00008 struct atsel;
00009
00010
00011
00012
00013
00014
00015 class mohrcoulombpar
00016 {
00017 public:
00018 mohrcoulombpar (void);
00019 ~mohrcoulombpar (void);
00020 void read (XFILE *in);
00021 double yieldfunction (matrix &sig);
00022 void deryieldfsigma (matrix &sig,matrix &dfds);
00023 void derplaspotsigma (matrix &sig,matrix &dfds);
00024 void matstiff (matrix &d,long ipp,long ido);
00025 void nlstresses (long ipp, long im, long ido);
00026 void nonloc_nlstresses (long ipp, long im, long ido);
00027 void giveirrstrains (long ipp, long ido, vector &epsp);
00028 void updateval (long ipp, long im, long ido);
00029 double give_consparam (long ipp, long ido);
00030 void changeparam (atsel &atm,vector &val);
00031
00032
00033 double phi;
00034
00035 double c;
00036
00037 double psi;
00038
00039
00040 double alphaphi;
00041
00042 double betaphi;
00043
00044 double sigcphi;
00045
00046 double alphapsi;
00047
00048 double betapsi;
00049
00050 double sigcpsi;
00051
00052
00053 strretalg sra;
00054 };
00055
00056 #endif
00057