00001 // ------------------------------------------------------------------------- 00002 // ShpWedge6.h - this file contains methods for the 6-noded linear 00003 // wedge solid finite element shape. 00004 // ------------------------------------------------------------------------- 00005 // Remarks: 00006 // ------------------------------------------------------------------------- 00007 // 00008 // The nodes are numbered according to the following rule : 00009 // 1. first the nodes of face t=1 are numbered, then the nodes 00010 // of plane t=0 and finally the nodes of face t=-1. 00011 // (t is parallel to the axis of the prism) 00012 // 2. the nodes in each plane are numbered starting from the node 00013 // with natural triangular coordinate L1 = 1, then the edge 00014 // nodes are numbered counterclockwise around the t-axis. 00015 // 00016 // Numbering scheme is: 00017 // 00018 // 3+-----------------------+2 00019 // |\_ _/| 00020 // | \_ _/ | 00021 // | \_ _/ | 00022 // | \_ _/ | 00023 // | \_ _/ | 00024 // | \ / | 00025 // | +1 | 00026 // | | | 00027 // | | | 00028 // | | | 00029 // | | | 00030 // | | | 00031 // | | | 00032 // | | | 00033 // | | | 00034 // | | | 00035 // | | | 00036 // | | | 00037 // 6+ . . . . . | . . . . . +5 00038 // \_ | _/ 00039 // \_ | _/ 00040 // \_ | _/ 00041 // \_ | _/ 00042 // \_ | _/ 00043 // \|/ 00044 // +4 00045 // 00046 // 00047 // Internal numbering: 00048 // 00049 // 2+-----------------------+1 00050 // |\_ _/| 00051 // | \_ _/ | 00052 // | \_ _/ | 00053 // | \_ _/ | 00054 // | \_ _/ | 00055 // | \ / | 00056 // | +0 | 00057 // | | | 00058 // | | | 00059 // | | | 00060 // | | | 00061 // | | | 00062 // | | | 00063 // | | | 00064 // | | | 00065 // | | | 00066 // | | | 00067 // | | | 00068 // 5+ . . . . . | . . . . . +4 00069 // \_ | _/ 00070 // \_ | _/ 00071 // \_ | _/ 00072 // \_ | _/ 00073 // \_ | _/ 00074 // \|/ 00075 // +3 00076 // 00077 // ------------------------------------------------------------------------- 00078 // 00079 // $Author: evandro $ 00080 // $Revision: 1.4 $ 00081 // $Date: 1999/04/12 14:58:25 $ 00082 // $State: Exp $ 00083 // 00084 // ------------------------------------------------------------------------- 00085 00086 #ifndef _SHPWEDGE6_H 00087 #define _SHPWEDGE6_H 00088 00089 #include "gbldefs.h" 00090 #include "shpsolid.h" 00091 00092 // ------------------------------------------------------------------------- 00093 // Wedge6 (Finite) Element Shape class: 00094 // 00095 class cShapeWedge6 : public cSolidShape 00096 { 00097 public: 00098 cShapeWedge6 ( void ); 00099 virtual ~cShapeWedge6 ( void ); 00100 int GetMapOrder ( void ) { return 1; } 00101 void MapFunc ( sNatCoord *, double * ); 00102 void ShapeFunc ( sNatCoord *, double * ); 00103 void DerivMapRST ( sNatCoord *, sDerivNat * ); 00104 void DerivShpRST ( sNatCoord *, sDerivNat * ); 00105 int GetEdge ( int *, eShapeType *, int *, int * ); 00106 int GetFace ( int *, eShapeType *, int *, int * ); 00107 void GetNatCoordMapNode( sNatCoord * ); 00108 }; 00109 00110 #endif