00001 // ------------------------------------------------------------------------- 00002 // ShpBRICK8.h - this file contains methods for the 8-noded tri-linear 00003 // brick finite element shape. 00004 // ------------------------------------------------------------------------- 00005 // Remarks: 00006 // ------------------------------------------------------------------------- 00007 // The numbering scheme is: 00008 // 00009 // s 00010 // ^ 00011 // | (natural coord. system) 00012 // | 00013 // -----> r 00014 // / 00015 // / 00016 // t 00017 // 00018 // 8 00019 // +---------------+7 00020 // + +| 00021 // + + | 00022 // + + | 00023 // + + | 00024 // 4 + 3 + | 00025 // +---------------+ | 00026 // | | + 00027 // | | + 6 00028 // | | + 00029 // | | + 00030 // | | + 00031 // | |+ 00032 // +---------------+ 00033 // 1 2 00034 // 00035 // ------------------------------------------------------------------------- 00036 // 00037 // $Author: evandro $ 00038 // $Revision: 1.3 $ 00039 // $Date: 1999/04/12 14:58:25 $ 00040 // $State: Exp $ 00041 // 00042 // ------------------------------------------------------------------------- 00043 00044 #ifndef _SHPBRICK8_H 00045 #define _SHPBRICK8_H 00046 00047 #include "gbldefs.h" 00048 #include "shpsolid.h" 00049 00050 // ------------------------------------------------------------------------- 00051 // Brick8 (Finite) Element Shape class: 00052 // 00053 class cShapeBrick8 : public cSolidShape 00054 { 00055 public: 00056 cShapeBrick8 ( void ); 00057 virtual ~cShapeBrick8 ( void ); 00058 int GetMapOrder ( void ) { return 1; } 00059 void DerivMapRST ( sNatCoord *, sDerivNat * ); 00060 void DerivShpRST ( sNatCoord *, sDerivNat * ); 00061 int GetEdge ( int *, eShapeType *, int *, int * ); 00062 int GetFace ( int *, eShapeType *, int *, int * ); 00063 void MapFunc ( sNatCoord *, double * ); 00064 void ShapeFunc ( sNatCoord *, double * ); 00065 void GetNatCoordMapNode( sNatCoord * ); 00066 }; 00067 00068 #endif 00069