20 #ifndef GEOS_FUNCTIONS_MULTIVARIABLETABLEFUNCTION_HPP_
21 #define GEOS_FUNCTIONS_MULTIVARIABLETABLEFUNCTION_HPP_
26 #include "LvArray/src/tensorOps.hpp"
48 Group *
const parent );
54 static string catalogName() {
return "MultivariableTableFunction"; }
108 GEOS_ERROR(
"This method is not supported by MultivariableTableFunction" );
121 GEOS_ERROR(
"This method is not supported by MultivariableTableFunction" );
#define GEOS_UNUSED_VAR(...)
Mark an unused variable and silence compiler warnings.
#define GEOS_ERROR(msg)
Raise a hard error and terminate the program.
void setTableCoordinates(integer const numDims, integer const numOps, real64_array const &axisMinimums, real64_array const &axisMaximums, integer_array const &axisPoints)
Set table coordinates.
void setTableValues(real64_array const values)
Set the table values.
arrayView1d< real64 const > getAxisMinimums() const
Get the table axes minimums.
virtual void initializeFunction() override
Initialize the table function after setting table coordinates and values.
virtual real64 evaluate(real64 const *const input) const override final
Method to evaluate a function (not supported)
arrayView1d< globalIndex const > getAxisHypercubeMults() const
Get the table axes hypercube index multiplicators.
integer numDims() const
Get the number of table dimensions.
arrayView1d< real64 const > getAxisSteps() const
Get the table axes step sizes.
arrayView1d< integer const > getAxisPoints() const
Get the table axes discretization points numbers.
static string catalogName()
The catalog name interface.
void initializeFunctionFromFile(string const &filename)
Initialize the table function using data from file.
arrayView1d< real64 const > getHypercubeData() const
Get the table values stored per-hypercube.
MultivariableTableFunction(const string &name, Group *const parent)
The constructor.
arrayView1d< real64 const > getAxisStepInvs() const
Get the table axes step sizes inversions.
integer numOps() const
Get the number of operators (functions to be interpolated)
void evaluate(dataRepository::Group const &group, real64 const time, SortedArrayView< localIndex const > const &set, arrayView1d< real64 > const &result) const override final
Method to evaluate a function on a target object (not supported)
arrayView1d< real64 const > getAxisMaximums() const
Get the table axes maximums.
ArrayView< T, 1 > arrayView1d
Alias for 1D array view.
GEOS_GLOBALINDEX_TYPE globalIndex
Global index type (for indexing objects across MPI partitions).
array1d< globalIndex > globalIndex_array
A 1-dimensional array of geos::globalIndex types.
array1d< integer > integer_array
A 1-dimensional array of geos::integer types.
std::set< T > set
A set of local indices.
double real64
64-bit floating point type.
std::int32_t integer
Signed integer type.
array1d< real64 > real64_array
A 1-dimensional array of geos::real64 types.
LvArray::SortedArrayView< T, localIndex, LvArray::ChaiBuffer > SortedArrayView
A sorted array view of local indices.