Field< Type > Class Template Reference

Generic templated field type. More...

Inherits FieldBase, and List< Type >.

Inherited by CompactIOField< Foam::Field< label >, label >, CompactIOField< Foam::Field< scalar >, scalar >, CompactIOField< Foam::Field< Foam::Vector >, Foam::Vector >, CompactIOField< Foam::Field< Foam::SphericalTensor >, Foam::SphericalTensor >, CompactIOField< Foam::Field< Foam::SymmTensor >, Foam::SymmTensor >, CompactIOField< Foam::Field< Foam::Tensor >, Foam::Tensor >, DimensionedField< symmTensor, Foam::volMesh >, DimensionedField< symmTensor, volMesh >, DimensionedField< scalar, Foam::volMesh >, DimensionedField< scalar, volMesh >, DimensionedField< Type, pointMesh >, DimensionedField< vector, Foam::pointMesh >, DimensionedField< vector, Foam::volMesh >, DimensionedField< vector, volMesh >, DimensionedField< tensor, Foam::volMesh >, DimensionedField< tensor, volMesh >, DimensionedField< Foam::Vector, Foam::volMesh >, DimensionedField< Foam::Vector, Foam::pointMesh >, DimensionedField< scalar, Foam::surfaceMesh >, DimensionedField< scalar, surfaceMesh >, DimensionedField< scalar, Foam::pointMesh >, DimensionedField< scalar, pointMesh >, DimensionedField< vector, pointMesh >, DimensionedField< scalar, Foam::areaMesh >, DimensionedField< scalar, areaMesh >, DimensionedField< scalar, Foam::edgeMesh >, DimensionedField< Foam::Vector, Foam::areaMesh >, DimensionedField< Foam::Vector, Foam::edgeMesh >, DimensionedField< Foam::SphericalTensor, Foam::areaMesh >, DimensionedField< Foam::SphericalTensor, Foam::edgeMesh >, DimensionedField< Foam::SymmTensor, Foam::areaMesh >, DimensionedField< Foam::SymmTensor, Foam::edgeMesh >, DimensionedField< Foam::Tensor, Foam::areaMesh >, DimensionedField< Foam::Tensor, Foam::edgeMesh >, DimensionedField< Type, Foam::areaMesh >, DimensionedField< Type, Foam::edgeMesh >, DimensionedField< Foam::Vector, Foam::surfaceMesh >, DimensionedField< Foam::SphericalTensor, Foam::volMesh >, DimensionedField< Foam::SphericalTensor, Foam::surfaceMesh >, DimensionedField< Foam::SymmTensor, Foam::volMesh >, DimensionedField< Foam::SymmTensor, Foam::surfaceMesh >, DimensionedField< Foam::Tensor, Foam::volMesh >, DimensionedField< Foam::Tensor, Foam::surfaceMesh >, DimensionedField< Type, Foam::volMesh >, DimensionedField< Type, Foam::surfaceMesh >, DimensionedField< Type, Foam::pointMesh >, DimensionedField< vector, Foam::surfaceMesh >, DimensionedField< vector, surfaceMesh >, DimensionedField< scalar, triSurfacePointGeoMesh >, DimensionedField< Foam::SphericalTensor, Foam::pointMesh >, DimensionedField< Foam::SymmTensor, Foam::pointMesh >, DimensionedField< Foam::Tensor, Foam::pointMesh >, DimensionedField< tensor, Foam::areaMesh >, DimensionedField< tensor, areaMesh >, DimensionedField< vector, Foam::areaMesh >, DimensionedField< vector, areaMesh >, DimensionedField< scalar, edgeMesh >, DynamicField< Foam::Vector >, DynamicField< label >, GlobalIOField< vector >, IOField< label >, IOField< scalar >, IOField< Foam::Vector >, IOField< Foam::SphericalTensor >, IOField< Foam::SymmTensor >, IOField< Foam::Tensor >, IjkField< scalar >, IjkField< Foam::Vector >, IjkField< Foam::Vector< bool > >, IjkField< Foam::SymmTensor >, faPatchField< scalar >, faPatchField< Foam::Vector >, faPatchField< Foam::SphericalTensor >, faPatchField< Foam::SymmTensor >, faPatchField< Foam::Tensor >, faPatchField< tensor >, faPatchField< vector >, faePatchField< scalar >, faePatchField< Foam::Vector >, faePatchField< Foam::SphericalTensor >, faePatchField< Foam::SymmTensor >, faePatchField< Foam::Tensor >, fvPatchField< symmTensor >, fvPatchField< scalar >, fvPatchField< vector >, fvPatchField< tensor >, fvPatchField< Foam::Vector >, fvPatchField< Foam::SphericalTensor >, fvPatchField< Foam::SymmTensor >, fvPatchField< Foam::Tensor >, fvsPatchField< scalar >, fvsPatchField< Foam::Vector >, fvsPatchField< Foam::SphericalTensor >, fvsPatchField< Foam::SymmTensor >, fvsPatchField< Foam::Tensor >, fvsPatchField< vector >, valuePointPatchField< vector >, DimensionedField< Type, GeoMesh >, GlobalIOField< Type >, IOField< Type >, IjkField< Type >, faPatchField< Type >, faePatchField< Type >, fvPatchField< Type >, fvsPatchField< Type >, rawIOField< Type >, and valuePointPatchField< Type >.

Collaboration diagram for Field< Type >:
[legend]

Public Types

typedef pTraits< Type >::cmptType cmptType
 Component type. More...
 
typedef SubField< Type > subField
 Declare type of subField. More...
 
- Public Types inherited from List< Type >
typedef SubList< Type > subList
 Declare type of subList. More...
 
- Public Types inherited from UList< T >
typedef T value_type
 The value type the list contains. More...
 
typedef Tpointer
 The pointer type for non-const access to value_type items. More...
 
typedef const Tconst_pointer
 The pointer type for const access to value_type items. More...
 
typedef Treference
 The type used for storing into value_type objects. More...
 
typedef const Tconst_reference
 The type used for reading from constant value_type objects. More...
 
typedef Titerator
 Random access iterator for traversing a UList. More...
 
typedef const Tconst_iterator
 Random access iterator for traversing a UList. More...
 
