List of finite volume options. More...


Public Member Functions | |
| TypeName ("optionList") | |
| Runtime type information. More... | |
| optionList (const fvMesh &mesh) | |
| Default construct from mesh. More... | |
| optionList (const fvMesh &mesh, const dictionary &dict) | |
| Construct from mesh and dictionary. More... | |
| virtual | ~optionList ()=default |
| Destructor. More... | |
| void | reset (const dictionary &dict) |
| Reset the source list. More... | |
| bool | appliesToField (const word &fieldName) const |
| Return whether there is something to apply to the field. More... | |
| template<class Type > | |
| tmp< fvMatrix< Type > > | operator() (GeometricField< Type, fvPatchField, volMesh > &field) |
| Return source for equation. More... | |
| template<class Type > | |
| tmp< fvMatrix< Type > > | operator() (GeometricField< Type, fvPatchField, volMesh > &field, const word &fieldName) |
| Return source for equation with specified name. More... | |
| template<class Type > | |
| tmp< fvMatrix< Type > > | operator() (const volScalarField &rho, GeometricField< Type, fvPatchField, volMesh > &field) |
| Return source for equation. More... | |
| template<class Type > | |
| tmp< fvMatrix< Type > > | operator() (const volScalarField &rho, GeometricField< Type, fvPatchField, volMesh > &field, const word &fieldName) |
| Return source for equation with specified name. More... | |
| template<class Type > | |
| tmp< fvMatrix< Type > > | operator() (const volScalarField &alpha, const volScalarField &rho, GeometricField< Type, fvPatchField, volMesh > &field) |
| Return source for equation. More... | |
| template<class Type > | |
| tmp< fvMatrix< Type > > | operator() (const volScalarField &alpha, const volScalarField &rho, GeometricField< Type, fvPatchField, volMesh > &field, const word &fieldName) |
| Return source for equation with specified name. More... | |
| template<class Type > | |
| tmp< fvMatrix< Type > > | operator() (const volScalarField &alpha, const geometricOneField &rho, GeometricField< Type, fvPatchField, volMesh > &field) |
| Return source for equation. More... | |
| template<class Type > | |
| tmp< fvMatrix< Type > > | operator() (const geometricOneField &alpha, const volScalarField &rho, GeometricField< Type, fvPatchField, volMesh > &field) |
| Return source for equation. More... | |
| template<class Type > | |
| tmp< fvMatrix< Type > > | operator() (const geometricOneField &alpha, const geometricOneField &rho, GeometricField< Type, fvPatchField, volMesh > &field) |
| Return source for equation. More... | |
| template<class Type > | |
| tmp< fvMatrix< Type > > | d2dt2 (GeometricField< Type, fvPatchField, volMesh > &field) |
| Return source for equation with second time derivative. More... | |
| template<class Type > | |
| tmp< fvMatrix< Type > > | d2dt2 (GeometricField< Type, fvPatchField, volMesh > &field, const word &fieldName) |
| Return source for equation with second time derivative. More... | |
| template<class Type > | |
| void | constrain (fvMatrix< Type > &eqn) |
| Apply constraints to equation. More... | |
| template<class Type > | |
| void | correct (GeometricField< Type, fvPatchField, volMesh > &field) |
| Apply correction to field. More... | |
| template<class Type > | |
| void | postProcessSens (Field< Type > &sensField, const word &fieldName=word::null, const word &designVariablesName=word::null) |
| Post process sensitivity field related to the fvOption. More... | |
| virtual bool | read (const dictionary &dict) |
| Read dictionary. More... | |
| virtual bool | writeData (Ostream &os) const |
| Write data to Ostream. More... | |
Public Member Functions inherited from PtrList< fv::option > | |
| constexpr | PtrList () noexcept |
| Default construct. More... | |
| PtrList (const label len) | |
| Construct with specified size, each element initialized to nullptr. More... | |
| PtrList (const PtrList< fv::option > &list) | |
| Copy construct using 'clone()' method on each element. More... | |
| PtrList (PtrList< fv::option > &&list) | |
| Move construct. More... | |
| PtrList (UList< fv::option * > &list) | |
| Take ownership of pointers in the list, set old pointers to null. More... | |
| PtrList (const PtrList< fv::option > &list, const CloneArg &cloneArgs) | |
| Copy construct using 'clone()' method on each element. More... | |
| PtrList (PtrList< fv::option > &list, bool reuse) | |
| Construct as copy or re-use as specified. More... | |
| PtrList (const SLPtrList< fv::option > &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< fv::option > | clone (Args &&... args) const |
| Make a copy by cloning each of the list elements. More... | |
| Foam::PtrList< fv::option > | clone (Args &&... args) const |
| const fv::option * | 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< fv::option > | set (const label i, fv::option *ptr) |
| Set element to given pointer and return old element (can be null) More... | |
| autoPtr< fv::option > | set (const label i, std::unique_ptr< fv::option > &&ptr) |
| Set element to given unique_ptr and return old element. More... | |
| autoPtr< fv::option > | set (const label i, autoPtr< fv::option > &&ptr) |
| Set element to given autoPtr and return old element. More... | |
| autoPtr< fv::option > | set (const label i, const refPtr< fv::option > &ptr) |
| Set element to given refPtr and return old element. More... | |
| autoPtr< fv::option > | set (const label i, const tmp< fv::option > &ptr) |
| Set element to given tmp and return old element. More... | |
| autoPtr< fv::option > | set (const label i, autoPtr< fv::option > &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... | |
| fv::option & | 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 (fv::option *ptr) |
| Append an element to the end of the list. More... | |
| void | push_back (std::unique_ptr< fv::option > &&ptr) |
| Move append an element to the end of the list. More... | |
| void | push_back (autoPtr< fv::option > &&ptr) |
| Move append an element to the end of the list. More... | |
| void | push_back (const refPtr< fv::option > &ptr) |
| Move or clone append a refPtr to the end of the list. More... | |
| void | push_back (const tmp< fv::option > &ptr) |
| Move or clone append a tmp to the end of the list. More... | |
| void | push_back (PtrList< fv::option > &&other) |
| Move append another list to the end of this list. More... | |
| void | push_back (autoPtr< fv::option > &ptr)=delete |
| Disallow push_back with autoPtr without std::move. More... | |
| fv::option & | emplace_set (const label i, Args &&... args) |
| Construct and set a new element at given position, (discard old element at that location). Return reference to the new list element. More... | |
| fv::option & | emplace (const label i, Args &&... args) |
| Same as emplace_set() More... | |
| autoPtr< fv::option > | release (const label i) |
| Release ownership of the pointer at the given position. More... | |
| void | transfer (PtrList< fv::option > &list) |
| Transfer into this list and annul the argument list. More... | |
| void | operator= (const PtrList< fv::option > &list) |
| Copy assignment. More... | |
| void | operator= (PtrList< fv::option > &&list) |
| Move assignment. More... | |
| void | setSize (const label newLen) |
| Same as resize() More... | |
| void | append (autoPtr< fv::option > &ptr) |
| Move append an element to the end of the list. More... | |
| void | append (fv::option *ptr) |
| Append an element to the end of the list. More... | |
| void | append (std::unique_ptr< fv::option > &&ptr) |
| Move append an element to the end of the list. More... | |
| void | append (autoPtr< fv::option > &&ptr) |
| Move append an element to the end of the list. More... | |
| void | append (const refPtr< fv::option > &ptr) |
| Move or clone append a tmp to the end of the list. More... | |
| void | append (const tmp< fv::option > &ptr) |
| Move or clone append a tmp to the end of the list. More... | |
| void | append (PtrList< fv::option > &&other) |
| Move append another list to the end of this list. More... | |
Public Member Functions inherited from UPtrList< T > | |
| constexpr | UPtrList () noexcept |
| Default construct. More... | |
| UPtrList (const label len) | |
| Construct with specified size, each element initialized to nullptr. More... | |
| UPtrList (const UPtrList< T > &list) | |
| Copy construct (shallow copies addresses) More... | |
| UPtrList (UPtrList< T > &&list) | |
| 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 | count () const noexcept |
| The number of non-null 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. 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) |
| 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... | |
Protected Member Functions | |
| bool | readOptions (const dictionary &dict) |
| Read options dictionary. More... | |
| void | checkApplied () const |
| Check that all sources have been applied. More... | |
| template<class Type > | |
| tmp< fvMatrix< Type > > | source (GeometricField< Type, fvPatchField, volMesh > &field, const word &fieldName, const dimensionSet &ds) |
| Return source for equation with specified name and dimensions. More... | |
| optionList (const optionList &)=delete | |
| No copy construct. More... | |
| void | operator= (const optionList &)=delete |
| No copy assignment. More... | |
Protected Member Functions inherited from PtrList< fv::option > | |
| 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) | |
| Low-level move construct. More... | |
Static Protected Member Functions | |
| static const dictionary & | optionsDict (const dictionary &dict) |
| Return "options" sub-dictionary (if present) or return dict. More... | |
Protected Attributes | |
| const fvMesh & | mesh_ |
| Reference to the mesh database. More... | |
| label | checkTimeIndex_ |
| Time index to check that all defined sources have been applied. More... | |
Protected Attributes inherited from UPtrList< T > | |
| Detail::PtrListDetail< T > | ptrs_ |
| The list of pointers. More... | |
Friends | |
| Ostream & | operator<< (Ostream &os, const optionList &options) |
| 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... | |
List of finite volume options.
Definition at line 63 of file fvOptionList.H.
|
protecteddelete |
No copy construct.
Referenced by kEpsilonLopesdaCosta< BasicTurbulenceModel >::setPorosityCoefficients().

|
explicit |
Default construct from mesh.
Definition at line 77 of file fvOptionList.C.
| optionList | ( | const fvMesh & | mesh, |
| const dictionary & | dict | ||
| ) |
Construct from mesh and dictionary.
Definition at line 85 of file fvOptionList.C.
References dict, optionList::optionsDict(), and optionList::reset().

|
virtualdefault |
Destructor.
|
staticprotected |
Return "options" sub-dictionary (if present) or return dict.
Definition at line 39 of file fvOptionList.C.
References dict.
Referenced by optionList::optionList().

|
protected |
Read options dictionary.
Definition at line 49 of file fvOptionList.C.
References optionList::checkTimeIndex_, dict, optionList::mesh_, option::name(), option::read(), fvMesh::time(), and TimeState::timeIndex().

|
protected |
Check that all sources have been applied.
Definition at line 63 of file fvOptionList.C.
References option::checkApplied().
Referenced by optionList::constrain().


|
protected |
Return source for equation with specified name and dimensions.
Referenced by optionList::constrain().

|
protecteddelete |
No copy assignment.
| TypeName | ( | "optionList" | ) |
Runtime type information.
| void reset | ( | const dictionary & | dict | ) |
Reset the source list.
Definition at line 95 of file fvOptionList.C.
References Foam::BitOps::count(), dict, Foam::name(), option::New(), and resize().
Referenced by optionList::optionList().


