A list of times and values. The time values must be positive and monotonically increasing. More...
#include <OpenFOAM/interpolationTable.H>
A list of times and values. The time values must be positive and monotonically increasing.
The handling of out-of-bounds values depends on the current setting of outOfBounds.
If REPEAT is chosen for the out-of-bounds handling, the final time value is treated as being equivalent to time=0 for the following periods.
The construct from dictionary reads a filename from a dictionary and has an optional readerType. Default is to read OpenFOAM format. The only other format is csv (comma separated values):
Read csv format: readerType csv; fileName"$FOAM_CASE/constant/p0vsTime.csv"; hasHeaderLine true; // skip first line timeColumn 0; // time is in column 0 valueColumns(1);// value starts in column 1
Definition at line 78 of file interpolationTable.H.
Public Types | |
enum | boundsHandling { ERROR, WARN, CLAMP, REPEAT } |
Enumeration for handling out-of-bound values. More... | |
![]() | |
typedef SubList< Tuple2 < scalar, Type > > | subList |
Declare type of subList. | |
![]() | |
typedef Tuple2< scalar, Type > | value_type |
Type of values the UList contains. | |
typedef Tuple2< scalar, Type > & | reference |
Type that can be used for storing into. | |
typedef const Tuple2< scalar, Type > & | const_reference |
Type that can be used for storing into. | |
typedef label | difference_type |
The type that can represent the difference between any two. | |
typedef label | size_type |
The type that can represent the size of a UList. | |
typedef Tuple2< scalar, Type > * | iterator |
Random access iterator for traversing UList. | |
typedef const Tuple2< scalar, Type > * | const_iterator |
Random access iterator for traversing UList. | |
typedef Tuple2< scalar, Type > * | reverse_iterator |
Reverse iterator for reverse traversal of UList. | |
typedef const Tuple2< scalar, Type > * | const_reverse_iterator |
Reverse iterator for reverse traversal of constant UList. |
Public Member Functions | |
interpolationTable () | |
Construct null. | |
interpolationTable (const List< Tuple2< scalar, Type > > &values, const boundsHandling bounds, const fileName &fName) | |
Construct from components. | |
interpolationTable (const fileName &fName) | |
Construct given the name of the file containing the table of data. | |
interpolationTable (const dictionary &dict) | |
Construct by reading the fileName and boundsHandling from dictionary. | |
interpolationTable (const interpolationTable &interpTable) | |
Construct copy. | |
word | boundsHandlingToWord (const boundsHandling &bound) const |
Return the out-of-bounds handling as a word. | |
boundsHandling | wordToBoundsHandling (const word &bound) const |
Return the out-of-bounds handling as an enumeration. | |
boundsHandling | outOfBounds (const boundsHandling &bound) |
Set the out-of-bounds handling from enum, return previous setting. | |
void | check () const |
Check that list is monotonically increasing. | |
void | write (Ostream &os) const |
Write. | |
const Tuple2< scalar, Type > & | operator[] (const label) const |
Return an element of constant Tuple2<scalar, Type> | |
Type | operator() (const scalar) const |
Return an interpolated value. | |
![]() | |
label | size () const |
Return the number of elements in the UList. | |
List () | |
Null constructor. | |
List (const label) | |
Construct with given size. | |
List (const label, const Tuple2< scalar, Type > &) | |
Construct with given size and value for all elements. | |
List (const List< Tuple2< scalar, Type > > &) | |
Copy constructor. | |
List (const Xfer< List< Tuple2< scalar, Type > > > &) | |
Construct by transferring the parameter contents. | |
List (List< Tuple2< scalar, Type > > &, bool reUse) | |
Construct as copy or re-use as specified. | |
List (const UList< Tuple2< scalar, Type > > &, const unallocLabelList &mapAddressing) | |
Construct as subset. | |
List (InputIterator first, InputIterator last) | |
Construct given start and end iterators. | |
List (const FixedList< Tuple2< scalar, Type >, Size > &) | |
Construct as copy of FixedList<T, Size> | |
List (const PtrList< Tuple2< scalar, Type > > &) | |
Construct as copy of PtrList<T> | |
List (const SLList< Tuple2< scalar, Type > > &) | |
Construct as copy of SLList<T> | |
List (const IndirectList< Tuple2< scalar, Type > > &) | |
Construct as copy of IndirectList<T> | |
List (const UIndirectList< Tuple2< scalar, Type > > &) | |
Construct as copy of UIndirectList<T> | |
List (const BiIndirectList< Tuple2< scalar, Type > > &) | |
Construct as copy of BiIndirectList<T> | |
List (Istream &) | |
Construct from Istream. | |
autoPtr< List< Tuple2< scalar, Type > > > | clone () const |
Clone. | |
~List () | |
void | resize (const label) |
Reset size of List. | |
void | resize (const label, const Tuple2< scalar, Type > &) |
Reset size of List and value for new elements. | |
void | setSize (const label) |
Reset size of List. | |
void | setSize (const label, const Tuple2< scalar, Type > &) |
Reset size of List and value for new elements. | |
void | clear () |
Clear the list, i.e. set size to zero. | |
void | append (const UList< Tuple2< scalar, Type > > &) |
Append a List at the end of this list. | |
void | append (const UIndirectList< Tuple2< scalar, Type > > &) |
Append a UIndirectList at the end of this list. | |
void | transfer (List< Tuple2< scalar, Type > > &) |
Transfer the contents of the argument List into this list. | |
void | transfer (DynamicList< Tuple2< scalar, Type >, SizeInc, SizeMult, SizeDiv > &) |
Transfer the contents of the argument List into this list. | |
void | transfer (SortableList< Tuple2< scalar, Type > > &) |
Transfer the contents of the argument List into this list. | |
Xfer< List< Tuple2< scalar, Type > > > | xfer () |
Transfer contents to the Xfer container. | |
Tuple2< scalar, Type > & | newElmt (const label) |
Return subscript-checked element of UList. | |
void | operator= (const UList< Tuple2< scalar, Type > > &) |
Assignment from UList operator. Takes linear time. | |
void | operator= (const List< Tuple2< scalar, Type > > &) |
Assignment operator. Takes linear time. | |
void | operator= (const SLList< Tuple2< scalar, Type > > &) |
Assignment from SLList operator. Takes linear time. | |
void | operator= (const IndirectList< Tuple2< scalar, Type > > &) |
Assignment from IndirectList operator. Takes linear time. | |
void | operator= (const UIndirectList< Tuple2< scalar, Type > > &) |
Assignment from UIndirectList operator. Takes linear time. | |
void | operator= (const BiIndirectList< Tuple2< scalar, Type > > &) |
Assignment from BiIndirectList operator. Takes linear time. | |
void | operator= (const Tuple2< scalar, Type > &) |
Assignment of all entries to the given value. | |
![]() | |
UList () | |
Null constructor. | |
UList (Tuple2< scalar, Type > *__restrict__ v, label size) | |
Construct from components. | |
label | fcIndex (const label i) const |
Return the forward circular index, i.e. the next index. | |
label | rcIndex (const label i) const |
Return the reverse circular index, i.e. the previous index. | |
label | byteSize () const |
Return the binary size in number of characters of the UList. | |
const Tuple2< scalar, Type > * | cdata () const |
Return a const pointer to the first data element,. | |
Tuple2< scalar, Type > * | data () |
Return a pointer to the first data element,. | |
void | checkStart (const label start) const |
Check start is within valid range (0 ... size-1). | |
void | checkSize (const label size) const |
Check size is within valid range (0 ... size). | |
void | checkIndex (const label i) const |
Check index i is within valid range (0 ... size-1). | |
void | writeEntry (Ostream &) const |
Write the UList as a dictionary entry. | |
void | writeEntry (const word &keyword, Ostream &) const |
Write the UList as a dictionary entry with keyword. | |
void | assign (const UList< Tuple2< scalar, Type > > &) |
Assign elements to those from UList. | |
Tuple2< scalar, Type > & | operator[] (const label) |
Return element of UList. | |
operator const Foam::List< Tuple2< scalar, Type > > & () const | |
Allow cast to a const List<T>&. | |
iterator | begin () |
Return an iterator to begin traversing the UList. | |
const_iterator | begin () const |
Return const_iterator to begin traversing the constant UList. | |
iterator | end () |
Return an iterator to end traversing the UList. | |
const_iterator | end () const |
Return const_iterator to end traversing the constant UList. | |
const_iterator | cbegin () const |
Return const_iterator to begin traversing the constant UList. | |
const_iterator | cend () const |
Return const_iterator to end traversing the constant UList. | |
reverse_iterator | rbegin () |
Return reverse_iterator to begin reverse traversing the UList. | |
const_reverse_iterator | rbegin () const |
Return const_reverse_iterator to begin reverse traversing the UList. | |
reverse_iterator | rend () |
Return reverse_iterator to end reverse traversing the UList. | |
const_reverse_iterator | rend () const |
Return const_reverse_iterator to end reverse traversing the UList. | |
const_reverse_iterator | crbegin () const |
Return const_reverse_iterator to begin reverse traversing the UList. | |
const_reverse_iterator | crend () const |
Return const_reverse_iterator to end reverse traversing the UList. | |
label | max_size () const |
Return size of the largest possible UList. | |
bool | empty () const |
Return true if the UList is empty (ie, size() is zero). | |
void | swap (UList< Tuple2< scalar, Type > > &) |
Swap two ULists of the same type in constant time. | |
bool | operator== (const UList< Tuple2< scalar, Type > > &) const |
Equality operation on ULists of the same type. | |
bool | operator!= (const UList< Tuple2< scalar, Type > > &) const |
The opposite of the equality operation. Takes linear time. | |
bool | operator< (const UList< Tuple2< scalar, Type > > &) const |
Compare two ULists lexicographically. Takes linear time. | |
bool | operator> (const UList< Tuple2< scalar, Type > > &) const |
Compare two ULists lexicographically. Takes linear time. | |
bool | operator<= (const UList< Tuple2< scalar, Type > > &) const |
Return true if !(a > b). Takes linear time. | |
bool | operator>= (const UList< Tuple2< scalar, Type > > &) const |
Return true if !(a < b). Takes linear time. |
Additional Inherited Members | |
![]() | |
static const List< Tuple2 < scalar, Type > > & | null () |
Return a null List. | |
![]() | |
void | size (const label) |
Override size to be inconsistent with allocated storage. |
enum boundsHandling |
Enumeration for handling out-of-bound values.
ERROR |
Exit with a FatalError |
WARN |
Issue warning and clamp value (default) |
CLAMP |
Clamp value to the start/end value |
REPEAT |
Treat as a repeating list |
Definition at line 87 of file interpolationTable.H.
Construct null.
Definition at line 61 of file interpolationTable.C.
interpolationTable | ( | const List< Tuple2< scalar, Type > > & | values, |
const boundsHandling | bounds, | ||
const fileName & | fName | ||
) |
Construct from components.
Definition at line 72 of file interpolationTable.C.
interpolationTable | ( | const fileName & | fName | ) |
Construct given the name of the file containing the table of data.
Definition at line 86 of file interpolationTable.C.
interpolationTable | ( | const dictionary & | dict | ) |
Construct by reading the fileName and boundsHandling from dictionary.
and read the table from that file. This is a specialised constructor used by patchFields
Definition at line 98 of file interpolationTable.C.
interpolationTable | ( | const interpolationTable< Type > & | interpTable | ) |
Construct copy.
Definition at line 111 of file interpolationTable.C.
Foam::word boundsHandlingToWord | ( | const boundsHandling & | bound | ) | const |
Return the out-of-bounds handling as a word.
Definition at line 126 of file interpolationTable.C.
References interpolationTable< Type >::CLAMP, interpolationTable< Type >::ERROR, interpolationTable< Type >::REPEAT, and interpolationTable< Type >::WARN.
Foam::interpolationTable< Type >::boundsHandling wordToBoundsHandling | ( | const word & | bound | ) | const |
Return the out-of-bounds handling as an enumeration.
Definition at line 163 of file interpolationTable.C.
References interpolationTable< Type >::CLAMP, Foam::endl(), interpolationTable< Type >::ERROR, interpolationTable< Type >::REPEAT, interpolationTable< Type >::WARN, and WarningIn.
Foam::interpolationTable< Type >::boundsHandling outOfBounds | ( | const boundsHandling & | bound | ) |
Set the out-of-bounds handling from enum, return previous setting.
Definition at line 198 of file interpolationTable.C.
References Foam::bound().
void check | ( | ) | const |
Check that list is monotonically increasing.
Exit with a FatalError if there is a problem
Definition at line 209 of file interpolationTable.C.
References Foam::exit(), Foam::FatalError, FatalErrorIn, and Foam::nl.
void write | ( | Ostream & | os | ) | const |
Write.
Definition at line 235 of file interpolationTable.C.
References token::END_STATEMENT, Foam::nl, and Ostream::writeKeyword().
const Foam::Tuple2< Foam::scalar, Type > & operator[] | ( | const label | i | ) | const |
Return an element of constant Tuple2<scalar, Type>
Reimplemented from UList< Tuple2< scalar, Type > >.
Definition at line 252 of file interpolationTable.C.
References interpolationTable< Type >::CLAMP, Foam::endl(), interpolationTable< Type >::ERROR, Foam::exit(), Foam::FatalError, FatalErrorIn, Foam::nl, interpolationTable< Type >::REPEAT, interpolationTable< Type >::WARN, and WarningIn.
Type operator() | ( | const scalar | value | ) | const |
Return an interpolated value.
Definition at line 347 of file interpolationTable.C.
References interpolationTable< Type >::CLAMP, Foam::endl(), interpolationTable< Type >::ERROR, Foam::exit(), Foam::FatalError, FatalErrorIn, Foam::nl, interpolationTable< Type >::REPEAT, interpolationTable< Type >::WARN, and WarningIn.