00001 // ------------------------------------------------------------------------- 00002 // ElcAxShH.h - This header file contains data structure for axisymmetric 00003 // straight hermitian 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 Straigth Axisymmetric Shell Element. It is similar to a plane frame 00015 // element and can model straight axisymmetric shells (e.g. conical) 00016 // Reference: 00017 // Weaver & Johnston, "Finite Elements for Structural Analysis", p. 257 00018 // 00019 // ------------------------------------------------------------------------- 00020 00021 #ifndef _ELCAXSHH_H 00022 #define _ELCAXSHH_H 00023 00024 #include "gbldefs.h" 00025 #include "elcaxsh.h" 00026 00027 // ------------------------------------------------------------------------- 00028 // Definition of a Straight Axisymmetric Shell Element Class: 00029 00030 class cElcAxShHrmt : public cElcAxShell 00031 { 00032 protected: 00033 int _iNodei; // first node label 00034 int _iNodej; // second node label 00035 double _dLength; // Element Length 00036 double _dCos; // cosine of angle of element w.r.t. axis 00037 double _dSin; // sine of angle of element w.r.t. axis 00038 00039 public: 00040 cElcAxShHrmt ( eShapeType ); 00041 virtual ~cElcAxShHrmt ( void ); 00042 void CreateElement ( eShapeType ); 00043 void Stiffness ( double * ); 00044 void BMatrix ( double, double, double ** ); 00045 void CalcIntPtStress ( void ); 00046 int InternalForce ( double * ); 00047 00048 protected: 00049 void LocalStiffness ( double * ); 00050 00051 }; 00052 00053 #endif 00054