38#ifndef Function1Types_TableBase_H
39#define Function1Types_TableBase_H
51class interpolationWeights;
53namespace Function1Types
134 virtual Type
value(
const scalar
x)
const;
137 virtual Type
integrate(
const scalar x1,
const scalar x2)
const;
Base class for table with bounds handling, interpolation and integration.
void initialise()
Check the table for size and consistency.
const interpolationWeights & interpolator() const
Return (demand driven) interpolator.
bool checkMinBounds(const scalar x, scalar &xDash) const
Check minimum table bounds.
scalarField currentWeights_
virtual tmp< scalarField > x() const
Return the reference values.
bool checkMaxBounds(const scalar x, scalar &xDash) const
Check maximum table bounds.
virtual void writeData(Ostream &os) const
Write all table data in dictionary format.
virtual void writeEntries(Ostream &os) const
Write keywords only in dictionary format.
const word interpolationScheme_
Interpolation type.
List< Tuple2< scalar, Type > > table_
Table data.
labelList currentIndices_
Cached indices and weights.
virtual tmp< Field< Type > > y() const
Return the dependent values.
virtual Type value(const scalar x) const
Return Table value.
autoPtr< scalarField > tableSamplesPtr_
Extracted values.
virtual ~TableBase()=default
Destructor.
virtual Type integrate(const scalar x1, const scalar x2) const
Integrate between two (scalar) values.
autoPtr< interpolationWeights > interpolatorPtr_
Interpolator method.
void operator=(const TableBase< Type > &)=delete
No copy assignment.
const bounds::repeatableBounding bounding_
Handling for out-of-bound values.
virtual void userTimeToTime(const Time &t)
Convert time.
Top level data entry class for use in dictionaries. Provides a mechanism to specify a variable as a c...
const word const dictionary & dict
const word const dictionary const objectRegistry * obrPtr
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
const word & name() const noexcept
The name of the entry.
Abstract base class for interpolating in 1D.
Registry of regIOobjects.
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
OBJstream os(runTime.globalPath()/outputName)
repeatableBounding
Enumeration for handling out-of-bound values that are repeatable.