ABLATE Source Documentation  0.12.33
ablate::mathFunctions::LinearFunction Class Reference

#include <linearFunction.hpp>

+ Inheritance diagram for ablate::mathFunctions::LinearFunction:

Public Member Functions

 LinearFunction (const LinearFunction &)=delete
 
void operator= (const LinearFunction &)=delete
 
 LinearFunction (std::shared_ptr< MathFunction > startFunction, std::shared_ptr< MathFunction > endFunction, double start, double end, int dir)
 
double Eval (const double &x, const double &y, const double &z, const double &t) const override
 
double Eval (const double *xyz, const int &ndims, const double &t) const override
 
void Eval (const double &x, const double &y, const double &z, const double &t, std::vector< double > &result) const override
 
void Eval (const double *xyz, const int &ndims, const double &t, std::vector< double > &result) const override
 
void * GetContext () override
 
PetscFunction GetPetscFunction () override
 
- Public Member Functions inherited from ablate::mathFunctions::MathFunction
virtual ~MathFunction ()=default
 

Detailed Description

Linear functions in x, y, or z

Constructor & Destructor Documentation

◆ LinearFunction()

ablate::mathFunctions::LinearFunction::LinearFunction ( std::shared_ptr< MathFunction startFunction,
std::shared_ptr< MathFunction endFunction,
double  start,
double  end,
int  dir 
)
explicit

Linear function from start to end with the specified start and end values

Parameters
startValue
endValue
start
end
dir0, 1, 2

Member Function Documentation

◆ Eval() [1/4]

double ablate::mathFunctions::LinearFunction::Eval ( const double &  x,
const double &  y,
const double &  z,
const double &  t 
) const
overridevirtual

Return a single double value

Parameters
x
y
z
t
Returns

Implements ablate::mathFunctions::MathFunction.

◆ Eval() [2/4]

void ablate::mathFunctions::LinearFunction::Eval ( const double &  x,
const double &  y,
const double &  z,
const double &  t,
std::vector< double > &  result 
) const
overridevirtual

Populate a result array

Parameters
x
y
z
t
result

Implements ablate::mathFunctions::MathFunction.

◆ Eval() [3/4]

double ablate::mathFunctions::LinearFunction::Eval ( const double *  xyz,
const int &  ndims,
const double &  t 
) const
overridevirtual

Return a single double value based upon an xyz array

Parameters
xyz
ndims
t
Returns

Implements ablate::mathFunctions::MathFunction.

◆ Eval() [4/4]

void ablate::mathFunctions::LinearFunction::Eval ( const double *  xyz,
const int &  ndims,
const double &  t,
std::vector< double > &  result 
) const
overridevirtual

Populate a result array based upon an xyz array

Parameters
xyz
ndims
t
result

Implements ablate::mathFunctions::MathFunction.

◆ GetContext()

void* ablate::mathFunctions::LinearFunction::GetContext ( )
inlineoverridevirtual

Return a context for petsc style functions

Returns

Implements ablate::mathFunctions::MathFunction.

◆ GetPetscFunction()

PetscFunction ablate::mathFunctions::LinearFunction::GetPetscFunction ( )
inlineoverridevirtual

Return a raw petsc style function to evaluate this math function

Returns

Implements ablate::mathFunctions::MathFunction.


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