00001 // ------------------------------------------------------------------------- 00002 // ShpWedge15.h - this file contains methods for the 15-noded quadratic 00003 // Serendipity 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 of 00010 // 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, the the edge nodes 00014 // are numbered counterclockwise around the t-axis. 00015 // 00016 // Numbering scheme is: 00017 // 00018 // 4 00019 // 5+-----------+-----------+3 00020 // |\_ _/| 00021 // | \_ _/ | 00022 // | \_ _/ | 00023 // | 6\_ _/2 | 00024 // | \_ _/ | 00025 // | \ / | 00026 // | +1 | 00027 // | | | 00028 // | | | 00029 // 9+ | +8 00030 // | | | 00031 // | | | 00032 // | | | 00033 // | | | 00034 // | |7 | 00035 // | + | 00036 // | | | 00037 // | | 13 | 00038 // 14+ . . . . . |+. . . . . +12 00039 // \_ | _/ 00040 // \_ | _/ 00041 // \_ | _/ 00042 // 15\_ | _/11 00043 // \_ | _/ 00044 // \|/ 00045 // +10 00046 // 00047 // 00048 // Internal numbering: 00049 // 00050 // 3 00051 // 4+-----------+-----------+2 00052 // |\_ _/| 00053 // | \_ _/ | 00054 // | \_ _/ | 00055 // | 5\_ _/1 | 00056 // | \_ _/ | 00057 // | \ / | 00058 // | +0 | 00059 // | | | 00060 // | | | 00061 // 8+ | +7 00062 // | | | 00063 // | | | 00064 // | | | 00065 // | | | 00066 // | |6 | 00067 // | + | 00068 // | | | 00069 // | | 12 | 00070 // 13+ . . . . . |+. . . . . +11 00071 // \_ | _/ 00072 // \_ | _/ 00073 // \_ | _/ 00074 // 14\_ | _/10 00075 // \_ | _/ 00076 // \|/ 00077 // +9 00078 // 00079 // ------------------------------------------------------------------------- 00080 // 00081 // $Author: evandro $ 00082 // $Revision: 1.4 $ 00083 // $Date: 1999/04/12 14:58:25 $ 00084 // $State: Exp $ 00085 // 00086 // ------------------------------------------------------------------------- 00087 00088 #ifndef _SHPWEDGE15_H 00089 #define _SHPWEDGE15_H 00090 00091 #include "gbldefs.h" 00092 #include "shpsolid.h" 00093 00094 // ------------------------------------------------------------------------- 00095 // Wedge15 (Finite) Element Shape class 00096 // 00097 class cShapeWedge15 : public cSolidShape 00098 { 00099 public: 00100 cShapeWedge15 ( void ); 00101 virtual ~cShapeWedge15 ( void ); 00102 int GetMapOrder ( void ) { return 2; } 00103 void MapFunc ( sNatCoord *, double * ); 00104 void ShapeFunc ( sNatCoord *, double * ); 00105 void DerivMapRST ( sNatCoord *, sDerivNat * ); 00106 void DerivShpRST ( sNatCoord *, sDerivNat * ); 00107 int GetEdge ( int *, eShapeType *, int *, int * ); 00108 int GetFace ( int *, eShapeType *, int *, int * ); 00109 void GetNatCoordMapNode( sNatCoord * ); 00110 }; 00111 00112 #endif