oomph::SolutionFunctorBase Class Referenceabstract

Function base class for exact solutions/initial conditions/boundary conditions. This is needed so that we can have solutions that depend on problem parameters with resorting to global variables. More...

`#include <oomph_utilities.h>`

Inheritance diagram for oomph::SolutionFunctorBase:

## Public Types

typedef double(* TimeSpaceToDoubleFctPt) (const double &t, const Vector< double > &x)
General function of space and time which returns a double. More...

typedef Vector< double >(* TimeSpaceToDoubleVectFctPt) (const double &t, const Vector< double > &x)
General function of space and time which returns a vector of doubles. More...

typedef Vector< double >(* TimeSpaceValueToDoubleVectFctPt) (const double &t, const Vector< double > &x, const Vector< double > &u)
General function of time, space and a value vector which returns a vector of doubles. More...

## Public Member Functions

virtual ~SolutionFunctorBase ()
Virtual destructor. More...

virtual Vector< double > operator() (const double &t, const Vector< double > &x) const =0
Call the function. More...

virtual Vector< double > derivative (const double &t, const Vector< double > &x, const Vector< double > &u) const =0
Call the derivative function. More...

virtual void jacobian (const double &t, const Vector< double > &x, const Vector< double > &u, DenseMatrix< double > &jacobian) const
The derivatives of the derivative function with respect to u (note that this is not quite the jacobian of the residuals for an ODE problem defined by this solution: you also need the time derivative part there). Broken virtual function because not often needed. More...

virtual bool have_jacobian () const
Is a jacobian function implemented? More...

virtual void initialise_from_problem (const Problem *problem_pt)
Overload to grab data from the problem. More...

## Detailed Description

Function base class for exact solutions/initial conditions/boundary conditions. This is needed so that we can have solutions that depend on problem parameters with resorting to global variables.

Definition at line 1108 of file oomph_utilities.h.

## ◆ TimeSpaceToDoubleFctPt

 typedef double(* oomph::SolutionFunctorBase::TimeSpaceToDoubleFctPt) (const double &t, const Vector< double > &x)

General function of space and time which returns a double.

Definition at line 1114 of file oomph_utilities.h.

## ◆ TimeSpaceToDoubleVectFctPt

 typedef Vector< double >(* oomph::SolutionFunctorBase::TimeSpaceToDoubleVectFctPt) (const double &t, const Vector< double > &x)

General function of space and time which returns a vector of doubles.

Definition at line 1118 of file oomph_utilities.h.

## ◆ TimeSpaceValueToDoubleVectFctPt

 typedef Vector< double >(* oomph::SolutionFunctorBase::TimeSpaceValueToDoubleVectFctPt) (const double &t, const Vector< double > &x, const Vector< double > &u)

General function of time, space and a value vector which returns a vector of doubles.

Definition at line 1123 of file oomph_utilities.h.

## ◆ ~SolutionFunctorBase()

 virtual oomph::SolutionFunctorBase::~SolutionFunctorBase ( )
inlinevirtual

Virtual destructor.

Definition at line 1127 of file oomph_utilities.h.

## ◆ derivative()

 virtual Vector< double > oomph::SolutionFunctorBase::derivative ( const double & t, const Vector< double > & x, const Vector< double > & u ) const
pure virtual

Call the derivative function.

Implemented in oomph::SolutionFunctor.

Referenced by oomph::ODEElement::derivative_function().

## ◆ have_jacobian()

 virtual bool oomph::SolutionFunctorBase::have_jacobian ( ) const
inlinevirtual

Is a jacobian function implemented?

Definition at line 1153 of file oomph_utilities.h.

Referenced by oomph::ODEElement::fill_in_contribution_to_jacobian().

## ◆ initialise_from_problem()

 virtual void oomph::SolutionFunctorBase::initialise_from_problem ( const Problem * problem_pt )
inlinevirtual

Overload to grab data from the problem.

Definition at line 1159 of file oomph_utilities.h.

## ◆ jacobian()

 virtual void oomph::SolutionFunctorBase::jacobian ( const double & t, const Vector< double > & x, const Vector< double > & u, DenseMatrix< double > & jacobian ) const
inlinevirtual

The derivatives of the derivative function with respect to u (note that this is not quite the jacobian of the residuals for an ODE problem defined by this solution: you also need the time derivative part there). Broken virtual function because not often needed.

Definition at line 1142 of file oomph_utilities.h.

Referenced by oomph::ODEElement::fill_in_contribution_to_jacobian().

## ◆ operator()()

 virtual Vector< double > oomph::SolutionFunctorBase::operator() ( const double & t, const Vector< double > & x ) const
pure virtual

Call the function.

Implemented in oomph::SolutionFunctor.

The documentation for this class was generated from the following file: