integratorq1q2.h

Go to the documentation of this file.
00001 #ifndef __IntegratorQ1Q2_h
00002 #define __IntegratorQ1Q2_h
00003 
00004 #include "basicintegrator.h"
00005 #include "domainrighthandside.h"
00006 
00007 namespace Gascoigne
00008 {
00009 
00010 /*---------------------------------------------------*/
00011 
00012 template<int DIM>
00013 class IntegratorQ1Q2 : public BasicIntegrator
00014 {
00015  protected:
00016     double Volume2MeshSize(double vol) const { return pow(vol,1./float(DIM));}
00017     int PatchMeshNr2IntegratorNr(int in) const;
00018  public:
00019 
00020   IntegratorQ1Q2<DIM>() : BasicIntegrator() {}
00021   ~IntegratorQ1Q2<DIM>() {}
00022 
00023   std::string GetName() const {return "IntegratorQ1Q2";}
00024   void BasicInit();
00025 
00026   void Rhs(const DomainRightHandSide& RHS, LocalVector& F, const FemInterface& FemH, 
00027       const FemInterface& FemL, const LocalData& Q, const LocalData& QC) const;
00028   void Form(const Equation& EQ, LocalVector& F, const FemInterface& FemH, 
00029       const FemInterface& FemL, const LocalVector& U, const LocalData& Q, const LocalData& QC) const;
00030   void AdjointForm(const Equation& EQ, LocalVector& F, const FemInterface& FemH, 
00031       const FemInterface& FemL, const LocalVector& U, const LocalData& Q, const LocalData& QC) const;
00032   void BoundaryRhs(const BoundaryRightHandSide& RHS, LocalVector& F, const FemInterface& FemH, const FemInterface& FemL, 
00033       int ile, int col, const LocalData& Q, const LocalData& QC) const;
00034   void BoundaryForm(const BoundaryEquation& BE, LocalVector& F, const FemInterface& FemH, const FemInterface& FemL, 
00035       const LocalVector& U, int ile, int col, LocalData& Q, const LocalData& QC) const;
00036   void DiracRhsPoint(LocalVector& b, const FemInterface& FemH, const FemInterface& FemL, const Vertex<DIM>& p, 
00037       const DiracRightHandSide& DRHS, int j, const LocalData& Q, const LocalData& QC) const;
00038 
00039   double MassMatrix(EntryMatrix& E, const FemInterface& FemH, const FemInterface& FemL) const;
00040   void MassForm(const TimePattern& TP, LocalVector& F, const FemInterface& FemH, const FemInterface& FemL, const LocalVector& U) const;
00041 };
00042 
00043 }
00044 
00045 /*---------------------------------------------------*/
00046 
00047 #endif

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