00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef _POLVM_H
00017 #define _POLVM_H
00018
00019 #include "cmodel.h"
00020
00021
00022
00023
00024
00025 class cPolarVonMises : public cConstModel
00026 {
00027 protected:
00028 double *_pEp;
00029 double *_pIteEp;
00030 double _dGamma;
00031 double _dIteGamma;
00032 double _dDeltaGamma;
00033 double *_pdFdSig;
00034 double **_pPMatrix;
00035 double _dJ2;
00036 int _iDimTensor;
00037
00038 public:
00039 cPolarVonMises ( cIntPt *, cMaterial * );
00040 ~cPolarVonMises ( void );
00041 void Init ( void );
00042 void Update ( void );
00043 int Stress ( double *, double * );
00044 void ModifyCMatrix ( double ** );
00045 int GetNumPrintScls ( void );
00046 void GetPrintSclLabs ( char ** );
00047 void GetPrintSclVals ( double *, double * );
00048
00049 private:
00050 double YieldFunction ( double * );
00051 void YieldGrad ( double * );
00052 };
00053
00054 #endif