25 #ifndef QUESO_FUNCTION_BASE_H 
   26 #define QUESO_FUNCTION_BASE_H 
   30 #include <queso/SharedPtr.h> 
   34 class FunctionOperatorBuilder;
 
   66   virtual void scale(
double scale) = 0;
 
   69   virtual void zero() = 0;
 
   72   virtual double L2_norm() 
const = 0;
 
   80   virtual typename SharedPtr<FunctionBase>::Type 
zero_clone() 
const = 0;
 
   83   virtual void save_function(
const std::string & filename, 
double time) 
const = 0;
 
   88 #endif // QUESO_FUNCTION_BASE_H 
virtual void save_function(const std::string &filename, double time) const =0
Save the current function to an Exodus file called filename. time is the time to attach to the functi...
 
virtual void scale(double scale)=0
Execute this *= scale. 
 
virtual void zero()=0
Set this to zero everywhere. 
 
virtual double L2_norm() const =0
Return the L2-norm of this. 
 
virtual SharedPtr< FunctionBase >::Type zero_clone() const =0
Create a zero function copy of this and return pointer to it. 
 
virtual ~FunctionBase()
Destructor. 
 
virtual void pointwise_mult(const FunctionBase &f1, const FunctionBase &f2)=0
Pointwise multiply f1 and f2 and store the result in *this. 
 
virtual void add(double scale, const FunctionBase &rhs)=0
Execute this += scale * rhs. 
 
FunctionBase()
Constructor. 
 
Abstract base class for function objects.