00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef _FEMMECH_H
00014 #define _FEMMECH_H
00015
00016 #include "fem.h"
00017 #include "gbldefs.h"
00018
00019
00020
00021
00022 class cVector;
00023 class cSysMatrix;
00024
00025
00026
00027
00028 class cFemMech : public cFem
00029 {
00030 protected:
00031 sTensor *_psNodalStrTensor;
00032 public:
00033 cFemMech ( void );
00034 virtual ~cFemMech ( void );
00035 virtual void InitValues ( void );
00036 virtual void Profile ( void );
00037 virtual void CompEqs ( void );
00038 virtual void PrscDispVector ( int *, double * );
00039 virtual void ExtLoadVector ( cVector & );
00040 virtual void RefLoadVector ( cVector & );
00041 virtual int IntForceVector ( cVector & );
00042 virtual void StiffnessMatrix ( cSysMatrix * );
00043 virtual void GeoStiffnessMatrix ( cSysMatrix * );
00044 virtual void PrintResult ( double );
00045 virtual void CalcDSA ( double, cSysMatrix * );
00046 virtual void CalcDSA ( double, cSysMatrix *, cVector & );
00047 virtual void CalcDSA ( double, cSysMatrix *, cVector &,
00048 cVector & );
00049 virtual void CalcError ( void );
00050 virtual void CalcStress ( void );
00051 virtual void CalcSuppReac ( double );
00052 virtual int GetNumStrainEq ( void );
00053 virtual void AssemblyStrainVector( double *, double *, double * );
00054
00055 protected:
00056 int AddPrintVector ( int, char **, int, char ** );
00057 void GetPrintIndex ( int, char **, int, char **, int * );
00058 void PrintDisplacements ( void );
00059 void PrintSuppReac ( void );
00060 void PrintElementScalar ( void );
00061 void PrintNodalScalar ( void );
00062 void PrintElmNodalScalar ( void );
00063 void PrintIntPtScalar ( void );
00064 };
00065
00066 #endif
00067