00001 #ifndef __NavierStokesGls3d_h
00002 #define __NavierStokesGls3d_h
00003
00004 #include "navierstokes3d.h"
00005 #include "glsequation.h"
00006 #include "glsstabilization.h"
00007
00008
00009
00010 namespace Gascoigne
00011 {
00012 class NavierStokesGls3d : public NavierStokes3d, public virtual GlsEquation
00013 {
00014 protected:
00015
00016 mutable GlsStabilization ST;
00017
00018 public:
00019
00020 ~NavierStokesGls3d();
00021 NavierStokesGls3d();
00022 NavierStokesGls3d(const ParamFile* pf);
00023
00024 std::string GetName() const;
00025
00026 void SetTime(double time, double dt) const {Application::SetTime(time,dt); ST.DeltaT() = dt;}
00027
00029
00030 void glspoint(double h, const FemFunction& U, const Vertex3d& v) const;
00031
00032
00034
00035 void L(DoubleVector& dst, const FemFunction& U) const;
00036 void S(nmatrix<double>& dst, const FemFunction& U, const TestFunction& N) const;
00037
00038 void LMatrix(nmatrix<double>& dst, const FemFunction& U, const TestFunction& N) const;
00039 };
00040 }
00041
00042 #endif