Lagrange.h
Go to the documentation of this file.00001
00002
00003
00004 #ifndef LAGRANGEFE_IS_INCLUDED
00005 #define LAGRANGEFE_IS_INCLUDED
00006
00007 #include "FE.h"
00008
00009 namespace SyFi
00010 {
00011
00012 class Lagrange : public StandardFE
00013 {
00014 public:
00015 Lagrange();
00016 Lagrange(Polygon& p, unsigned int order = 1);
00017 virtual ~Lagrange() {}
00018
00019 virtual void compute_basis_functions();
00020 };
00021
00022 class VectorLagrange : public StandardFE
00023 {
00024 protected:
00025 unsigned int size;
00026 public:
00027 VectorLagrange();
00028 VectorLagrange(Polygon& p, unsigned int order = 1, unsigned int size = 0);
00029 ~VectorLagrange() {}
00030
00031 virtual void set_size(unsigned int size_);
00032 virtual void compute_basis_functions();
00033 };
00034
00035 class TensorLagrange : public StandardFE
00036 {
00037 protected:
00038 unsigned int size;
00039 public:
00040 TensorLagrange();
00041 TensorLagrange(Polygon& p, unsigned int order = 1, unsigned int size = 0);
00042 ~TensorLagrange() {}
00043
00044 virtual void set_size(unsigned int size_);
00045 virtual void compute_basis_functions();
00046 };
00047
00048 GiNaC::ex lagrange(unsigned int order, Polygon& p, const std::string & a);
00049 GiNaC::lst lagrangev(unsigned int no_fields, unsigned int order, Polygon& p, const std::string & a);
00050
00051 }
00052 #endif