00001 // ------------------------------------------------------------------------- 00002 // ShpQUA6B.h - this file contains methods for the 6-noded quadratic 00003 // quadrilateral finite element shape. This element is 00004 // linear in local "s" direction. "QUA6DB" means that 00005 // this element gives good results when modelling beam 00006 // behavior. 00007 // ------------------------------------------------------------------------- 00008 // Remarks: 00009 // ------------------------------------------------------------------------- 00010 // The numbering scheme is: 00011 // 00012 // s 00013 // ^ 00014 // | (natural coord. system) 00015 // | 00016 // -----> r 00017 // 00018 // 5 00019 // 6 +-------+-------+ 4 00020 // | | 00021 // | | 00022 // | | 00023 // | QUAD6B | 00024 // | | 00025 // | | 00026 // 1 +-------+-------+ 3 00027 // 2 00028 // ------------------------------------------------------------------------- 00029 // 00030 // $Author: evandro $ 00031 // $Revision: 1.3 $ 00032 // $Date: 1999/04/12 14:58:25 $ 00033 // $State: Exp $ 00034 // 00035 // ------------------------------------------------------------------------- 00036 00037 #ifndef _SHPQUAD6B_H 00038 #define _SHPQUAD6B_H 00039 00040 #include "gbldefs.h" 00041 #include "shpplane.h" 00042 00043 // ------------------------------------------------------------------------- 00044 // Quad6B (Finite) Element Shape class: 00045 // 00046 class cShapeQuad6B : public cPlaneShape 00047 { 00048 public: 00049 cShapeQuad6B ( void ); 00050 virtual ~cShapeQuad6B ( void ); 00051 int GetMapOrder ( void ) { return 1; } 00052 void MapFunc ( sNatCoord *, double * ); 00053 void ShapeFunc ( sNatCoord *, double * ); 00054 void DerivMapRST ( sNatCoord *, sDerivNat * ); 00055 void DerivShpRST ( sNatCoord *, sDerivNat * ); 00056 int GetEdge ( int *, eShapeType *, int *, int * ); 00057 int GetFace ( int *, eShapeType *, int *, int * ); 00058 void GetNatCoordMapNode( sNatCoord * ); 00059 }; 00060 00061 #endif