List container for MRF zomes. More...
Public Member Functions | |
MRFZoneList (const fvMesh &mesh, const dictionary &dict) | |
Constructor. More... | |
~MRFZoneList ()=default | |
Destructor. More... | |
bool | active (const bool warn=false) const |
Return active status. More... | |
void | reset (const dictionary &dict) |
Reset the source list. More... | |
const MRFZone & | getFromName (const word &name) const |
Return the MRF with a given name. More... | |
void | addAcceleration (const volVectorField &U, volVectorField &ddtU) const |
Add the frame acceleration. More... | |
void | addAcceleration (fvVectorMatrix &UEqn) const |
Add the frame acceleration contribution to the momentum equation. More... | |
void | addAcceleration (const volScalarField &rho, fvVectorMatrix &UEqn) const |
Add the frame acceleration contribution to the momentum equation. More... | |
tmp< volVectorField > | DDt (const volVectorField &U) const |
Return the frame acceleration. More... | |
tmp< volVectorField > | DDt (const volScalarField &rho, const volVectorField &U) const |
Return the frame acceleration. More... | |
tmp< surfaceScalarField > | phi () const |
Return the MRF absolute flux. More... | |
void | makeRelative (volVectorField &U) const |
Make the given absolute velocity relative within the MRF region. More... | |
void | makeRelative (surfaceScalarField &phi) const |
Make the given absolute flux relative within the MRF region. More... | |
tmp< surfaceScalarField > | relative (const tmp< surfaceScalarField > &phi) const |
Return the given absolute flux relative within the MRF region. More... | |
tmp< FieldField< fvsPatchField, scalar > > | relative (const tmp< FieldField< fvsPatchField, scalar >> &tphi) const |
Return the given absolute boundary flux relative within. More... | |
tmp< Field< scalar > > | relative (const tmp< Field< scalar >> &tphi, const label patchi) const |
Return the given absolute patch flux relative within. More... | |
void | makeRelative (const surfaceScalarField &rho, surfaceScalarField &phi) const |
Make the given absolute mass-flux relative within the MRF region. More... | |
void | makeAbsolute (volVectorField &U) const |
Make the given relative velocity absolute within the MRF region. More... | |
void | makeAbsolute (surfaceScalarField &phi) const |
Make the given relative flux absolute within the MRF region. More... | |
tmp< surfaceScalarField > | absolute (const tmp< surfaceScalarField > &phi) const |
Return the given relative flux absolute within the MRF region. More... | |
void | makeAbsolute (const surfaceScalarField &rho, surfaceScalarField &phi) const |
Make the given relative mass-flux absolute within the MRF region. More... | |
void | correctBoundaryVelocity (volVectorField &U) const |
Correct the boundary velocity for the rotation of the MRF region. More... | |
void | correctBoundaryFlux (const volVectorField &U, surfaceScalarField &phi) const |
Correct the boundary flux for the rotation of the MRF region. More... | |
template<class Type > | |
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > | zeroFilter (const tmp< GeometricField< Type, fvsPatchField, surfaceMesh >> &tphi) const |
Filter-out the MRF region contribution from the given field. More... | |
void | update () |
Update MRFZone faces if the mesh topology changes. More... | |
bool | read (const dictionary &dict) |
Read dictionary. More... | |
bool | writeData (Ostream &os) const |
Write data to Ostream. More... | |
template<class Type > | |
Foam::tmp< Foam::GeometricField< Type, Foam::fvsPatchField, Foam::surfaceMesh > > | zeroFilter (const tmp< GeometricField< Type, fvsPatchField, surfaceMesh >> &tphi) const |
Public Member Functions inherited from PtrList< MRFZone > | |
constexpr | PtrList () noexcept |
Default construct. More... | |
PtrList (const label len) | |
Construct with specified size, each element initialized to nullptr. More... | |
PtrList (const PtrList< MRFZone > &list) | |
Copy construct using 'clone()' method on each element. More... | |
PtrList (PtrList< MRFZone > &&list) noexcept | |
Move construct. More... | |
PtrList (UList< MRFZone * > &list) | |
Take ownership of pointers in the list, set old pointers to null. More... | |
PtrList (const PtrList< MRFZone > &list, const CloneArg &cloneArgs) | |
Copy construct using 'clone()' method on each element. More... | |
PtrList (PtrList< MRFZone > &list, bool reuse) | |
Construct as copy or re-use as specified. More... | |
PtrList (const SLPtrList< MRFZone > &list) | |
Copy construct using 'clone()' on each element of SLPtrList<T> More... | |
PtrList (Istream &is, const INew &inew) | |
Construct from Istream using given Istream constructor class. More... | |
PtrList (Istream &is) | |
Construct from Istream using default Istream constructor class. More... | |
~PtrList () | |
Destructor. Frees all pointers. More... | |
PtrList< MRFZone > | clone (Args &&... args) const |
Make a copy by cloning each of the list elements. More... | |
Foam::PtrList< MRFZone > | clone (Args &&... args) const |
const MRFZone * | set (const label i) const |
Return const pointer to element (can be nullptr), or nullptr for out-of-range access (ie, with bounds checking). More... | |
autoPtr< MRFZone > | set (const label i, MRFZone *ptr) |
Set element to given pointer and return old element (can be null) More... | |
autoPtr< MRFZone > | set (const label i, std::unique_ptr< MRFZone > &&ptr) |
Set element to given unique_ptr and return old element. More... | |
autoPtr< MRFZone > | set (const label i, autoPtr< MRFZone > &&ptr) |
Set element to given autoPtr and return old element. More... | |
autoPtr< MRFZone > | set (const label i, const refPtr< MRFZone > &ptr) |
Set element to given refPtr and return old element. More... | |
autoPtr< MRFZone > | set (const label i, const tmp< MRFZone > &ptr) |
Set element to given tmp and return old element. More... | |
autoPtr< MRFZone > | set (const label i, autoPtr< MRFZone > &ptr) |
Set element to given autoPtr and return old element. More... | |
void | clear () |
Clear the PtrList. Delete allocated entries and set size to zero. More... | |
void | free () |
Free memory and nullify all entries. Does not change the list size. More... | |
void | resize (const label newLen) |
Adjust size of PtrList. More... | |
void | resize_null (const label newLen) |
Set the addressed list to the given size, deleting all existing entries. Afterwards the list contains all nullptr entries. More... | |
MRFZone & | emplace_back (Args &&... args) |
Construct and append an element to the end of the list, return reference to the new list element. More... | |
void | push_back (MRFZone *ptr) |
Append an element to the end of the list. More... | |
void | push_back (std::unique_ptr< MRFZone > &&ptr) |
Move append an element to the end of the list. More... | |
void | push_back (autoPtr< MRFZone > &&ptr) |
Move append an element to the end of the list. More... | |
void | push_back (const refPtr< MRFZone > &ptr) |
Move or clone append a refPtr to the end of the list. More... | |
void | push_back (const tmp< MRFZone > &ptr) |
Move or clone append a tmp to the end of the list. More... | |
void | push_back (PtrList< MRFZone > &&other) |
Move append another list to the end of this list. More... | |
void | push_back (autoPtr< MRFZone > &ptr)=delete |
Disallow push_back with autoPtr without std::move. More... | |
MRFZone & | emplace_set (const label i, Args &&... args) |
Construct and set a new element at given position, (discard old element at that location). More... | |
MRFZone & | emplace (const label i, Args &&... args) |
Same as emplace_set() More... | |
MRFZone & | try_emplace (const label i, Args &&... args) |
Like emplace_set() but will not overwrite an occupied (non-null) location. More... | |
autoPtr< MRFZone > | release (const label i) |
Release ownership of the pointer at the given position. More... | |
void | transfer (PtrList< MRFZone > &list) |
Transfer into this list and annul the argument list. More... | |
void | operator= (const PtrList< MRFZone > &list) |
Copy assignment. More... | |
void | operator= (PtrList< MRFZone > &&list) |
Move assignment. More... | |
void | setSize (const label newLen) |
Same as resize() More... | |
void | append (autoPtr< MRFZone > &ptr) |
Move append an element to the end of the list. More... | |
void | append (MRFZone *ptr) |
Append an element to the end of the list. More... | |
void | append (std::unique_ptr< MRFZone > &&ptr) |
Move append an element to the end of the list. More... | |
void | append (autoPtr< MRFZone > &&ptr) |
Move append an element to the end of the list. More... | |
void | append (const refPtr< MRFZone > &ptr) |
Move or clone append a tmp to the end of the list. More... | |
void | append (const tmp< MRFZone > &ptr) |
Move or clone append a tmp to the end of the list. More... | |
void | append (PtrList< MRFZone > &&other) |
Move append another list to the end of this list. More... | |
Public Member Functions inherited from UPtrList< T > | |
constexpr | UPtrList () noexcept=default |
Default construct. More... | |
UPtrList (const label len) | |
Construct with specified size and set all entries to nullptr . More... | |
UPtrList (const UPtrList< T > &list) | |
Copy construct (shallow copies addresses) More... | |
UPtrList (UPtrList< T > &&list) noexcept | |
Move construct. More... | |
UPtrList (UPtrList< T > &list, bool reuse) | |
Construct as shallow copy or re-use as specified. More... | |
UPtrList (PtrList< T > &list) | |
Shallow copy from PtrList. More... | |
UPtrList (const UList< T *> &list) | |
Construct from UList of pointers (shallow copy) More... | |
UPtrList (UList< T > &list) | |
Construct from UList, taking the address of each list element. More... | |
bool | empty () const noexcept |
True if the list is empty (ie, size() is zero) More... | |
label | size () const noexcept |
The number of entries in the list. More... | |
label | capacity () const noexcept |
Size of the underlying storage. More... | |
label | count_nonnull () const noexcept |
The number of non-nullptr entries in the list. More... | |
T & | front () |
Reference to the first element of the list. More... | |
const T & | front () const |
Reference to first element of the list. More... | |
T & | back () |
Reference to the last element of the list. More... | |
const T & | back () const |
Reference to the last element of the list. More... | |
const T * | test (const label i) const |
Return const pointer to element (can be nullptr), or nullptr for out-of-range access (ie, with bounds checking). More... | |
const T * | get (const label i) const |
Return const pointer to element (can be nullptr), or nullptr for out-of-range access (ie, with bounds checking). More... | |
T * | get (const label i) |
Return pointer to element (can be nullptr), or nullptr for out-of-range access (ie, with bounds checking). More... | |
const T * | set (const label i) const |
Return const pointer to element (can be nullptr), or nullptr for out-of-range access (ie, with bounds checking). More... | |
void | clear () |
Set list size to zero. More... | |
void | free () |
Nullify all entries. Does not change the list size. More... | |
void | resize (const label newLen) |
Change the size of the list. Any new entries are nullptr . More... | |
void | resize_null (const label newLen) |
Set the list to the given size and set all entries to nullptr . More... | |
label | squeezeNull () |
Squeeze out nullptr entries in the list of pointers after which any null pointers will be at the end of the list. More... | |
void | trimTrailingNull () |
Reduce addressable list size to ignore any trailing null pointers. More... | |
void | push_back (T *ptr) |
Append an element to the end of the list. More... | |
void | push_back (UPtrList< T > &&other) |
Move append another list to the end of this list. More... | |
void | swap (UPtrList< T > &list) noexcept |
Swap content. More... | |
void | transfer (UPtrList< T > &list) |
Transfer contents into this list and annul the argument. More... | |
T * | set (const label i, T *ptr) |
Set element to specified pointer and return the old list element, which can be a nullptr. More... | |
void | reorder (const labelUList &oldToNew, const bool check=false) |
Reorder elements. Reordering must be unique (ie, shuffle). More... | |
void | sortOrder (const labelUList &order, const bool check=false) |
Reorder elements according to new order mapping (newToOld). Reordering must be unique (ie, shuffle). More... | |
void | checkNonNull () const |
Check and raise FatalError if any nullptr exists in the list. More... | |
const T & | at (const label i) const |
Return const reference to the element at given position. FatalError for bounds problem or nullptr. More... | |
T & | at (const label i) |
Return reference to the element at given position. FatalError for bounds problem or nullptr. More... | |
const T & | operator[] (const label i) const |
Return const reference to the element at given position. FatalError for bounds problem or nullptr. Same as at(). More... | |
T & | operator[] (const label i) |
Return reference to the element at given position. FatalError for bounds problem or nullptr. Same as at(). More... | |
FOAM_DEPRECATED_FOR (2022-09, "get(), set() or test() methods") const T *operator()(const label i) const | |
Deprecated(2022-09) - same as get() More... | |
void | operator= (const UPtrList< T > &list) |
Copy assignment (shallow copies addresses) More... | |
void | operator= (UPtrList< T > &&list) |
Move assignment. More... | |
T ** | begin_ptr () noexcept |
Iterator to begin of raw pointers traversal (use with caution) More... | |
T ** | end_ptr () noexcept |
Iterator beyond end of raw pointers traversal (use with caution) More... | |
iterator | begin () |
Return iterator to begin traversal of non-nullptr entries. More... | |
iterator | end () noexcept |
Return iterator beyond end of UPtrList traversal. More... | |
const_iterator | cbegin () const |
Return const_iterator to begin traversal of non-nullptr entries. More... | |
const_iterator | cend () const noexcept |
Return const_iterator beyond end of UPtrList traversal. More... | |
const_iterator | begin () const |
Return const_iterator to begin traversal of non-nullptr entries. More... | |
const_iterator | end () const noexcept |
Return const_iterator beyond end of UPtrList traversal. More... | |
void | setSize (const label n) |
Alias for resize() More... | |
T & | first () |
Reference to the first element of the list. More... | |
const T & | first () const |
Return reference to first element of the list. More... | |
T & | last () |
Return reference to the last element of the list. More... | |
const T & | last () const |
Return reference to the last element of the list. More... | |
void | append (T *ptr) |
Append an element to the end of the list. More... | |
void | append (UPtrList< T > &&other) |
Move append another list to the end of this list. More... | |
label | count () const noexcept |
The number of non-nullptr entries in the list. More... | |
Protected Attributes | |
const fvMesh & | mesh_ |
Reference to the mesh database. More... | |
Protected Attributes inherited from UPtrList< T > | |
Detail::PtrListDetail< T > | ptrs_ |
The list of pointers. More... | |
Friends | |
Ostream & | operator<< (Ostream &os, const MRFZoneList &models) |
Ostream operator. More... | |
Additional Inherited Members | |
Public Types inherited from UPtrList< T > | |
typedef T | value_type |
Type of values the list contains. More... | |
typedef T & | reference |
A non-const reference to the value_type. More... | |
typedef const T & | const_reference |
A const reference to the value_type. More... | |
Protected Member Functions inherited from PtrList< MRFZone > | |
void | readIstream (Istream &is, const INew &inew) |
Read from Istream using Istream constructor class. More... | |
Protected Member Functions inherited from UPtrList< T > | |
void | setAddressableSize (const label n) noexcept |
Adjust addressable size. More... | |
label | find_next (label pos) const |
The next non-null entry after the specified position. More... | |
UPtrList (Detail::PtrListDetail< T > &&ptrs) noexcept | |
Low-level move construct. More... | |
MRFZoneList | ( | const fvMesh & | mesh, |
const dictionary & | dict | ||
) |
|
default |
Destructor.
bool active | ( | const bool | warn = false | ) | const |
Return active status.
Definition at line 46 of file MRFZoneList.C.
References Foam::endl(), forAll, Foam::Info, UPtrList< T >::operator[](), and UPtrList< T >::size().
void reset | ( | const dictionary & | dict | ) |
Reset the source list.
Definition at line 63 of file MRFZoneList.C.
References Foam::BitOps::count(), dict, Foam::endl(), Foam::Info, Foam::name(), and resize().
const Foam::MRFZone & getFromName | ( | const word & | name | ) | const |
Return the MRF with a given name.
Definition at line 97 of file MRFZoneList.C.
References List< T >::append(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::name(), and Foam::PtrListOps::names().
void addAcceleration | ( | const volVectorField & | U, |
volVectorField & | ddtU | ||
) | const |
void addAcceleration | ( | fvVectorMatrix & | UEqn | ) | const |
Add the frame acceleration contribution to the momentum equation.
Definition at line 158 of file MRFZoneList.C.
References UEqn.
void addAcceleration | ( | const volScalarField & | rho, |
fvVectorMatrix & | UEqn | ||
) | const |
Add the frame acceleration contribution to the momentum equation.
Definition at line 168 of file MRFZoneList.C.
Foam::tmp< Foam::volVectorField > DDt | ( | const volVectorField & | U | ) | const |
Return the frame acceleration.
Definition at line 181 of file MRFZoneList.C.
References Foam::dimTime, GeometricField< vector, fvPatchField, volMesh >::New(), IOobjectOption::NO_REGISTER, IOobject::scopedName(), U, and Foam::Zero.
Foam::tmp< Foam::volVectorField > DDt | ( | const volScalarField & | rho, |
const volVectorField & | U | ||
) | const |
Return the frame acceleration.
Definition at line 204 of file MRFZoneList.C.
References Foam::fvc::DDt(), rho, and U.
Foam::tmp< Foam::surfaceScalarField > phi | ( | ) | const |
Return the MRF absolute flux.
Definition at line 213 of file MRFZoneList.C.
References Foam::dimArea, Foam::dimVelocity, GeometricField< scalar, fvsPatchField, surfaceMesh >::New(), IOobjectOption::NO_REGISTER, phi, and Foam::Zero.
void makeRelative | ( | volVectorField & | U | ) | const |
Make the given absolute velocity relative within the MRF region.
Definition at line 233 of file MRFZoneList.C.
References U.
void makeRelative | ( | surfaceScalarField & | phi | ) | const |
Make the given absolute flux relative within the MRF region.
Definition at line 242 of file MRFZoneList.C.
References phi.
Foam::tmp< Foam::surfaceScalarField > relative | ( | const tmp< surfaceScalarField > & | phi | ) | const |
Return the given absolute flux relative within the MRF region.
Definition at line 252 of file MRFZoneList.C.
References tmp< T >::clear(), Foam::fvc::makeRelative(), Foam::name(), Foam::New(), and tmp< T >::ref().
Foam::tmp< Foam::FieldField< Foam::fvsPatchField, Foam::scalar > > relative | ( | const tmp< FieldField< fvsPatchField, scalar >> & | tphi | ) | const |
Return the given absolute boundary flux relative within.
the MRF region
Definition at line 282 of file MRFZoneList.C.
References tmp< T >::clear(), Foam::New(), and tmp< T >::ref().
Foam::tmp< Foam::Field< Foam::scalar > > relative | ( | const tmp< Field< scalar >> & | tphi, |
const label | patchi | ||
) | const |
Return the given absolute patch flux relative within.
the MRF region
Definition at line 306 of file MRFZoneList.C.
References tmp< T >::clear(), Foam::New(), and tmp< T >::ref().
void makeRelative | ( | const surfaceScalarField & | rho, |
surfaceScalarField & | phi | ||
) | const |
Make the given absolute mass-flux relative within the MRF region.
Definition at line 330 of file MRFZoneList.C.
void makeAbsolute | ( | volVectorField & | U | ) | const |
Make the given relative velocity absolute within the MRF region.
Definition at line 342 of file MRFZoneList.C.
References U.
void makeAbsolute | ( | surfaceScalarField & | phi | ) | const |
Make the given relative flux absolute within the MRF region.
Definition at line 351 of file MRFZoneList.C.
References phi.
Foam::tmp< Foam::surfaceScalarField > absolute | ( | const tmp< surfaceScalarField > & | phi | ) | const |
Return the given relative flux absolute within the MRF region.
Definition at line 361 of file MRFZoneList.C.
References tmp< T >::clear(), Foam::fvc::makeAbsolute(), Foam::name(), Foam::New(), and tmp< T >::ref().
void makeAbsolute | ( | const surfaceScalarField & | rho, |
surfaceScalarField & | phi | ||
) | const |
Make the given relative mass-flux absolute within the MRF region.
Definition at line 390 of file MRFZoneList.C.
void correctBoundaryVelocity | ( | volVectorField & | U | ) | const |
Correct the boundary velocity for the rotation of the MRF region.
Definition at line 402 of file MRFZoneList.C.
References U.
void correctBoundaryFlux | ( | const volVectorField & | U, |
surfaceScalarField & | phi | ||
) | const |
Correct the boundary flux for the rotation of the MRF region.
Definition at line 412 of file MRFZoneList.C.
References forAll, phi, Foam::fvc::relative(), U, and Uf.
tmp<GeometricField<Type, fvsPatchField, surfaceMesh> > zeroFilter | ( | const tmp< GeometricField< Type, fvsPatchField, surfaceMesh >> & | tphi | ) | const |
Filter-out the MRF region contribution from the given field.
setting the corresponding values to zero
void update | ( | ) |
Update MRFZone faces if the mesh topology changes.
Definition at line 434 of file MRFZoneList.C.
bool read | ( | const dictionary & | dict | ) |
Read dictionary.
Definition at line 121 of file MRFZoneList.C.
References dict, and dictionary::subDict().
Referenced by IOMRFZoneList::read().
bool writeData | ( | Ostream & | os | ) | const |
Write data to Ostream.
Definition at line 133 of file MRFZoneList.C.
References IOstream::good(), Foam::nl, and os().
Foam::tmp<Foam::GeometricField<Type, Foam::fvsPatchField, Foam::surfaceMesh> > zeroFilter | ( | const tmp< GeometricField< Type, fvsPatchField, surfaceMesh >> & | tphi | ) | const |
Definition at line 28 of file MRFZoneListTemplates.C.
References forAll, Foam::name(), Foam::New(), and tmp< T >::ref().
|
friend |
Ostream operator.
|
protected |
Reference to the mesh database.
Definition at line 78 of file MRFZoneList.H.