oomph::SolutionFunctor Class Reference

#include <oomph_utilities.h>

+ Inheritance diagram for oomph::SolutionFunctor:

Public Member Functions

 SolutionFunctor ()
 
 SolutionFunctor (TimeSpaceToDoubleVectFctPt solution_fpt)
 
 SolutionFunctor (TimeSpaceToDoubleVectFctPt solution_fpt, TimeSpaceValueToDoubleVectFctPt derivative_fpt)
 
virtual ~SolutionFunctor ()
 
 SolutionFunctor (const SolutionFunctor &that)
 
void operator= (const SolutionFunctor &that)
 
virtual Vector< doubleoperator() (const double &t, const Vector< double > &x) const
 Call the function. More...
 
virtual Vector< doublederivative (const double &t, const Vector< double > &x, const Vector< double > &u) const
 Call the derivative function. More...
 
- Public Member Functions inherited from oomph::SolutionFunctorBase
virtual ~SolutionFunctorBase ()
 Virtual destructor. More...
 
virtual void jacobian (const double &t, const Vector< double > &x, const Vector< double > &u, DenseMatrix< double > &jacobian) const
 
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...
 

Public Attributes

TimeSpaceToDoubleVectFctPt Solution_fpt
 Storage for solution. More...
 
TimeSpaceValueToDoubleVectFctPt Derivative_fpt
 Storage for derivative. More...
 

Additional Inherited Members

- Public Types inherited from oomph::SolutionFunctorBase
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)
 

Detailed Description

Function class for a simple function with no external parameters (just stores a function pointer, only needed for compatability).

Constructor & Destructor Documentation

◆ SolutionFunctor() [1/4]

oomph::SolutionFunctor::SolutionFunctor ( )
inline
1176  {
1177  Solution_fpt = 0;
1178  Derivative_fpt = 0;
1179  }
TimeSpaceValueToDoubleVectFctPt Derivative_fpt
Storage for derivative.
Definition: oomph_utilities.h:1243
TimeSpaceToDoubleVectFctPt Solution_fpt
Storage for solution.
Definition: oomph_utilities.h:1240

◆ SolutionFunctor() [2/4]

oomph::SolutionFunctor::SolutionFunctor ( TimeSpaceToDoubleVectFctPt  solution_fpt)
inline
1182  {
1183  Solution_fpt = solution_fpt;
1184  Derivative_fpt = 0;
1185  }

◆ SolutionFunctor() [3/4]

oomph::SolutionFunctor::SolutionFunctor ( TimeSpaceToDoubleVectFctPt  solution_fpt,
TimeSpaceValueToDoubleVectFctPt  derivative_fpt 
)
inline
1189  {
1190  Solution_fpt = solution_fpt;
1191  Derivative_fpt = derivative_fpt;
1192  }

◆ ~SolutionFunctor()

virtual oomph::SolutionFunctor::~SolutionFunctor ( )
inlinevirtual
1194 {}

◆ SolutionFunctor() [4/4]

oomph::SolutionFunctor::SolutionFunctor ( const SolutionFunctor that)
inline
1197  {
1198  Solution_fpt = that.Solution_fpt;
1199  Derivative_fpt = that.Derivative_fpt;
1200  }

References Derivative_fpt, and Solution_fpt.

Member Function Documentation

◆ derivative()

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

Call the derivative function.

Implements oomph::SolutionFunctorBase.

1227  {
1228 #ifdef PARANOID
1229  if (Derivative_fpt == 0)
1230  {
1231  std::string err = "Derivative_fpt is null!";
1232  throw OomphLibError(
1234  }
1235 #endif
1236  return Derivative_fpt(t, x, u);
1237  }
std::string string(const unsigned &i)
Definition: oomph_definitions.cc:286
list x
Definition: plotDoE.py:28
t
Definition: plotPSD.py:36
#define OOMPH_EXCEPTION_LOCATION
Definition: oomph_definitions.h:61
#define OOMPH_CURRENT_FUNCTION
Definition: oomph_definitions.h:86

References OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, oomph::Global_string_for_annotation::string(), plotPSD::t, and plotDoE::x.

◆ operator()()

virtual Vector<double> oomph::SolutionFunctor::operator() ( const double t,
const Vector< double > &  x 
) const
inlinevirtual

Call the function.

Implements oomph::SolutionFunctorBase.

1211  {
1212 #ifdef PARANOID
1213  if (Solution_fpt == 0)
1214  {
1215  std::string err = "Solution_fpt is null!";
1216  throw OomphLibError(
1218  }
1219 #endif
1220  return Solution_fpt(t, x);
1221  }

References OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, oomph::Global_string_for_annotation::string(), plotPSD::t, and plotDoE::x.

◆ operator=()

void oomph::SolutionFunctor::operator= ( const SolutionFunctor that)
inline
1203  {
1204  this->Solution_fpt = that.Solution_fpt;
1205  this->Derivative_fpt = that.Derivative_fpt;
1206  }

References Derivative_fpt, and Solution_fpt.

Member Data Documentation

◆ Derivative_fpt

TimeSpaceValueToDoubleVectFctPt oomph::SolutionFunctor::Derivative_fpt

Storage for derivative.

Referenced by operator=(), and SolutionFunctor().

◆ Solution_fpt

TimeSpaceToDoubleVectFctPt oomph::SolutionFunctor::Solution_fpt

Storage for solution.

Referenced by operator=(), and SolutionFunctor().


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