typedef label size_type
 The type to represent the size of a UList. More...
 
typedef label difference_type
 The difference between iterator objects. More...
 
typedef std::reverse_iterator< iteratorreverse_iterator
 Reverse iterator (non-const access) More...
 
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator
 Reverse iterator (const access) More...
 

Public Member Functions

constexpr Field () noexcept
 Default construct. More...
 
 Field (const label len)
 Construct given size. More...
 
 Field (const label len, const Type &val)
 Construct given size and initial value. More...
 
 Field (const label len, const Foam::zero)
 Construct given size and initial values of zero. More...
 
 Field (const Foam::one, const Type &val)
 Construct with length=1, copying the value as the only content. More...
 
 Field (const Foam::one, Type &&val)
 Construct with length=1, moving the value as the only content. More...
 
 Field (const Foam::one, const Foam::zero)
 Construct with length=1, initializing content to zero. More...
 
 Field (const Field< Type > &fld)
 Copy construct. More...
 
 Field (const UList< Type > &list)
 Copy construct from UList<Type> More...
 
template<class Addr >
 Field (const IndirectListBase< Type, Addr > &list)
 Copy construct from IndirectList. More...
 
 Field (Field< Type > &&fld)
 Move construct from Field. More...
 
 Field (List< Type > &&list)
 Move construct from List. More...
 
template<int SizeMin>
 Field (DynamicList< Type, SizeMin > &&list)
 Move construct from DynamicList. More...
 
 Field (const UList< Type > &mapF, const labelUList &mapAddressing)
 Construct by 1 to 1 mapping from the given field. More...
 
 Field (const tmp< Field< Type > > &tmapF, const labelUList &mapAddressing)
 Construct by 1 to 1 mapping from the given tmp field. More...
 
 Field (const UList< Type > &mapF, const labelListList &mapAddressing, const scalarListList &weights)
 Construct by interpolative mapping from the given field. More...
 
 Field (const tmp< Field< Type > > &tmapF, const labelListList &mapAddressing, const scalarListList &weights)
 Construct by interpolative mapping from the given tmp field. More...
 
 Field (const UList< Type > &mapF, const FieldMapper &map, const bool applyFlip=true)
 Construct by mapping from the given field. More...
 
 Field (const UList< Type > &mapF, const FieldMapper &map, const Type &defaultValue, const bool applyFlip=true)
 Construct by mapping from the given field. More...
 
 Field (const UList< Type > &mapF, const FieldMapper &map, const UList< Type > &defaultValues, const bool applyFlip=true)
 Construct by mapping from the given field. More...
 
 Field (const tmp< Field< Type > > &tmapF, const FieldMapper &map, const bool applyFlip=true)
 Construct by mapping from the given tmp field. More...
 
 Field (const tmp< Field< Type > > &tmapF, const FieldMapper &map, const Type &defaultValue, const bool applyFlip=true)
 
 Field (const tmp< Field< Type > > &tmapF, const FieldMapper &map, const UList< Type > &defaultValues, const bool applyFlip=true)
 
 Field (Field< Type > &fld, bool reuse)
 Copy construct or re-use as specified. More...
 
 Field (const tmp< Field< Type > > &tfld)
 Copy or move construct from tmp. More...
 
 Field (Istream &is)
 Construct from Istream. More...
 
 Field (const word &keyword, const dictionary &dict, const label len)
 Construct from a dictionary entry. More...
 
tmp< Field< Type > > clone () const
 Clone. More...
 
void map (const UList< Type > &mapF, const labelUList &mapAddressing)
 1 to 1 map from the given field More...
 
void map (const tmp< Field< Type > > &tmapF, const labelUList &mapAddressing)
 1 to 1 map from the given tmp field More...
 
void map (const UList< Type > &mapF, const labelListList &mapAddressing, const scalarListList &weights)
 Interpolative map from the given field. More...
 
void map (const tmp< Field< Type > > &tmapF, const labelListList &mapAddressing, const scalarListList &weights)
 Interpolative map from the given tmp field. More...
 
void map (const UList< Type > &mapF, const FieldMapper &map, const bool applyFlip=true)
 Map from the given field. More...
 
void map (const tmp< Field< Type > > &tmapF, const FieldMapper &map, const bool applyFlip=true)
 Map from the given tmp field. More...
 
void autoMap (const FieldMapper &map, const bool applyFlip=true)
 Map from self. More...
 
void rmap (const UList< Type > &mapF, const labelUList &mapAddressing)
 1 to 1 reverse-map from the given field More...
 
void rmap (const tmp< Field< Type > > &tmapF, const labelUList &mapAddressing)
 1 to 1 reverse-map from the given tmp field More...
 
void rmap (const UList< Type > &mapF, const labelUList &mapAddressing, const UList< scalar > &weights)
 Interpolative reverse map from the given field. More...
 
void rmap (const tmp< Field< Type > > &tmapF, const labelUList &mapAddressing, const UList< scalar > &weights)
 Interpolative reverse map from the given tmp field. More...
 
void negate ()
 Inplace negate this field (negative). More...
 
void normalise ()
 
tmp< Field< cmptType > > component (const direction) const
 Return a component field of the field. More...
 
void replace (const direction, const UList< cmptType > &)
 Replace a component field of the field. More...
 
void replace (const direction, const tmp< Field< cmptType > > &)
 Replace a component field of the field. More...
 
void replace (const direction, const cmptType &)
 Replace a component field of the field. More...
 
template<class VSForm >
VSForm block (const label start) const
 
tmp< Field< Type > > T () const
 Return the field transpose (only defined for second rank tensors) More...
 
void writeEntry (const word &keyword, Ostream &os) const
 Write the field as a dictionary entry. More...
 
SubField< Type > slice (const label pos, label len=-1)
 Return SubField slice (non-const access) - no range checking. More...
 
const SubField< Type > slice (const label pos, label len=-1) const
 Return SubField slice (const access) - no range checking. More...
 
SubField< Type > slice (const labelRange &range)
 Return SubField slice (non-const access) - with range checking. More...
 
const SubField< Type > slice (const labelRange &range) const
 Return SubField slice (const access) - with range checking. More...
 
