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

#include <linearTable.hpp>

+ Inheritance diagram for ablate::mathFunctions::LinearTable:

Public Member Functions

 LinearTable (std::filesystem::path inputFile, std::string independentColumnName, std::vector< std::string > dependentColumnsNames, std::shared_ptr< MathFunction > independentValueFunction)
 
 LinearTable (std::istream &inputStream, std::string independentColumnName, std::vector< std::string > dependentColumnsNames, std::shared_ptr< MathFunction > independentValueFunction)
 
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
 
const std::vector< double > & GetIndependentValues () const
 
const std::vector< std::vector< double > > & GetDependentValues () const
 
- Public Member Functions inherited from ablate::mathFunctions::MathFunction
virtual ~MathFunction ()=default
 

Detailed Description

a simple table that reads a text file and interpolates the value. The xAxisColumn is assumed to be monotonic. An example input would look like x,y,z 1,2,3 2,2,1

Member Function Documentation

◆ Eval() [1/4]

double ablate::mathFunctions::LinearTable::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::LinearTable::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::LinearTable::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::LinearTable::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::LinearTable::GetContext ( )
inlineoverridevirtual

Return a context for petsc style functions

Returns

Implements ablate::mathFunctions::MathFunction.

◆ GetPetscFunction()

PetscFunction ablate::mathFunctions::LinearTable::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: