Finite area patch class. Used for 2-D non-Euclidian finite area method. More...
Public Types | |
typedef faBoundaryMesh | BoundaryMesh |
Public Types inherited from List< label > | |
typedef SubList< label > | subList |
Declare type of subList. More... | |
Public Member Functions | |
TypeName ("patch") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, faPatch, dictionary,(const word &name, const dictionary &dict, const label index, const faBoundaryMesh &bm),(name, dict, index, bm)) | |
faPatch (const word &name, const labelList &edgeLabels, const label index, const faBoundaryMesh &bm, const label ngbPolyPatchIndex) | |
Construct from components. More... | |
faPatch (const word &name, const dictionary &dict, const label index, const faBoundaryMesh &bm) | |
Construct from dictionary. More... | |
faPatch (const faPatch &, const faBoundaryMesh &) | |
Construct as copy, resetting the boundary mesh. More... | |
virtual autoPtr< faPatch > | clone (const faBoundaryMesh &bm, const labelList &edgeLabels, const label index, const label ngbPolyPatchIndex) const |
Construct and return a clone, resetting the edge list. More... | |
virtual | ~faPatch () |
Destructor. More... | |
label | nPoints () const |
Return number of patch points. More... | |
label | ngbPolyPatchIndex () const |
Return neighbour polyPatch index. More... | |
const faBoundaryMesh & | boundaryMesh () const |
Return boundaryMesh reference. More... | |
virtual bool | coupled () const |
Return true if this patch is coupled. More... | |
label | start () const |
Patch start in edge list. More... | |
virtual label | size () const |
Patch size. More... | |
label | whichEdge (const label l) const |
Return label of edge in patch from global edge label. More... | |
template<class T > | |
List< T >::subList | patchSlice (const List< T > &l) const |
Slice list to patch. More... | |
virtual void | write (Ostream &) const |
Write. More... | |
const labelList & | pointLabels () const |
Return patch point labels. More... | |
const labelListList & | pointEdges () const |
Return patch point-edge addressing. More... | |
labelList | ngbPolyPatchFaces () const |
Return edge neighbour polyPatch faces. More... | |
tmp< vectorField > | ngbPolyPatchFaceNormals () const |
Return normals of neighbour polyPatch faces. More... | |
tmp< vectorField > | ngbPolyPatchPointNormals () const |
Return normals of neighbour polyPatch joined points. More... | |
const labelUList & | edgeFaces () const |
Return edge-face addressing. More... | |
const vectorField & | edgeCentres () const |
Return edge centres. More... | |
const vectorField & | edgeLengths () const |
Return edge length vectors. More... | |
const scalarField & | magEdgeLengths () const |
Return edge length magnitudes. More... | |
tmp< vectorField > | edgeNormals () const |
Return edge normals. More... | |
tmp< vectorField > | edgeFaceCentres () const |
Return neighbour face centres. More... | |
virtual tmp< vectorField > | delta () const |
Return cell-centre to face-centre vector. More... | |
virtual void | makeWeights (scalarField &) const |
Make patch weighting factors. More... | |
const scalarField & | weights () const |
Return patch weighting factors. More... | |
virtual void | makeDeltaCoeffs (scalarField &) const |
Make patch edge - neighbour face distances. More... | |
const scalarField & | deltaCoeffs () const |
Return patch edge - neighbour face distances. More... | |
void | resetEdges (const labelList &) |
Reset edge list. More... | |
template<class Type > | |
tmp< Field< Type > > | patchInternalField (const UList< Type > &) const |
Return given internal field next to patch as patch field. More... | |
template<class GeometricField , class Type > | |
const GeometricField::Patch & | patchField (const GeometricField &) const |
Return the corresponding patchField of the named field. More... | |
template<class GeometricField , class Type > | |
const GeometricField::Patch & | lookupPatchField (const word &name, const GeometricField *=nullptr, const Type *=nullptr) const |
Lookup and return the patchField of the named field from the. More... | |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | patchInternalField (const UList< Type > &f) const |
Public Member Functions inherited from List< label > | |
constexpr | List () noexcept |
Null constructor. More... | |
List (const label len) | |
Construct with given size. More... | |
List (const label len, const label &val) | |
Construct with given size and value for all elements. More... | |
List (const label len, const zero) | |
Construct with given size initializing all elements to zero. More... | |
List (const one, const label &val) | |
Construct with length=1, copying the value as the only content. More... | |
List (const one, label &&val) | |
Construct with length=1, moving the value as the only content. More... | |
List (const one, const zero) | |
Construct with length=1, initializing content to zero. More... | |
List (const List< label > &a) | |
Copy construct from list. More... | |
List (const UList< label > &a) | |
Copy construct contents from list. More... | |
List (List< label > &a, bool reuse) | |
Construct as copy or re-use as specified. More... | |
List (const UList< label > &list, const labelUList &indices) | |
Copy construct subset of list. More... | |
List (const UList< label > &list, const FixedList< label, N > &indices) | |
Copy construct subset of list. More... | |
List (InputIterator begIter, InputIterator endIter) | |
Construct given begin/end iterators. More... | |
List (const FixedList< label, N > &list) | |
Construct as copy of FixedList<T, N> More... | |
List (const PtrList< label > &list) | |
Construct as copy of PtrList<T> More... | |
List (const SLList< label > &list) | |
Construct as copy of SLList<T> More... | |
List (const IndirectListBase< label, Addr > &list) | |
Construct as copy of IndirectList contents. More... | |
List (std::initializer_list< label > list) | |
Construct from an initializer list. More... | |
List (List< label > &&list) | |
Move construct from List. More... | |
List (DynamicList< label, SizeMin > &&list) | |
Move construct from DynamicList. More... | |
List (SortableList< label > &&list) | |
Move construct from SortableList. More... | |
List (SLList< label > &&list) | |
Move construct from SLList. More... | |
List (Istream &is) | |
Construct from Istream. More... | |
autoPtr< List< label > > | clone () const |
Clone. More... | |
~List () | |
Destructor. More... | |
void | resize (const label newSize) |
Adjust allocated size of list. More... | |
void | resize (const label newSize, const label &val) |
Adjust allocated size of list and set val for new elements. More... | |
void | resize (const label newSize) |
void | setSize (const label newSize) |
Alias for resize(const label) More... | |
void | setSize (const label newSize, const label &val) |
Alias for resize(const label, const T&) More... | |
void | clear () |
Clear the list, i.e. set size to zero. More... | |
void | append (const label &val) |
Append an element at the end of the list. More... | |
void | append (label &&val) |
Move append an element at the end of the list. More... | |
void | append (const UList< label > &list) |
Append a List to the end of this list. More... | |
void | append (const IndirectListBase< label, Addr > &list) |
Append IndirectList contents at the end of this list. More... | |
void | transfer (List< label > &list) |
void | transfer (DynamicList< label, SizeMin > &list) |
void | transfer (SortableList< label > &list) |
label & | newElmt (const label i) |
void | operator= (const UList< label > &a) |
Assignment to UList operator. Takes linear time. More... | |
void | operator= (const List< label > &list) |
Assignment operator. Takes linear time. More... | |
void | operator= (const SLList< label > &list) |
Assignment to SLList operator. Takes linear time. More... | |
void | operator= (const IndirectListBase< label, Addr > &list) |
Assignment from IndirectList. Takes linear time. More... | |
void | operator= (const FixedList< label, N > &list) |
Copy assignment from FixedList. More... | |
void | operator= (std::initializer_list< label > list) |
Assignment to an initializer list. More... | |
void | operator= (const label &val) |
Assignment of all entries to the given value. More... | |
void | operator= (const zero) |
Assignment of all entries to zero. More... | |
void | operator= (List< label > &&list) |
Move assignment. Takes constant time. More... | |
void | operator= (DynamicList< label, SizeMin > &&list) |
Move assignment. Takes constant time. More... | |
void | operator= (SortableList< label > &&list) |
Move assignment. Takes constant time. More... | |
void | operator= (SLList< label > &&list) |
Move assignment. Takes constant time. More... | |
void | shallowCopy (const UList< label > &)=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 patchIdentifier | |
patchIdentifier (const patchIdentifier &)=default | |
Copy construct. More... | |
patchIdentifier & | operator= (const patchIdentifier &)=default |
Copy assignment. More... | |
virtual | ~patchIdentifier ()=default |
Destructor. More... | |
patchIdentifier () | |
Default construct, with index zero. More... | |
patchIdentifier (const word &name, const label index) | |
Construct from mandatory components. More... | |
patchIdentifier (const word &name, const label index, const word &physicalType, const wordList &inGroups=wordList()) | |
Construct from components. More... | |
patchIdentifier (const word &name, const dictionary &dict, const label index) | |
Construct from dictionary. More... | |
patchIdentifier (const patchIdentifier &p, const label index) | |
Copy construct, resetting the index. More... | |
const word & | name () const |
The patch name. More... | |
word & | name () |
Modifiable patch name. More... | |
const word & | physicalType () const |
The (optional) physical type of the patch. More... | |
word & | physicalType () |
Modifiable (optional) physical type of the patch. More... | |
label | index () const |
The index of this patch in the boundaryMesh. More... | |
label & | index () |
Modifiable index of this patch in the boundaryMesh. More... | |
const wordList & | inGroups () const |
The (optional) groups that the patch belongs to. More... | |
wordList & | inGroups () |
Modifiable (optional) groups that the patch belongs to. More... | |
bool | inGroup (const word &name) const |
True if the patch is in named group. More... | |
void | write (Ostream &os) const |
Static Public Member Functions | |
static autoPtr< faPatch > | New (const word &name, const dictionary &dict, const label index, const faBoundaryMesh &bm) |
Return a pointer to a new patch created. More... | |
Static Public Member Functions inherited from List< label > | |
static const List< label > & | null () |
Return a null List. More... | |
Static Public Member Functions inherited from patchIdentifier | |
static word | defaultName (const label n=-1) |
Default patch name: "patch" or "patchN". More... | |
Protected Member Functions | |
void | calcPointLabels () const |
Calculate patch point labels. More... | |
void | calcPointEdges () const |
Calculate patch point-edge addressing. More... | |
virtual void | initGeometry () |
Initialise the calculation of the patch geometry. More... | |
virtual void | calcGeometry () |
Calculate the patch geometry. More... | |
virtual void | initMovePoints (const pointField &) |
Initialise the patches for moving points. More... | |
virtual void | movePoints (const pointField &) |
Correct patch after moving points. More... | |
virtual void | initUpdateMesh () |
Initialise the update of the patch topology. More... | |
virtual void | updateMesh () |
Update of the patch topology. More... | |
Friends | |
class | faBoundaryMesh |
The faPatch geometry initialisation is called by faBoundaryMesh. More... | |
Ostream & | operator<< (Ostream &, const faPatch &) |
Finite area patch class. Used for 2-D non-Euclidian finite area method.
Author Zeljko Tukovic, FMENA Hrvoje Jasak, Wikki Ltd.
typedef faBoundaryMesh BoundaryMesh |
faPatch | ( | const word & | name, |
const labelList & | edgeLabels, | ||
const label | index, | ||
const faBoundaryMesh & | bm, | ||
const label | ngbPolyPatchIndex | ||
) |
faPatch | ( | const word & | name, |
const dictionary & | dict, | ||
const label | index, | ||
const faBoundaryMesh & | bm | ||
) |
faPatch | ( | const faPatch & | p, |
const faBoundaryMesh & | bm | ||
) |
|
protected |
Calculate patch point labels.
Definition at line 149 of file faPatch.C.
References LList< LListBase, T >::append(), stdFoam::end(), forAll, forAllIters, and mesh.
|
protected |
Calculate patch point-edge addressing.
Definition at line 188 of file faPatch.C.
References stdFoam::begin(), Foam::constant::electromagnetic::e, forAll, mesh, pointLabels(), and points.
|
inlineprotectedvirtual |
Initialise the calculation of the patch geometry.
Reimplemented in coupledFaPatch, cyclicFaPatch, and processorFaPatch.
Definition at line 118 of file faPatch.H.
Referenced by cyclicFaPatch::initGeometry().
|
inlineprotectedvirtual |
Calculate the patch geometry.
Reimplemented in coupledFaPatch, cyclicFaPatch, and processorFaPatch.
Definition at line 122 of file faPatch.H.
Referenced by cyclicFaPatch::calcGeometry().
|
inlineprotectedvirtual |
Initialise the patches for moving points.
Reimplemented in coupledFaPatch, cyclicFaPatch, and processorFaPatch.
Definition at line 126 of file faPatch.H.
Referenced by cyclicFaPatch::initMovePoints().
|
protectedvirtual |
Correct patch after moving points.
Reimplemented in coupledFaPatch, cyclicFaPatch, and processorFaPatch.
Definition at line 459 of file faPatch.C.
Referenced by processorFaPatch::initMovePoints(), and cyclicFaPatch::movePoints().
|
inlineprotectedvirtual |
Initialise the update of the patch topology.
Reimplemented in processorFaPatch.
Definition at line 133 of file faPatch.H.
Referenced by processorFaPatch::initUpdateMesh().
|
inlineprotectedvirtual |
Update of the patch topology.
Reimplemented in processorFaPatch.
Definition at line 137 of file faPatch.H.
Referenced by processorFaPatch::updateMesh().
TypeName | ( | "patch" | ) |
Runtime type information.
declareRunTimeSelectionTable | ( | autoPtr | , |
faPatch | , | ||
dictionary | , | ||
(const word &name, const dictionary &dict, const label index, const faBoundaryMesh &bm) | , | ||
(name, dict, index, bm) | |||
) |
|
inlinevirtual |
Construct and return a clone, resetting the edge list.
and boundary mesh
Reimplemented in symmetryFaPatch, and emptyFaPatch.
Definition at line 193 of file faPatch.H.
References patchIdentifier::index(), patchIdentifier::name(), autoPtr< T >::New(), and faPatch::ngbPolyPatchIndex().
|
static |
Return a pointer to a new patch created.
on freestore from dictionary
Definition at line 35 of file faPatchNew.C.
References DebugInFunction, dict, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInLookup, and Foam::name().
Referenced by faMesh::faMesh().
|
inline |
Return number of patch points.
Definition at line 226 of file faPatch.H.
References faPatch::pointLabels().
Foam::label ngbPolyPatchIndex | ( | ) | const |
Return neighbour polyPatch index.
Definition at line 120 of file faPatch.C.
Referenced by emptyFaPatch::clone(), symmetryFaPatch::clone(), and faPatch::clone().
const Foam::faBoundaryMesh & boundaryMesh | ( | ) | const |
Return boundaryMesh reference.
|
inlinevirtual |
Return true if this patch is coupled.
Reimplemented in processorFaPatch, and coupledFaPatch.
Foam::label start | ( | ) | const |
Patch start in edge list.
Definition at line 132 of file faPatch.C.
References boundaryMesh::mesh().
Referenced by faPatch::patchSlice(), and faPatch::whichEdge().
|
inlinevirtual |
Patch size.
Reimplemented in emptyFaPatch.
Definition at line 247 of file faPatch.H.
Referenced by processorFaPatch::interfaceSize(), faPatch::ngbPolyPatchFaceNormals(), faPatch::ngbPolyPatchFaces(), faPatch::patchSlice(), and faPatchMapper::size().
|
inline |
Return label of edge in patch from global edge label.
Definition at line 253 of file faPatch.H.
References faPatch::start().
Slice list to patch.
Definition at line 260 of file faPatch.H.
References faPatch::size(), and faPatch::start().
|
virtual |
Write.
Reimplemented in processorFaPatch.
Definition at line 472 of file faPatch.C.
References Foam::type(), patchIdentifier::write(), and Ostream::writeEntry().
Referenced by processorFaPatch::write().
const Foam::labelList & pointLabels | ( | ) | const |
Return patch point labels.
Definition at line 138 of file faPatch.C.
Referenced by faPatch::nPoints(), and faGlobalMeshData::updateMesh().
const Foam::labelListList & pointEdges | ( | ) | const |
Foam::labelList ngbPolyPatchFaces | ( | ) | const |
Return edge neighbour polyPatch faces.
Definition at line 242 of file faPatch.C.
References aMesh(), polyMesh::boundaryMesh(), primitiveMesh::cellEdges(), primitiveMesh::edgeFaces(), primitiveMesh::edges(), Foam::endl(), faMesh::faceLabels(), polyMesh::faceOwner(), forAll, boundaryMesh::mesh(), Foam::foamVersion::patch, faMesh::patch(), List< T >::setSize(), faPatch::size(), WarningInFunction, and polyBoundaryMesh::whichPatch().
Foam::tmp< Foam::vectorField > ngbPolyPatchFaceNormals | ( | ) | const |
Return normals of neighbour polyPatch faces.
Definition at line 310 of file faPatch.C.
References polyMesh::faces(), forAll, boundaryMesh::mesh(), tmp< T >::New(), points, polyMesh::points(), and faPatch::size().
Foam::tmp< Foam::vectorField > ngbPolyPatchPointNormals | ( | ) | const |
Return normals of neighbour polyPatch joined points.
Definition at line 338 of file faPatch.C.
References faceNormals(), forAll, Foam::mag(), tmp< T >::New(), tmp< T >::ref(), and Foam::Zero.
const Foam::labelUList & edgeFaces | ( | ) | const |
Return edge-face addressing.
Definition at line 366 of file faPatch.C.
References mesh.
Referenced by coupledFaPatch::faceCells().
const Foam::vectorField & edgeCentres | ( | ) | const |
Return edge centres.
Definition at line 380 of file faPatch.C.
References boundaryMesh::mesh().
const Foam::vectorField & edgeLengths | ( | ) | const |
Return edge length vectors.
Definition at line 386 of file faPatch.C.
References boundaryMesh::mesh().
const Foam::scalarField & magEdgeLengths | ( | ) | const |
Return edge length magnitudes.
Definition at line 392 of file faPatch.C.
References boundaryMesh::mesh().
Foam::tmp< Foam::vectorField > edgeNormals | ( | ) | const |
Return edge normals.
Definition at line 398 of file faPatch.C.
References tmp< T >::ref().
Foam::tmp< Foam::vectorField > edgeFaceCentres | ( | ) | const |
Return neighbour face centres.
Definition at line 408 of file faPatch.C.
References forAll, boundaryMesh::mesh(), and tmp< T >::ref().
|
virtual |
Return cell-centre to face-centre vector.
except for coupled patches for which the cell-centre to coupled-cell-centre vector is returned
Reimplemented in coupledFaPatch, processorFaPatch, and cyclicFaPatch.
Definition at line 428 of file faPatch.C.
Referenced by cyclicFaPatch::delta(), processorFaPatch::delta(), cyclicFaPatch::makeDeltaCoeffs(), processorFaPatch::makeDeltaCoeffs(), cyclicFaPatch::makeWeights(), and processorFaPatch::makeWeights().
|
virtual |
Make patch weighting factors.
Reimplemented in coupledFaPatch, processorFaPatch, and cyclicFaPatch.
const Foam::scalarField & weights | ( | ) | const |
Return patch weighting factors.
Definition at line 453 of file faPatch.C.
References boundaryMesh::mesh().
|
virtual |
Make patch edge - neighbour face distances.
Reimplemented in coupledFaPatch, processorFaPatch, and cyclicFaPatch.
Definition at line 435 of file faPatch.C.
References delta.
const Foam::scalarField & deltaCoeffs | ( | ) | const |
Return patch edge - neighbour face distances.
Definition at line 441 of file faPatch.C.
References boundaryMesh::mesh().
void resetEdges | ( | const labelList & | newEdges | ) |
Reset edge list.
Definition at line 463 of file faPatch.C.
References Foam::endl(), Foam::Info, and List< label >::operator=().
Return given internal field next to patch as patch field.
const GeometricField::Patch & patchField | ( | const GeometricField & | gf | ) | const |
Return the corresponding patchField of the named field.
Definition at line 54 of file faPatchTemplates.C.
References GeometricField< Type, PatchField, GeoMesh >::boundaryField().
const GeometricField::Patch & lookupPatchField | ( | const word & | name, |
const GeometricField * | = nullptr , |
||
const Type * | = nullptr |
||
) | const |
Lookup and return the patchField of the named field from the.
local objectRegistry. N.B. The dummy pointer arguments are used if this function is instantiated within a templated function to avoid a bug in gcc. See inletOutletFvPatchField.C and outletInletFvPatchField.C
Definition at line 34 of file faPatchFaMeshTemplates.C.
References mesh, and Foam::name().
Foam::tmp<Foam::Field<Type> > patchInternalField | ( | const UList< Type > & | f | ) | const |
Definition at line 34 of file faPatchTemplates.C.
References f(), forAll, and tmp< T >::ref().
|
friend |
The faPatch geometry initialisation is called by faBoundaryMesh.