void operator= (const Field< Type > &)
 Copy assignment. More...
 
void operator= (const tmp< Field< Type > > &)
 
void operator= (const UList< Type > &rhs)
 
void operator= (const SubField< Type > &rhs)
 
template<class Addr >
void operator= (const IndirectListBase< Type, Addr > &rhs)
 Copy assign from IndirectList. More...
 
void operator= (Field< Type > &&rhs)
 Move assignment. More...
 
void operator= (List< Type > &&rhs)
 
template<int SizeMin>
void operator= (DynamicList< Type, SizeMin > &&rhs)
 
void operator= (const Type &val)
 Value assignment. More...
 
void operator= (const Foam::zero)
 
template<class Form , class Cmpt , direction nCmpt>
void operator= (const VectorSpace< Form, Cmpt, nCmpt > &)
 
void operator+= (const UList< Type > &)
 
void operator+= (const tmp< Field< Type > > &)
 
void operator-= (const UList< Type > &)
 
void operator-= (const tmp< Field< Type > > &)
 
void operator*= (const UList< scalar > &)
 
void operator*= (const tmp< Field< scalar > > &)
 
void operator/= (const UList< scalar > &)
 
void operator/= (const tmp< Field< scalar > > &)
 
void operator+= (const Type &)
 
void operator-= (const Type &)
 
void operator*= (const scalar &)
 
void operator/= (const scalar &)
 
template<class Type >
void operator= (const tmp< Field > &rhs)
 
void normalise ()
 
void normalise ()
 
void normalise ()
 Inplace normalise (float) vector field. More...
 
void normalise ()
 Inplace normalise (double) vector field. More...
 
- Public Member Functions inherited from FieldBase
constexpr FieldBase () noexcept
 Default construct, refCount zero. More...
 
- Public Member Functions inherited from refCount
constexpr refCount () noexcept
 Default construct, initializing count to 0. More...
 
int count () const noexcept
 Return the current reference count. More...
 
bool unique () const noexcept
 Return true if the reference count is zero. More...
 
void operator++ () noexcept
 Increment the reference count. More...
 
void operator++ (int) noexcept
 Increment the reference count. More...
 
void operator-- () noexcept
 Decrement the reference count. More...
 
void operator-- (int) noexcept
 Decrement the reference count. More...
 
- Public Member Functions inherited from List< Type >
constexpr List () noexcept
 Default construct. More...
 
 List (const label len)
 Construct with given size. More...
 
 List (const label len, const Type &val)
 Construct with given size and value for all elements. More...
 
 List (const label len, const Foam::zero)
 Construct with given size initializing all elements to zero. More...
 
 List (const Foam::one, const Type &val)
 Construct with length=1, copying the value as the only content. More...
 
 List (const Foam::one, Type &&val)
 Construct with length=1, moving the value as the only content. More...
 
 List (const Foam::one, const Foam::zero)
 Construct with length=1, initializing content to zero. More...
 
 List (const List< Type > &a)
 Copy construct from list. More...
 
 List (const UList< Type > &a)
 Copy construct contents from list. More...
 
 List (List< Type > &a, bool reuse)
 Construct as copy or re-use as specified. More...
 
 List (const UList< Type > &list, const labelUList &indices)
 Copy construct subset of list. More...
 
 List (const UList< Type > &list, const FixedList< label, N > &indices)
 Copy construct subset of list. More...
 
 List (const FixedList< Type, N > &list)
 Construct as copy of FixedList<T, N> More...
 
 List (const PtrList< Type > &list)
 Construct as copy of PtrList<T> More...
 
 List (const SLList< Type > &list)
 Construct as copy of SLList<T> More...
 
 List (const IndirectListBase< Type, Addr > &list)
 Construct as copy of IndirectList contents. More...
 
 List (std::initializer_list< Type > list)
 Construct from an initializer list. More...
 
 List (List< Type > &&list)
 Move construct from List. More...
 
 List (DynamicList< Type, SizeMin > &&list)
 Move construct from DynamicList. More...
 
 List (SLList< Type > &&list)
 Move construct from SLList. More...
 
 List (Istream &is)
 Construct from Istream. More...
 
autoPtr< List< Type > > clone () const
 Clone. More...
 
 ~List ()
 Destructor. More...
 
void clear ()
 Clear the list, i.e. set size to zero. More...
 
void resize (const label len)
 Adjust allocated size of list. More...
 
void resize (const label len, const Type &val)
 Adjust allocated size of list and set val for new elements. More...
 
void resize (const label newLen)
 
void resize_nocopy (const label len)
 Adjust allocated size of list without necessarily. More...
 
void setSize (const label n)
 Alias for resize() More...
 
void setSize (const label n, const Type &val)
 Alias for resize() More...
 
void append (const Type &val)
 Append an element at the end of the list. More...
 
void append (Type &&val)
 Move append an element at the end of the list. More...
 
void append (const UList< Type > &list)
 Append a List to the end of this list. More...
 
void append (const IndirectListBase< Type, Addr > &list)
 Append IndirectList contents at the end of this list. More...
 
label appendUniq (const Type &val)
 Append an element if not already in the list. More...
 
void transfer (List< Type > &list)
 
void transfer (DynamicList< Type, SizeMin > &list)
 
Type & newElmt (const label i)
 
void operator= (const UList< Type > &a)
 Assignment to UList operator. Takes linear time. More...
 
void operator= (const List< Type > &list)
 Assignment operator. Takes linear time. More...
 
void operator= (const SLList< Type > &list)
 Assignment to SLList operator. Takes linear time. More...
 
void operator= (const IndirectListBase< Type, Addr > &list)
 Assignment from IndirectList. Takes linear time. More...
 
void operator= (const FixedList< Type, N > &list)
 Copy assignment from FixedList. More...
 
void operator= (std::initializer_list< Type > list)
 Assignment to an initializer list. More...
 
void operator= (const Type &val)
 Assignment of all entries to the given value. More...
 
void operator= (const Foam::zero)
 Assignment of all entries to zero. More...
 
void operator= (List< Type > &&list)
 Move assignment. Takes constant time. More...
 
void operator= (DynamicList< Type, SizeMin > &&list)
 Move assignment. Takes constant time. More...
 
