Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

function/linearForm.hh
Go to the documentation of this file.
00001 /* Linear form
00002  */
00003 
00004 #ifndef linearForm_hh
00005 #define linearForm_hh
00006 
00007 #include "basics/outputOperator.hh"
00008 #include "basics/typedefs.hh"
00009 
00010 namespace concepts {
00011   // forward declarations
00012   template<class F>
00013   class Element;
00014 
00015   template<class F>
00016   class ElementMatrix;
00017 
00018   class BoundaryConditions;
00019 
00020   // ************************************************************ LinearForm **
00021 
00026   template<class F, class G = typename Realtype<F>::type>
00027   class LinearForm : virtual public OutputOperator {
00028   public:
00034     virtual void operator()(const Element<G>& elm, ElementMatrix<F>& em) = 0; 
00035   protected:
00036     virtual std::ostream& info(std::ostream& os) const;
00037   };
00038 
00039   // *************************************************************** Neumann **
00040 
00053   template<class F>
00054   class Neumann : public concepts::LinearForm<F> {
00055   public:
00060     Neumann(const BoundaryConditions* bc);
00061     virtual ~Neumann();
00062   protected:
00063     virtual std::ostream& info(std::ostream& os) const;
00065     std::auto_ptr<BoundaryConditions> bc_;
00066   }; 
00067 
00068 } // namespace concepts
00069 
00070 #endif // linearForm_hh

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)