00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef _DRUCKERPRAGER_H
00015 #define _DRUCKERPRAGER_H
00016
00017 #include "cmodel.h"
00018 #include "elasplas.h"
00019
00020
00021
00022
00023 class cDruckerPrager : public cElastoPlastic
00024 {
00025 protected:
00026 double *_Ep, *_IteEp;
00027
00028 public:
00029 cDruckerPrager ( cIntPt *, cMaterial * );
00030 ~cDruckerPrager ( void );
00031 void Init ( void );
00032 void Update ( void );
00033 void GetPlasticVar ( double *, double * );
00034 void SetPlasticVar ( double *, double * );
00035 void InternalVar ( double *, double * ) { }
00036 void PlasticModuli ( double *, double ** ) { }
00037 double YieldFunction ( double *, double * );
00038 void YieldGrad ( double *, double *, double *, double * );
00039 int GetNumPrintScls( void );
00040 void GetPrintSclLabs( char ** );
00041 void GetPrintSclVals( double *, double * );
00042
00043 private:
00044 void GetMatData ( double *, double * );
00045 };
00046
00047 #endif