| bool appliesToField | ( | const word & | fieldName | ) | const |
Return whether there is something to apply to the field.
Definition at line 127 of file fvOptionList.C.
References option::applyToField().

| tmp<fvMatrix<Type> > operator() | ( | GeometricField< Type, fvPatchField, volMesh > & | field | ) |
Return source for equation.
| tmp<fvMatrix<Type> > operator() | ( | GeometricField< Type, fvPatchField, volMesh > & | field, |
| const word & | fieldName | ||
| ) |
Return source for equation with specified name.
| tmp<fvMatrix<Type> > operator() | ( | const volScalarField & | rho, |
| GeometricField< Type, fvPatchField, volMesh > & | field | ||
| ) |
Return source for equation.
| tmp<fvMatrix<Type> > operator() | ( | const volScalarField & | rho, |
| GeometricField< Type, fvPatchField, volMesh > & | field, | ||
| const word & | fieldName | ||
| ) |
Return source for equation with specified name.
| tmp<fvMatrix<Type> > operator() | ( | const volScalarField & | alpha, |
| const volScalarField & | rho, | ||
| GeometricField< Type, fvPatchField, volMesh > & | field | ||
| ) |
Return source for equation.
| tmp<fvMatrix<Type> > operator() | ( | const volScalarField & | alpha, |
| const volScalarField & | rho, | ||
| GeometricField< Type, fvPatchField, volMesh > & | field, | ||
| const word & | fieldName | ||
| ) |
Return source for equation with specified name.
| tmp<fvMatrix<Type> > operator() | ( | const volScalarField & | alpha, |
| const geometricOneField & | rho, | ||
| GeometricField< Type, fvPatchField, volMesh > & | field | ||
| ) |
Return source for equation.
| tmp<fvMatrix<Type> > operator() | ( | const geometricOneField & | alpha, |
| const volScalarField & | rho, | ||
| GeometricField< Type, fvPatchField, volMesh > & | field | ||
| ) |
Return source for equation.
| tmp<fvMatrix<Type> > operator() | ( | const geometricOneField & | alpha, |
| const geometricOneField & | rho, | ||
| GeometricField< Type, fvPatchField, volMesh > & | field | ||
| ) |
Return source for equation.
| tmp<fvMatrix<Type> > d2dt2 | ( | GeometricField< Type, fvPatchField, volMesh > & | field | ) |
Return source for equation with second time derivative.
| tmp<fvMatrix<Type> > d2dt2 | ( | GeometricField< Type, fvPatchField, volMesh > & | field, |
| const word & | fieldName | ||
| ) |
Return source for equation with second time derivative.
| void constrain | ( | fvMatrix< Type > & | eqn | ) |
Apply constraints to equation.
Definition at line 307 of file fvOptionListTemplates.C.
References addProfiling, optionList::checkApplied(), Foam::ensightOutput::debug, Foam::endl(), Foam::Info, fvMatrix< Type >::psi(), and optionList::source().
Referenced by SpalartAllmarasBase< eddyViscosity< RASModel< BasicTurbulenceModel > > >::correct(), kOmegaSSTBase< eddyViscosity< RASModel< BasicTurbulenceModel > > >::correct(), incompressiblePrimalSolver::correctBoundaryConditions(), simple::mainIter(), adjointSimple::mainIter(), velocityComponentLaplacianFvMotionSolver::solve(), velocityLaplacianFvMotionSolver::solve(), displacementComponentLaplacianFvMotionSolver::solve(), displacementSBRStressFvMotionSolver::solve(), solidBodyDisplacementLaplacianFvMotionSolver::solve(), displacementLaplacianFvMotionSolver::solve(), and surfaceAlignedSBRStressFvMotionSolver::solve().


