00001 // ------------------------------------------------------------------------- 00002 // ShpInf.h - this file contains methods for the general serendipity 00003 // semi-infinite 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 // | 00017 // | 00018 // | 00019 // 3 + INFINITE 3-noded 00020 // | 00021 // | 00022 // | 00023 // 1 +--------+------------ 00024 // 2 00025 // 00026 // or 00027 // 4 3 00028 // 1 +----------+---------- 1 +--------+------------ 00029 // | | 00030 // | | 00031 // | | 00032 // | INFINITE 4-noded or 4 + INFINITE 5-noded 00033 // | | 00034 // | | 00035 // | | 00036 // 2 + ---------+---------- 2 +--------+------------ 00037 // 3 5 00038 // 00039 // ------------------------------------------------------------------------- 00040 // 00041 // $Author: evandro $ 00042 // $Revision: 1.3 $ 00043 // $Date: 1999/04/12 14:58:25 $ 00044 // $State: Exp $ 00045 // 00046 // ------------------------------------------------------------------------- 00047 00048 #ifndef _SHPInfinite_H 00049 #define _SHPInfinite_H 00050 00051 #include "gbldefs.h" 00052 #include "shpplane.h" 00053 00054 // ------------------------------------------------------------------------- 00055 // Infinite (Finite) Element Shape class: 00056 00057 class cShapeInfinite : public cPlaneShape 00058 { 00059 public: 00060 cShapeInfinite ( void ); 00061 virtual ~cShapeInfinite ( void ); 00062 int GetMapOrder ( void ) { return 1; } 00063 void MapFunc ( sNatCoord *, double * ); 00064 void ShapeFunc ( sNatCoord *, double * ); 00065 void DerivMapRST ( sNatCoord *, sDerivNat * ); 00066 void DerivShpRST ( sNatCoord *, sDerivNat * ); 00067 int GetEdge ( int *, eShapeType *, int *, int * ); 00068 int GetFace ( int *, eShapeType *, int *, int * ); 00069 int Read ( void ); 00070 void GetNatCoordMapNode( sNatCoord * ); 00071 00072 private: 00073 void GetInfNumNodes ( void ); 00074 }; 00075 00076 #endif