Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

FiniteElementMethod.h

Go to the documentation of this file.
00001 // Copyright (C) 2004 Johan Hoffman and Anders Logg.
00002 // Licensed under the GNU GPL Version 2.
00003 
00004 #ifndef __FINITE_ELEMENT_METHOD
00005 #define __FINITE_ELEMENT_METHOD
00006 
00007 #include <dolfin/Mesh.h>
00008 #include <dolfin/FiniteElement.h>
00009 
00010 namespace dolfin
00011 {
00012   
00013   class Map;
00014   class Quadrature;
00015 
00022 
00023   class FiniteElementMethod
00024   {
00025   public:
00026 
00028     FiniteElementMethod(Mesh::Type type, unsigned int noeq);
00029     
00031     FiniteElementMethod(FiniteElement::Vector& element, 
00032                         Map& map, 
00033                         Quadrature& interior_quadrature, 
00034                         Quadrature& boundary_quadrature);
00035     
00037     ~FiniteElementMethod();
00038 
00040     FiniteElement::Vector& element();
00041 
00043     Map& map();
00044 
00046     Quadrature& interiorQuadrature();
00047     Quadrature& boundaryQuadrature();
00048 
00050     friend class FEM;
00051 
00052   private:
00053 
00054     // The finite element
00055     FiniteElement::Vector* _element;
00056 
00057     // The map from the reference cell
00058     Map* _map;
00059     
00060     // The quadrature rule on the reference cell interior
00061     Quadrature* _interior_quadrature;
00062     
00063     // The quadrature rule on the reference cell boundary 
00064     Quadrature* _boundary_quadrature;
00065     
00066     // True if user specifies method
00067     bool user;
00068 
00069   };
00070 
00071 }
00072 
00073 #endif


Documentation automatically generated with Doxygen on 10 Sep 2004.