00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef _SOLID_H
00014 #define _SOLID_H
00015
00016 #include "anmodel.h"
00017
00018
00019
00020
00021 class cSolid : public cAnModel
00022 {
00023 protected:
00024 cEigenProblem *_pcEigen;
00025
00026 public:
00027 cSolid ( void );
00028 ~cSolid ( void );
00029 void CMatrix ( double, double *, double ** );
00030 void InvCMatrix ( double, double *, double ** );
00031 void DofGlobDir ( int [6] );
00032 void ThermalStrain ( double, double, double, double * );
00033 void MountBMatrix ( int, sNodeCoord*, dShapeVal*, sDerivCart*,
00034 double *, double**);
00035 void MountBlMatrix ( int, sNodeCoord *, dShapeVal *, sDerivCart *,
00036 double *, double ** );
00037 void MountBnlMatrix ( int, sNodeCoord *, dShapeVal *, sDerivCart *,
00038 double ** );
00039 void MountSMatrix ( sTensor *, double ** );
00040 void NodalDispl ( int, sNodeDispl*, double* );
00041 void PrincStress ( sTensor*, sPrincStr*, sPrincStrVec*, double* );
00042 void PrincStrain ( sTensor*, sPrincStr*, sPrincStrVec*, double* );
00043 void VecTensor ( double*, sTensor* );
00044 void TensorVec ( sTensor*, double* );
00045 void StrainTMatrix ( sPrincStrVec *, double ** );
00046 void ComplianceMatrix ( double **, double *, double * );
00047 void GetSclLabels ( char ** );
00048 int GetNumPrincVals ( void ) { return 4; }
00049 void GetPrincLabels ( char ** );
00050 void GetPrincVals ( sTensor *, double * );
00051 void DsaRigBodyVecs ( int, sNodeCoord *, sNodeCoord *, int *, int *,
00052 double **, double ** );
00053 void DsaRigBodyMat ( double ** );
00054 void DsaDerBlMatrix ( int, sNodeCoord *, double *, sDerivCart *,
00055 double *, sNodeCoord *, sDerivCart *, double ** );
00056 };
00057
00058 #endif
00059