void operator= (SLList< Type > &&list)
 Move assignment. Takes constant time. More...
 
IstreamreadList (Istream &is)
 Read List from Istream, discarding contents of existing List. More...
 
IstreamreadList (Istream &is)
 
IstreamreadList (Istream &is)
 
void shallowCopy (const UList< Type > &)=delete
 No shallowCopy permitted. More...
 
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type set (const label i, bool val=true)
 A bitSet::set() method for a list of bool. More...
 
- Public Member Functions inherited from UList< T >
 UList (const UList< T > &)=default
 Copy construct. More...
 
constexpr UList () noexcept
 Default construct, zero-sized and nullptr. More...
 
 UList (T *__restrict__ v, const label len) noexcept
 Construct from components. More...
 
label fcIndex (const label i) const noexcept
 
label rcIndex (const label i) const noexcept
 
const TfcValue (const label i) const
 Return forward circular value (ie, next value in the list) More...
 
TfcValue (const label i)
 Return forward circular value (ie, next value in the list) More...
 
const TrcValue (const label i) const
 Return reverse circular value (ie, previous value in the list) More...
 
TrcValue (const label i)
 Return reverse circular value (ie, previous value in the list) More...
 
const Tcdata () const noexcept
 Return pointer to the underlying array serving as data storage. More...
 
Tdata () noexcept
 Return pointer to the underlying array serving as data storage. More...
 
const char * cdata_bytes () const noexcept
 Return pointer to the underlying array serving as data storage,. More...
 
char * data_bytes () noexcept
 Return pointer to the underlying array serving as data storage,. More...
 
Tfirst ()
 Return the first element of the list. More...
 
const Tfirst () const
 Return first element of the list. More...
 
Tlast ()
 Return the last element of the list. More...
 
const Tlast () const
 Return the last element of the list. More...
 
std::streamsize size_bytes () const noexcept
 Number of contiguous bytes for the List data. More...
 
std::streamsize byteSize () const
 
void checkStart (const label start) const
 Check start is within valid range [0,size) More...
 
void checkSize (const label size) const
 Check size is within valid range [0,size]. More...
 
void checkRange (const label start, const label len) const
 Check that start and length define a valid range. More...
 
void checkIndex (const label i) const
 Check index is within valid range [0,size) More...
 
bool uniform () const
 True if all entries have identical values, and list is non-empty. More...
 
label find (const T &val, label pos=0) const
 Find index of the first occurrence of the value. More...
 
label rfind (const T &val, label pos=-1) const
 Find index of the last occurrence of the value. More...
 
bool found (const T &val, label pos=0) const
 True if the value if found in the list. More...
 
void moveFirst (const label i)
 Move element to the first position. More...
 
void moveLast (const label i)
 Move element to the last position. More...
 
void swapFirst (const label i)
 Swap element with the first element. Fatal on an empty list. More...
 
void swapLast (const label i)
 Swap element with the last element. Fatal on an empty list. More...
 
void shallowCopy (const UList< T > &list)
 Copy the pointer and size held by the given UList. More...
 
void deepCopy (const UList< T > &list)
 Copy elements of the given UList. Sizes must match! More...
 
template<class Addr >
void deepCopy (const IndirectListBase< T, Addr > &list)
 Copy elements of the given indirect list. Sizes must match! More...
 
SubList< Tslice (const label pos, label len=-1)
 Return SubList slice (non-const access) - no range checking. More...
 
const SubList< Tslice (const label pos, label len=-1) const
 Return SubList slice (const access) - no range checking. More...
 
SubList< Tslice (const labelRange &range)
 Return SubList slice (non-const access) - with range checking. More...
 
const SubList< Tslice (const labelRange &range) const
 Return SubList slice (const access) - with range checking. More...
 
Toperator[] (const label i)
 Return element of UList. More...
 
const Toperator[] (const label i) const
 Return element of constant UList. More...
 
 operator const Foam::List< T > & () const
 Allow cast to a const List<T>&. More...
 
void operator= (const T &val)
 Assignment of all entries to the given value. More...
 
void operator= (const Foam::zero)
 Assignment of all entries to zero. More...
 
iterator begin () noexcept
 Return an iterator to begin traversing the UList. More...
 
iterator end () noexcept
 Return an iterator to end traversing the UList. More...
 
const_iterator cbegin () const noexcept
 Return const_iterator to begin traversing the constant UList. More...
 
const_iterator cend () const noexcept
 Return const_iterator to end traversing the constant UList. More...
 
const_iterator begin () const noexcept
 Return const_iterator to begin traversing the constant UList. More...
 
const_iterator end () const noexcept
 Return const_iterator to end traversing the constant UList. More...
 
reverse_iterator rbegin ()
 Return reverse_iterator to begin reverse traversing the UList. More...
 
reverse_iterator rend ()
 Return reverse_iterator to end reverse traversing the UList. More...
 
const_reverse_iterator crbegin () const
 Return const_reverse_iterator to begin reverse traversing the UList. More...
 
const_reverse_iterator crend () const
 Return const_reverse_iterator to end reverse traversing the UList. More...
 
const_reverse_iterator rbegin () const
 Return const_reverse_iterator to begin reverse traversing the UList. More...
 
const_reverse_iterator rend () const
 Return const_reverse_iterator to end reverse traversing the UList. More...
 
label size () const noexcept
 The number of elements in the UList. More...
 
bool empty () const noexcept
 True if the UList is empty (ie, size() is zero) More...
 
void swap (UList< T > &list)
 Swap content with another UList of the same type in constant time. More...
 
bool operator== (const UList< T > &a) const
 Equality operation on ULists of the same type. More...
 
bool operator!= (const UList< T > &a) const
 The opposite of the equality operation. Takes linear time. More...
 
bool operator< (const UList< T > &list) const
 Compare two ULists lexicographically. Takes linear time. More...
 
bool operator> (const UList< T > &a) const
 Compare two ULists lexicographically. Takes linear time. More...
 
bool operator<= (const UList< T > &a) const
 Return true if !(a > b). Takes linear time. More...
 
bool operator>= (const UList< T > &a) const
 Return true if !(a < b). Takes linear time. More...
 
