Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Examples  

TestFunction.h

Go to the documentation of this file.
00001 #ifndef VARIATIONALFEFUNC_H
00002 #define VARIATIONALFEFUNC_H
00003 
00004 #include "SundanceDefs.h"
00005 
00006 #include "SymbolicFunction.h"
00007 
00008 
00009 namespace Sundance
00010 {
00011 
00012   using namespace TSF;
00013   using std::string;
00014 
00015   using std::ostream;
00016 
00017   /**
00018    * \ingroup UserLevelSymbolics
00019    * Expression subtype that can represent a variational function in
00020    * a finite-element problem
00021    */
00022 
00023   class TestFunction : public SymbolicFunction
00024     {
00025     public:
00026       /** \name User-level methods */
00027       //@{
00028       /** construct with a basis */
00029       TestFunction(const BasisFamily& basis);
00030       /** construct with a basis and a name */
00031       TestFunction(const BasisFamily& basis, const string& name);
00032       //@}
00033       virtual ~TestFunction(){;}
00034 
00035       /** \name Developer-only  methods */
00036       //@{
00037       /** identify self as a variation */
00038       virtual bool isVariational() const {return true;}
00039 
00040       /** */
00041       virtual int sortPriority() const {return TESTFUNCTION;}
00042 
00043       /** */
00044       virtual ExprBase* clone() const ;
00045 
00046       /** */
00047       virtual bool getValidWeakForm(Expr& coeff,
00048                                     Expr& var,
00049                                     Expr& unk) const ;
00050       //@}
00051     protected:
00052       // nothing
00053     };
00054 
00055 
00056 }
00057 #endif

Contact:
Kevin Long (krlong@ca.sandia.gov)


Documentation generated by