| void correct | ( | GeometricField< Type, fvPatchField, volMesh > & | field | ) |
Apply correction to field.
Definition at line 348 of file fvOptionListTemplates.C.
References addProfiling, option::applyToField(), option::correct(), Foam::ensightOutput::debug, Foam::endl(), field(), Foam::Info, option::isActive(), option::name(), and option::setApplied().
Referenced by SpalartAllmarasBase< eddyViscosity< RASModel< BasicTurbulenceModel > > >::correct(), kOmegaSSTBase< eddyViscosity< RASModel< BasicTurbulenceModel > > >::correct(), dynamicLagrangian< BasicTurbulenceModel >::correctNut(), kOmega< BasicTurbulenceModel >::correctNut(), kEqn< BasicTurbulenceModel >::correctNut(), sigma< BasicTurbulenceModel >::correctNut(), realizableKE< BasicTurbulenceModel >::correctNut(), continuousGasKEpsilon< BasicTurbulenceModel >::correctNut(), DeardorffDiffStress< BasicTurbulenceModel >::correctNut(), SmagorinskyZhang< BasicTurbulenceModel >::correctNut(), WALE< BasicTurbulenceModel >::correctNut(), NicenoKEqn< BasicTurbulenceModel >::correctNut(), kEpsilon< EddyDiffusivity< compressible::turbulenceModel > >::correctNut(), LaheyKEpsilon< BasicTurbulenceModel >::correctNut(), Smagorinsky< BasicTurbulenceModel >::correctNut(), RNGkEpsilon< BasicTurbulenceModel >::correctNut(), LaunderSharmaKE< BasicTurbulenceModel >::correctNut(), dynamicKEqn< BasicTurbulenceModel >::correctNut(), kEpsilonLopesdaCosta< BasicTurbulenceModel >::correctNut(), SSG< BasicTurbulenceModel >::correctNut(), mixtureKEpsilon< BasicTurbulenceModel >::correctNut(), LRR< BasicTurbulenceModel >::correctNut(), kOmegaSSTSato< BasicTurbulenceModel >::correctNut(), SpalartAllmarasBase< eddyViscosity< RASModel< BasicTurbulenceModel > > >::correctNut(), kEpsilonPhitF< BasicTurbulenceModel >::correctNut(), kOmegaSSTBase< eddyViscosity< RASModel< BasicTurbulenceModel > > >::correctNut(), kL< BasicTurbulenceModel >::correctNut(), simple::mainIter(), adjointSimple::mainIter(), velocityComponentLaplacianFvMotionSolver::solve(), velocityLaplacianFvMotionSolver::solve(), displacementComponentLaplacianFvMotionSolver::solve(), displacementSBRStressFvMotionSolver::solve(), solidBodyDisplacementLaplacianFvMotionSolver::solve(), displacementLaplacianFvMotionSolver::solve(), and surfaceAlignedSBRStressFvMotionSolver::solve().


| void postProcessSens | ( | Field< Type > & | sensField, |
| const word & | fieldName = word::null, |
||
| const word & | designVariablesName = word::null |
||
| ) |
Post process sensitivity field related to the fvOption.
Definition at line 391 of file fvOptionListTemplates.C.
References addProfiling, option::applyToField(), Foam::ensightOutput::debug, Foam::endl(), Foam::Info, option::isActive(), option::name(), and option::postProcessSens().
Referenced by FIBase::accumulateIntegrand(), and adjointSensitivity::adjointMeshMovementSource().


|
virtual |
Read dictionary.
Definition at line 143 of file fvOptionList.C.
References dict.
Referenced by options::read().

|
virtual |
Write data to Ostream.
Definition at line 149 of file fvOptionList.C.
References Foam::nl, os(), option::writeData(), option::writeFooter(), and option::writeHeader().
Referenced by Foam::operator<<().


|
friend |
Ostream operator.
|
protected |
Reference to the mesh database.
Definition at line 74 of file fvOptionList.H.
Referenced by optionList::readOptions().
|
protected |
Time index to check that all defined sources have been applied.
Definition at line 79 of file fvOptionList.H.
Referenced by optionList::readOptions().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.