IstreamreadList (Istream &is)
 Read List contents from Istream. More...
 
void writeEntry (const word &keyword, Ostream &os) const
 Write the List as a dictionary entry with keyword. More...
 
OstreamwriteList (Ostream &os, const label shortLen=0) const
 Write List, with line-breaks in ASCII when length exceeds shortLen. More...
 
template<class TypeT = T>
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type test (const label i) const
 
template<class TypeT = T>
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type get (const label i) const
 
template<class TypeT = T>
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type unset (const label i)
 
IstreamreadList (Istream &is)
 
OstreamwriteList (Ostream &os, const label) const
 
const booloperator[] (const label i) const
 
Foam::UPstream::commsStructoperator[] (const label procID)
 
const Foam::UPstream::commsStructoperator[] (const label procID) const
 
UPstream::commsStructoperator[] (const label procID)
 
const UPstream::commsStructoperator[] (const label procID) const
 
OstreamwriteList (Ostream &os, const label) const
 
IstreamreadList (Istream &is)
 

Static Public Member Functions

static const Field< Type > & null ()
 Return nullObject reference Field. More...
 
static autoPtr< Field< Type > > New (Istream &is)
 Return a pointer to a new Field created on freestore. More...
 
template<class Type2 >
static tmp< Field< Type > > NewCalculatedType (const Field< Type2 > &f)
 
- Static Public Member Functions inherited from List< Type >
static const List< Type > & null ()
 Return a null List. More...
 
- Static Public Member Functions inherited from UList< T >
static const UList< T > & null ()
 Return a UList reference to a nullObject. More...
 
static constexpr label max_size () noexcept
 The size of the largest possible UList. More...
 

Friends

Ostreamoperator (Ostream &, const Field< Type > &)
 
Ostreamoperator (Ostream &, const tmp< Field< Type > > &)
 

Additional Inherited Members

- Static Public Attributes inherited from FieldBase
static const char *const typeName
 Typename for Field. More...
 
static bool allowConstructFromLargerSize = false
 Permit read construct from a larger size. More...
 
- Protected Member Functions inherited from UList< T >
void setAddressableSize (const label n) noexcept
 Set addressed size to be inconsistent with allocated storage. More...
 
void size (const label n)
 Older name for setAddressableSize. More...
 
void writeEntry (Ostream &os) const
 Write the UList with its compound type. More...
 
labelRange validateRange (const labelRange &requestedRange) const
 
UList< T > & operator= (const UList< T > &)=delete
 No copy assignment (default: shallow copy) More...
 
void writeEntry (Ostream &os) const
 
void writeEntry (Ostream &os) const
 

Detailed Description

template<class Type>
class Foam::Field< Type >

Generic templated field type.

Source files

Definition at line 78 of file Field.H.

Member Typedef Documentation

◆ cmptType

typedef pTraits<Type>::cmptType cmptType

Component type.

Definition at line 86 of file Field.H.

◆ subField

typedef SubField<Type> subField

Declare type of subField.

Definition at line 89 of file Field.H.

Constructor & Destructor Documentation

◆ Field() [1/27]

constexpr Field
inlineconstexprnoexcept

Default construct.

For temporary fields that are initialised after construction

Definition at line 40 of file FieldI.H.

◆ Field() [2/27]

Field ( const label  len)
inlineexplicit

Construct given size.

For temporary fields that are initialised after construction

Definition at line 47 of file FieldI.H.

◆ Field() [3/27]

Field ( const label  len,
const Type &  val 
)
inline

Construct given size and initial value.

Definition at line 54 of file FieldI.H.

◆ Field() [4/27]

Field ( const label  len,
const Foam::zero   
)
inline

Construct given size and initial values of zero.

Definition at line 61 of file FieldI.H.

◆ Field() [5/27]

Field ( const Foam::one  ,
const Type &  val 
)
inline

Construct with length=1, copying the value as the only content.

Definition at line 68 of file FieldI.H.

◆ Field() [6/27]

Field ( const Foam::one  ,
Type &&  val 
)
inline

Construct with length=1, moving the value as the only content.

Definition at line 75 of file FieldI.H.

◆ Field() [7/27]

Field ( const Foam::one  ,
const Foam::zero   
)
inline

Construct with length=1, initializing content to zero.

Definition at line 82 of file FieldI.H.

◆ Field() [8/27]

Field ( const Field< Type > &  fld)
inline

Copy construct.

Definition at line 89 of file FieldI.H.

◆ Field() [9/27]

Field ( const UList< Type > &  list)
inlineexplicit

Copy construct from UList<Type>

Definition at line 96 of file FieldI.H.

◆ Field() [10/27]

Field ( const IndirectListBase< Type, Addr > &  list)
inlineexplicit

Copy construct from IndirectList.

Definition at line 104 of file FieldI.H.

◆ Field() [11/27]

Field ( Field< Type > &&  fld)
inline

Move construct from Field.

Definition at line 111 of file FieldI.H.

◆ Field() [12/27]

Field ( List< Type > &&  list)
inline

Move construct from List.

Definition at line 120 of file FieldI.H.

◆ Field() [13/27]

Field ( DynamicList< Type, SizeMin > &&  list)
inline

Move construct from DynamicList.

Definition at line 130 of file FieldI.H.

◆ Field() [14/27]

Field ( const UList< Type > &  mapF,
const labelUList mapAddressing 
)

Construct by 1 to 1 mapping from the given field.

Definition at line 38 of file Field.C.

References Field< Type >::map().

Here is the call graph for this function:

◆ Field() [15/27]

Field ( const tmp< Field< Type > > &  tmapF,
const labelUList mapAddressing 
)

Construct by 1 to 1 mapping from the given tmp field.

Definition at line 51 of file Field.C.

References Field< Type >::map().

Here is the call graph for this function:

◆ Field() [16/27]

Field ( const UList< Type > &  mapF,
const labelListList mapAddressing,
const scalarListList weights 
)

Construct by interpolative mapping from the given field.

Definition at line 64 of file Field.C.

References Field< Type >::map().

Here is the call graph for this function:

◆ Field() [17/27]

