energyestimatorintegrator.h

Go to the documentation of this file.
00001 #ifndef __EnergyEstimatorIntegrator_h
00002 #define __EnergyEstimatorIntegrator_h
00003 
00004 #include "basicintegrator.h"
00005 #include "integrationformula.h"
00006 
00007 /**********************************************************/
00008 
00009 namespace Gascoigne
00010 {
00011 template<int DIM>
00012 class EnergyEstimatorIntegrator : public BasicIntegrator
00013 {
00014   protected:
00015     const IntegrationFormulaInterface* IF;
00016     fixarray<2*DIM-2,Vertex<DIM-1> >   _xi;
00017     std::string _s_energytype;
00018     double      _d_visc;
00019 
00020 
00021     double Volume2MeshSize(double vol) const { return pow(vol,1./float(DIM));}
00022     const IntegrationFormulaInterface& GetFormula() const {return *IF;}
00023 
00024   public:
00025 
00026     EnergyEstimatorIntegrator<DIM>();
00027     EnergyEstimatorIntegrator<DIM>(const std::string & s_energytype,double d_visc);
00028     ~EnergyEstimatorIntegrator<DIM>();
00029 
00030     void BasicInit();
00031     std::string GetName() const {return "EnergyEstimator";}
00032 
00033     void   Jumps(LocalVector& F, const FemInterface& FEM, const LocalVector& U, int ile) const;
00034     double JumpNorm(const FemInterface& FEM, fixarray<2*DIM-2,double> jumps, int ile) const;
00035     double Residual(const LocalVector& U, const FemInterface& FEM, const Equation& EQ, const DomainRightHandSide* RHS, const LocalData& Q) const;
00036 };
00037 }
00038 
00039 /**********************************************************/
00040 
00041 #endif

Generated on Thu Sep 14 10:34:35 2006 for Gascoigne by  doxygen 1.4.7