00001 // ------------------------------------------------------------------------- 00002 // ElcASP2D.h - This header file contains data structure for axisymmetric 00003 // parametric degenerated shell finite element. 00004 // ------------------------------------------------------------------------- 00005 // 00006 // $Author: joaquim $ 00007 // $Revision: 1.1 $ 00008 // $Date: 1998/02/16 20:21:11 $ 00009 // $State: Exp $ 00010 // 00011 // ------------------------------------------------------------------------- 00012 // Description: 00013 // This file contains the data structure necessary to implement 00014 // the Parametric Degenerated Axisymmetric Shell Element. The 00015 // integrations along the thickness are not made prior to the 00016 // assemblage procedures, so that a 2-dimensional integration 00017 // scheme must be used. 00018 // 00019 // Reference: 00020 // Weaver & Johnston, "Finite Elements for Structural Analysis", p. 257 00021 // Remarks: 00022 // 00023 // 00024 // ------------------------------------------------------------------------- 00025 00026 #ifndef _ELCASP2D_H 00027 #define _ELCASP2D_H 00028 00029 #include "gbldefs.h" 00030 #include "element.h" 00031 #include "elcaxsh.h" 00032 00033 // ------------------------------------------------------------------------- 00034 // Definition of a Parametric Axisymmetric 2D Shell Element Class: 00035 00036 class cElcAxShPar2D : public cElcAxShell 00037 { 00038 protected: 00039 sVector *_sTgVec; // tangent unitary vectors at nodes 00040 double *_dNodThick; // nodal thicknesses 00041 00042 public: 00043 cElcAxShPar2D ( eShapeType ); 00044 virtual ~cElcAxShPar2D ( void ); 00045 void CreateElement ( eShapeType ); 00046 void Stiffness ( double * ); 00047 void CalcIntPtStress ( void ); 00048 int InternalForce ( double * ); 00049 00050 protected: 00051 void BMatrix ( sNatCoord *, double **, 00052 double *, sDerivNat *, 00053 double, double ** ); 00054 void TMatrix ( sVector, double ** ); 00055 00056 }; 00057 00058 #endif 00059