Field ( const tmp< Field< Type > > &  tmapF,
const labelListList mapAddressing,
const scalarListList weights 
)

Construct by interpolative mapping from the given tmp field.

Definition at line 78 of file Field.C.

References Field< Type >::map().

Here is the call graph for this function:

◆ Field() [18/27]

Field ( const UList< Type > &  mapF,
const FieldMapper map,
const bool  applyFlip = true 
)

Construct by mapping from the given field.

Definition at line 92 of file Field.C.

References Field< Type >::map().

Here is the call graph for this function:

◆ Field() [19/27]

Field ( const UList< Type > &  mapF,
const FieldMapper map,
const Type &  defaultValue,
const bool  applyFlip = true 
)

Construct by mapping from the given field.

Definition at line 106 of file Field.C.

References Field< Type >::map().

Here is the call graph for this function:

◆ Field() [20/27]

Field ( const UList< Type > &  mapF,
const FieldMapper map,
const UList< Type > &  defaultValues,
const bool  applyFlip = true 
)

Construct by mapping from the given field.

Definition at line 121 of file Field.C.

References Field< Type >::map().

Here is the call graph for this function:

◆ Field() [21/27]

Field ( const tmp< Field< Type > > &  tmapF,
const FieldMapper map,
const bool  applyFlip = true 
)

Construct by mapping from the given tmp field.

Definition at line 136 of file Field.C.

◆ Field() [22/27]

Field ( const tmp< Field< Type > > &  tmapF,
const FieldMapper map,
const Type &  defaultValue,
const bool  applyFlip = true 
)

Construct by mapping from the given tmp field. Uses supplied uniform value for unmapped items

Definition at line 150 of file Field.C.

◆ Field() [23/27]

Field ( const tmp< Field< Type > > &  tmapF,
const FieldMapper map,
const UList< Type > &  defaultValues,
const bool  applyFlip = true 
)

Construct by mapping from the given tmp field. Uses supplied values for unmapped items

Definition at line 165 of file Field.C.

◆ Field() [24/27]

Field ( Field< Type > &  fld,
bool  reuse 
)
inline

Copy construct or re-use as specified.

Definition at line 139 of file FieldI.H.

◆ Field() [25/27]

Field ( const tmp< Field< Type > > &  tfld)
inline

Copy or move construct from tmp.

Definition at line 146 of file FieldI.H.

References List< T >::clear().

Here is the call graph for this function:

◆ Field() [26/27]

Field ( Istream is)
inline

Construct from Istream.

Definition at line 155 of file FieldI.H.

◆ Field() [27/27]

Field ( const word keyword,
const dictionary dict,
const label  len 
)

Construct from a dictionary entry.

Definition at line 180 of file Field.C.

Member Function Documentation

◆ null()

const Foam::Field< Type > & null
inlinestatic

Return nullObject reference Field.

Definition at line 31 of file FieldI.H.

Referenced by slicedFvPatchField< Type >::gradientBoundaryCoeffs(), slicedFvPatchField< Type >::gradientInternalCoeffs(), slicedFvPatchField< Type >::patchInternalField(), slicedFvPatchField< Type >::patchNeighbourField(), slicedFvPatchField< Type >::snGrad(), slicedFvPatchField< Type >::valueBoundaryCoeffs(), and slicedFvPatchField< Type >::valueInternalCoeffs().

Here is the caller graph for this function:

◆ clone()

Foam::tmp< Foam::Field< Type > > clone
inline

Clone.

Definition at line 162 of file FieldI.H.

References Foam::New().

Here is the call graph for this function:

◆ New()

static autoPtr< Field< Type > > New ( Istream is)
inlinestatic

Return a pointer to a new Field created on freestore.

Definition at line 243 of file Field.H.

Referenced by Field< Type >::NewCalculatedType().

Here is the caller graph for this function:

◆ NewCalculatedType()

static tmp< Field< Type > > NewCalculatedType ( const Field< Type2 > &  f)
inlinestatic

Return a pointer to a new calculatedFvPatchFieldField created on freestore without setting patchField values

Definition at line 251 of file Field.H.

References f(), Field< Type >::New(), and UList< T >::size().

Here is the call graph for this function:

◆ map() [1/6]

void map ( const UList< Type > &  mapF,
const labelUList mapAddressing 
)

◆ map() [2/6]

void map ( const tmp< Field< Type > > &  tmapF,
const labelUList mapAddressing 
)

1 to 1 map from the given tmp field

Definition at line 268 of file Field.C.

◆ map() [3/6]

void map ( const UList< Type > &  mapF,
const labelListList mapAddressing,
const scalarListList weights 
)

Interpolative map from the given field.

Definition at line 280 of file Field.C.

◆ map() [4/6]

void map ( const tmp< Field< Type > > &  tmapF,
const labelListList mapAddressing,
const scalarListList weights 
)

Interpolative map from the given tmp field.

Definition at line 317 of file Field.C.

◆ map() [5/6]

void map ( const UList< Type > &  mapF,
const FieldMapper map,
const bool  applyFlip = true 
)

Map from the given field.

Definition at line 330 of file Field.C.

◆ map() [6/6]

void map ( const tmp< Field< Type > > &  tmapF,
const FieldMapper map,
const bool  applyFlip = true 
)

Map from the given tmp field.

Definition at line 389 of file Field.C.

◆ autoMap()

void autoMap ( const FieldMapper map,
const bool  applyFlip = true 
)

◆ rmap() [1/4]

◆ rmap() [2/4]

void rmap ( const tmp< Field< Type > > &  tmapF,
const labelUList mapAddressing 
)

1 to 1 reverse-map from the given tmp field

Definition at line 486 of file Field.C.

◆ rmap() [3/4]

void rmap ( const UList< Type > &  mapF,
const labelUList mapAddressing,
const UList< scalar > &  weights 
)

Interpolative reverse map from the given field.

Definition at line 498 of file Field.C.

References f(), forAll, and Foam::Zero.

Here is the call graph for this function:

◆ rmap() [4/4]

void rmap ( const tmp< Field< Type > > &  tmapF,
const labelUList mapAddressing,
const UList< scalar > &  weights 
)

Interpolative reverse map from the given tmp field.

Definition at line 517 of file Field.C.

