SyFi  0.3
DiscontinuousLagrange.h
Go to the documentation of this file.
00001 // Copyright (C) 2006-2009 Kent-Andre Mardal and Simula Research Laboratory
00002 //
00003 // This file is part of SyFi.
00004 //
00005 // SyFi is free software: you can redistribute it and/or modify
00006 // it under the terms of the GNU General Public License as published by
00007 // the Free Software Foundation, either version 2 of the License, or
00008 // (at your option) any later version.
00009 //
00010 // SyFi is distributed in the hope that it will be useful,
00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00013 // GNU General Public License for more details.
00014 //
00015 // You should have received a copy of the GNU General Public License
00016 // along with SyFi. If not, see <http://www.gnu.org/licenses/>.
00017 
00018 #ifndef DISCONTINUOUSLAGRANGEFE_IS_INCLUDED
00019 #define DISCONTINUOUSLAGRANGEFE_IS_INCLUDED
00020 
00021 #include "Lagrange.h"
00022 #include <ginac/ginac.h>
00023 
00024 namespace SyFi
00025 {
00026 
00027         class DiscontinuousLagrange : public Lagrange
00028         {
00029                 GiNaC::ex element;
00030                 public:
00031                         DiscontinuousLagrange();
00032                         DiscontinuousLagrange(Polygon& p, unsigned int order = 1);
00033                         virtual ~DiscontinuousLagrange() {}
00034 
00035                         virtual void set_element_number(unsigned int element);
00036                         virtual void compute_basis_functions();
00037         };
00038 
00039         class VectorDiscontinuousLagrange : public VectorLagrange
00040         {
00041                 GiNaC::ex element;
00042                 public:
00043                         VectorDiscontinuousLagrange();
00044                         VectorDiscontinuousLagrange(Polygon& p, unsigned int order = 1);
00045                         virtual ~VectorDiscontinuousLagrange() {}
00046 
00047                         virtual void set_element_number(unsigned int element);
00048                         virtual void set_size(unsigned int size_);
00049                         virtual void compute_basis_functions();
00050         };
00051 
00052 }                                                                // namespace SyFi
00053 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator