00001 // ------------------------------------------------------------------------- 00002 // Smooth.h - This header file contains the public data structure 00003 // definitions for the smooth tensor procedures class 00004 // within FEMOOP. 00005 // ------------------------------------------------------------------------- 00006 // 00007 // $Author: joaquim $ 00008 // $Revision: 1.1 $ 00009 // $Date: 1998/02/16 20:21:11 $ 00010 // $State: Exp $ 00011 // 00012 // ------------------------------------------------------------------------- 00013 00014 #ifndef _SMOOTH_H 00015 #define _SMOOTH_H 00016 00017 #include "gbldefs.h" 00018 00019 // ------------------------------------------------------------------------- 00020 // Smoothing types: 00021 // 00022 typedef enum _eSmoothType 00023 { 00024 HC, // Hinton-Campbell Smoothing Procedure 00025 SPRT, // Superconvergent Patch Recovery Technique 00026 WA, // Wiberg-Abdulabah Enhanced SPR 00027 REP // Recovery Equilibrium Patch 00028 } eSmoothType; 00029 00030 // ------------------------------------------------------------------------- 00031 // Smoothing procedures class: 00032 // 00033 class cSmooth 00034 { 00035 protected: 00036 int *_iNodalCounter; // Nodal counter for average 00037 eSmoothType _eType; // Smooth procedure 00038 00039 public: 00040 cSmooth ( void ); 00041 virtual ~cSmooth ( void ); 00042 eSmoothType GetType ( void ) { return _eType; } 00043 static cSmooth *Read ( void ); 00044 virtual void SmoothTensor ( sTensor * ) { }; 00045 00046 private: 00047 static cSmooth *ProcessSmoothProc( void ); 00048 }; 00049 00050 #endif