◆ negate()

void negate

Inplace negate this field (negative).

Inverts the state for a bool field.

Definition at line 530 of file Field.C.

References TFOR_ALL_F_OP_OP_F.

Referenced by faMatrix< Type >::H(), and fvMatrix< Type >::H().

Here is the caller graph for this function:

◆ normalise() [1/5]

void normalise

Inplace normalise this field. Generally a no-op except for vector fields.

Vector fields are normalised by their magnitude. Small vectors (mag less than ROOTVSMALL) are set to zero.

Definition at line 538 of file Field.C.

Referenced by searchableExtrudedCircle::getNormal(), and searchableSphere::getNormal().

Here is the caller graph for this function:

◆ component()

Foam::tmp< Foam::Field< typename Foam::Field< Type >::cmptType > > component ( const direction  d) const

Return a component field of the field.

Definition at line 544 of file Field.C.

References Foam::component(), and Foam::New().

Referenced by sensitivitySurface::accumulateIntegrand(), sensitivitySurfacePoints::accumulateIntegrand(), sensitivityVolBSplinesFI::assembleSensitivities(), Foam::ComplexField(), coordinateScaling< scalar >::coordinateScaling(), Bezier::dxdbFace(), setFlow::execute(), propellerInfo::execute(), NURBS3DVolume::findPointsInBox(), Foam::Im(), Foam::ImComplexField(), uniformBin::initialise(), waveModel::initialiseGeometry(), dynamicOversetFvMesh::normalisation(), particleDistribution::processField(), Foam::Re(), Foam::ReComplexField(), Foam::ReImSum(), faMatrix< Type >::residual(), fvMatrix< Type >::residual(), basicSymmetryFaPatchField< Type >::snGradTransformDiag(), basicSymmetryFvPatchField< Type >::snGradTransformDiag(), fixedNormalSlipFvPatchField< Type >::snGradTransformDiag(), partialSlipFvPatchField< Type >::snGradTransformDiag(), faMatrix< Type >::solve(), fvMatrix< Type >::solveSegregated(), waveMakerPointPatchVectorField::updateCoeffs(), jumpCyclicFvPatchField< Type >::updateInterfaceMatrix(), componentDisplacementMotionSolver::updateMesh(), and sensitivityBezier::write().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ replace() [1/3]

void replace ( const direction  d,
const UList< cmptType > &  sf 
)

◆ replace() [2/3]

void replace ( const direction  d,
const tmp< Field< cmptType > > &  tsf 
)

Replace a component field of the field.

Definition at line 568 of file Field.C.

◆ replace() [3/3]

void replace ( const direction  d,
const cmptType c 
)

Replace a component field of the field.

Definition at line 580 of file Field.C.

References TFOR_ALL_F_OP_FUNC_S_S.

◆ block()

VSForm block ( const label  start) const

Definition at line 593 of file Field.C.

Referenced by rigidBodyModel::forwardDynamics(), rigidBodyModel::forwardDynamicsCorrection(), Pxyz::jcalc(), Rs::jcalc(), Rxyz::jcalc(), Ryxz::jcalc(), Rzyx::jcalc(), and joint::unitQuaternion().

Here is the caller graph for this function:

◆ T()

Foam::tmp< Foam::Field< Type > > T

Return the field transpose (only defined for second rank tensors)

Definition at line 605 of file Field.C.

References Foam::New(), and Foam::T().

Referenced by linearAxialAngularSpring::restrain(), linearDamper::restrain(), prescribedRotation::restrain(), sphericalAngularDamper::restrain(), and filmPyrolysisTemperatureCoupledFvPatchScalarField::updateCoeffs().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ writeEntry()

◆ slice() [1/4]

Foam::SubField< Type > slice ( const label  pos,
label  len = -1 
)

Return SubField slice (non-const access) - no range checking.

Definition at line 178 of file SubField.H.

References Foam::pos(), and UList< T >::size().

Here is the call graph for this function:

◆ slice() [2/4]

const Foam::SubField< Type > slice ( const label  pos,
label  len = -1 
) const

Return SubField slice (const access) - no range checking.

Definition at line 190 of file SubField.H.

References Foam::pos(), and UList< T >::size().

Here is the call graph for this function:

◆ slice() [3/4]

Foam::SubField< Type > slice ( const labelRange range)

Return SubField slice (non-const access) - with range checking.

Definition at line 202 of file SubField.H.

References range.

◆ slice() [4/4]

const Foam::SubField< Type > slice ( const labelRange range) const

Return SubField slice (const access) - with range checking.

Definition at line 210 of file SubField.H.

References range.

◆ operator=() [1/12]

void operator= ( const Field< Type > &  rhs)

Copy assignment.

Definition at line 641 of file Field.C.

References List< T >::operator=().

Referenced by fvPatchField< symmTensor >::autoMap(), CompactIOField< T, BaseType >::CompactIOField(), directionMixedFvPatchField< Type >::evaluate(), clampedPlateFaPatchField< Type >::evaluate(), faePatchField< scalar >::faePatchField(), fvsPatchField< scalar >::fvsPatchField(), GlobalIOField< vector >::GlobalIOField(), IOField< Type >::IOField(), adjointFarFieldPressureFvPatchScalarField::operator*=(), adjointFarFieldPressureFvPatchScalarField::operator+=(), adjointFarFieldPressureFvPatchScalarField::operator-=(), fvPatchField< symmTensor >::operator/=(), adjointFarFieldPressureFvPatchScalarField::operator/=(), faePatchField< scalar >::operator/=(), fvsPatchField< scalar >::operator/=(), CompactIOField< T, BaseType >::operator=(), DimensionedField< Type, GeoMesh >::operator=(), IOField< Type >::operator=(), valuePointPatchField< vector >::operator=(), faePatchField< Type >::operator=(), fvPatchField< Type >::operator=(), fvsPatchField< Type >::operator=(), adjointFarFieldPressureFvPatchScalarField::operator=(), faPatchField< Type >::operator=(), valuePointPatchField< Type >::operator=(), faPatchField< Type >::operator==(), scaledFixedValueFvPatchField< Type >::operator==(), fvPatchField< symmTensor >::operator==(), faePatchField< Type >::operator==(), fvsPatchField< Type >::operator==(), valuePointPatchField< Type >::operator==(), valuePointPatchField< vector >::operator==(), scaledFixedValueFvPatchField< Type >::updateCoeffs(), oscillatingDisplacementPointPatchVectorField::updateCoeffs(), waveMakerPointPatchVectorField::updateCoeffs(), and valuePointPatchField< Type >::valuePointPatchField().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=() [2/12]

void operator= ( const tmp< Field< Type > > &  )

◆ operator=() [3/12]

void operator= ( const UList< Type > &  rhs)
inline

Definition at line 171 of file FieldI.H.

References List< T >::operator=().

Here is the call graph for this function:

◆ operator=() [4/12]

void operator= ( const SubField< Type > &  rhs)
inline

Definition at line 178 of file FieldI.H.

References List< T >::operator=().

Here is the call graph for this function:

◆ operator=() [5/12]

void operator= ( const IndirectListBase< Type, Addr > &  rhs)
inline

Copy assign from IndirectList.

Definition at line 186 of file FieldI.H.

References List< T >::operator=().

Here is the call graph for this function:

◆ operator=() [6/12]

void operator= ( Field< Type > &&  rhs)
inline

Move assignment.

Definition at line 196 of file FieldI.H.

References kinematicSingleLayer::transfer().

Here is the call graph for this function:

◆ operator=() [7/12]

void operator= ( List< Type > &&  rhs)
inline

Definition at line 203 of file FieldI.H.

References kinematicSingleLayer::transfer().

Here is the call graph for this function:

◆ operator=() [8/12]

void operator= ( DynamicList< Type, SizeMin > &&  rhs)
inline

Definition at line 211 of file FieldI.H.

References kinematicSingleLayer::transfer().

Here is the call graph for this function:

◆ operator=() [9/12]

void operator= ( const Type &  val)
inline

Value assignment.

Definition at line 218 of file FieldI.H.

References List< T >::operator=().

Here is the call graph for this function:

◆ operator=() [10/12]

void operator= ( const Foam::zero  )
inline

Definition at line 225 of file FieldI.H.

References List< T >::operator=(), and Foam::Zero.

Here is the call graph for this function:

◆ operator=() [11/12]

void operator= ( const VectorSpace< Form, Cmpt, nCmpt > &  vs)

Definition at line 666 of file Field.C.

References TFOR_ALL_F_OP_S.

◆ operator+=() [1/3]

void operator+= ( const UList< Type > &  f)

Definition at line 693 of file Field.C.

Referenced by faePatchField< Type >::operator+=(), faPatchField< Type >::operator+=(), fvPatchField< Type >::operator+=(), and fvsPatchField< Type >::operator+=().

Here is the caller graph for this function:

◆ operator+=() [2/3]

void operator+= ( const tmp< Field< Type > > &  tf)

Definition at line 693 of file Field.C.

◆ operator-=() [1/3]

void operator-= ( const UList< Type > &  f)

Definition at line 694 of file Field.C.

Referenced by faePatchField< Type >::operator-=(), faPatchField< Type >::operator-=(), fvPatchField< Type >::operator-=(), fvsPatchField< Type >::operator-=(), and faePatchField< scalar >::rmap().

Here is the caller graph for this function:

◆ operator-=() [2/3]

void operator-= ( const tmp< Field< Type > > &  tf)

Definition at line 694 of file Field.C.

◆ operator*=() [1/3]

void operator*= ( const UList< scalar > &  f)

Definition at line 695 of file Field.C.

Referenced by faePatchField< Type >::operator*=(), faPatchField< Type >::operator*=(), fvPatchField< Type >::operator*=(), fvsPatchField< Type >::operator*=(), faePatchField< scalar >::write(), and fvsPatchField< scalar >::write().

Here is the caller graph for this function:

◆ operator*=() [2/3]

void operator*= ( const tmp< Field< scalar > > &  tf)

Definition at line 695 of file Field.C.

◆ operator/=() [1/3]

void operator/= ( const UList< scalar > &  f)

Definition at line 696 of file Field.C.

References f(), and os().

Referenced by fvPatchField< symmTensor >::check(), faPatchField< scalar >::evaluate(), fvPatchField< symmTensor >::evaluate(), faePatchField< Type >::operator/=(), faPatchField< Type >::operator/=(), fvPatchField< Type >::operator/=(), fvsPatchField< Type >::operator/=(), and fvsPatchField< scalar >::operator=().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator/=() [2/3]

void operator/= ( const tmp< Field< scalar > > &  tf)

Definition at line 696 of file Field.C.

◆ operator+=() [3/3]

void operator+= ( const Type &  t)

Definition at line 693 of file Field.C.

◆ operator-=() [3/3]

void operator-= ( const Type &  t)

Definition at line 694 of file Field.C.

◆ operator*=() [3/3]

void operator*= ( const scalar &  t)

Definition at line 695 of file Field.C.

◆ operator/=() [3/3]

void operator/= ( const scalar &  t)

Definition at line 696 of file Field.C.

◆ operator=() [12/12]

void operator= ( const tmp< Field< Type > > &  rhs)

Definition at line 653 of file Field.C.

References List< T >::operator=().

Here is the call graph for this function:

◆ normalise() [2/5]

void normalise ( )

Definition at line 45 of file vectorField.C.

References Foam::floatScalarROOTVSMALL, Foam::magSqr(), s(), Foam::sqrt(), Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().

Here is the call graph for this function:

◆ normalise() [3/5]

void normalise ( )

Definition at line 76 of file vectorField.C.

References Foam::doubleScalarROOTVSMALL, Foam::magSqr(), s(), Foam::sqrt(), Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().

Here is the call graph for this function:

◆ normalise() [4/5]

void normalise ( )

Inplace normalise (float) vector field.

◆ normalise() [5/5]

void normalise ( )

Inplace normalise (double) vector field.

Friends And Related Function Documentation

◆ operator [1/2]

Ostream & operator ( Ostream ,
const Field< Type > &   
)
friend

◆ operator [2/2]

Ostream & operator ( Ostream ,
const tmp< Field< Type > > &   
)
friend

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