Processor patch. More...
Public Member Functions | |
TypeName ("processor") | |
Runtime type information. More... | |
processorFaPatch (const word &name, const labelList &edgeLabels, const label index, const faBoundaryMesh &bm, const label ngbPolyPatchIndex, const label myProcNo, const label neighbProcNo) | |
Construct from components. More... | |
processorFaPatch (const word &name, const dictionary &dict, const label index, const faBoundaryMesh &bm) | |
Construct from dictionary. More... | |
virtual | ~processorFaPatch () |
Destructor. More... | |
virtual label | interfaceSize () const noexcept |
Return interface size. More... | |
int | myProcNo () const noexcept |
Return processor number. More... | |
int | neighbProcNo () const noexcept |
Return neighbour processor number. More... | |
virtual bool | coupled () const |
Return true if running parallel. More... | |
virtual bool | master () const noexcept |
Is this the master side? More... | |
virtual label | comm () const |
Return communicator used for communication. More... | |
virtual int | tag () const |
Return message tag to use for communication. More... | |
virtual const tensorField & | forwardT () const |
Return face transformation tensor. More... | |
virtual tmp< vectorField > | delta () const |
Return delta (P to N) vectors across coupled patch. More... | |
const vectorField & | neighbEdgeCentres () const |
Return processor-neighbour patch edge centres. More... | |
const vectorField & | neighbEdgeLengths () const |
Return processor-neighbour patch edge lengths. More... | |
const vectorField & | neighbEdgeFaceCentres () const |
Return processor-neighbour patch neighbour face centres. More... | |
const labelList & | neighbPoints () const |
Return neighbour point labels. This is for my local point the. More... | |
const labelList & | nonGlobalPatchPoints () const |
Return the set of labels of the processor patch points which are. More... | |
virtual tmp< labelField > | interfaceInternalField (const labelUList &internalData) const |
virtual tmp< labelField > | interfaceInternalField (const labelUList &internalData, const labelUList &edgeFaces) const |
virtual void | initTransfer (const Pstream::commsTypes commsType, const labelUList &interfaceData) const |
Initialise interface data transfer. More... | |
virtual tmp< labelField > | transfer (const Pstream::commsTypes commsType, const labelUList &interfaceData) const |
Transfer and return neighbour field. More... | |
virtual void | initInternalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &internalData) const |
Initialise neighbour field transfer. More... | |
virtual tmp< labelField > | internalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &internalData) const |
Return neighbour field. More... | |
virtual tmp< labelField > | internalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &internalData, const labelUList &edgeCells) const |
Return neighbour field using mapping. More... | |
virtual void | write (Ostream &os) const |
Write the patch data as a dictionary. More... | |
![]() | |
TypeName ("coupled") | |
Runtime type information. More... | |
coupledFaPatch (const word &name, const labelList &edgeLabels, const label index, const faBoundaryMesh &bm, const label ngbPolyPatchIndex) | |
Construct from components. More... | |
coupledFaPatch (const word &name, const dictionary &dict, const label index, const faBoundaryMesh &bm) | |
Construct from dictionary. More... | |
virtual | ~coupledFaPatch ()=default |
Destructor. More... | |
bool | separated () const |
Are the coupled planes separated. More... | |
const vectorField & | separation () const |
Return the offset (distance) vector from one side of the couple. More... | |
const tensorField & | forwardT () const |
Return face transformation tensor. More... | |
const tensorField & | reverseT () const |
Return neighbour-cell transformation tensor. More... | |
bool | parallel () const |
Are the cyclic planes parallel. More... | |
virtual const labelUList & | faceCells () const |
Return faceCell addressing: lduInterface virtual function. More... | |
![]() | |
TypeName ("lduInterface") | |
Runtime type information. More... | |
lduInterface ()=default | |
Construct null. More... | |
virtual | ~lduInterface ()=default |
Destructor. More... | |
virtual void | initInternalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &iF, const labelUList &faceCells) const |
![]() | |
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 |
virtual | ~faPatch () |
Destructor. More... | |
const labelList & | edgeLabels () const noexcept |
Return the list of edges. More... | |
void | edgeLabels (const UList< label > &newEdgeLabels) |
Define new list of edges. More... | |
label | nPoints () const |
Number of patch points. More... | |
label | nEdges () const noexcept |
Number of edge labels (boundary edges) addressed by this patch. More... | |
label | ngbPolyPatchIndex () const noexcept |
The neighbour polyPatch index. More... | |
const faBoundaryMesh & | boundaryMesh () const noexcept |
Return boundaryMesh reference. More... | |
label | start () const |
Patch start in edge list. More... | |
virtual label | size () const |
Patch size is the number of edge labels. 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... | |
List< labelPair > | boundaryConnections () const |
labelList | boundaryProcs () const |
List< labelPair > | boundaryProcSizes () const |
const labelList & | pointLabels () const |
Return patch point labels. More... | |
const labelListList & | pointEdges () const |
Return patch point-edge addressing. 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... | |
const scalarField & | weights () const |
Return patch weighting factors. More... | |
void | makeCorrectionVectors (vectorField &) const |
const scalarField & | deltaCoeffs () const |
Return patch edge - neighbour face distances. More... | |
void | resetEdges (const UList< label > &newEdges) |
Reset the list of edges (use with caution) More... | |
void | resetEdges (labelList &&newEdges) |
Reset the list of edges (use with caution) 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 Type > | |
tmp< Foam::Field< Type > > | patchInternalField (const UList< Type > &f, const labelUList &edgeFaces) 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 |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | patchInternalField (const UList< Type > &f) const |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | patchInternalField (const UList< Type > &f, const labelUList &edgeFaces) const |
![]() | |
patchIdentifier (const patchIdentifier &)=default | |
Copy construct. More... | |
patchIdentifier & | operator= (const patchIdentifier &)=default |
Copy assignment. More... | |
virtual | ~patchIdentifier ()=default |
Destructor. More... | |
patchIdentifier () | |
Default construct. Uses name="", index=0. 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 &ident, const label index) | |
Copy construct, resetting the index. More... | |
const word & | name () const noexcept |
The patch name. More... | |
word & | name () noexcept |
Modifiable patch name. More... | |
label | index () const noexcept |
The index of this patch in the boundaryMesh. More... | |
label & | index () noexcept |
Modifiable index of this patch in the boundaryMesh. More... | |
const word & | physicalType () const noexcept |
The (optional) physical type of the patch. More... | |
word & | physicalType () noexcept |
Modifiable (optional) physical type of the patch. More... | |
const wordList & | inGroups () const noexcept |
The (optional) groups that the patch belongs to. More... | |
wordList & | inGroups () noexcept |
Modifiable (optional) groups that the patch belongs to. More... | |
bool | inGroup (const word &name) const |
True if given name is in a group. More... | |
void | write (Ostream &os) const |
![]() | |
constexpr | List () noexcept |
Default construct. More... | |
List (const label len) | |
Construct with given size. More... | |
List (const label len, const T &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 T &val) | |
Construct with length=1, copying the value as the only content. More... | |
List (const Foam::one, T &&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< T > &a) | |
Copy construct from list. More... | |
List (const UList< T > &a) | |
Copy construct contents from list. More... | |
List (List< T > &a, bool reuse) | |
Construct as copy or re-use as specified. More... | |
List (const UList< T > &list, const labelUList &indices) | |
Copy construct subset of list. More... | |
template<unsigned N> | |
List (const UList< T > &list, const FixedList< label, N > &indices) | |
Copy construct subset of list. More... | |
template<unsigned N> | |
List (const FixedList< T, N > &list) | |
Construct as copy of FixedList<T, N> More... | |
List (const PtrList< T > &list) | |
Construct as copy of PtrList<T> More... | |
List (const SLList< T > &list) | |
Construct as copy of SLList<T> More... | |
template<class Addr > | |
List (const IndirectListBase< T, Addr > &list) | |
Construct as copy of IndirectList contents. More... | |
List (std::initializer_list< T > list) | |
Construct from an initializer list. More... | |
List (List< T > &&list) | |
Move construct from List. More... | |
template<int SizeMin> | |
List (DynamicList< T, SizeMin > &&list) | |
Move construct from DynamicList. More... | |
List (SortableList< T > &&list) | |
Move construct from SortableList. More... | |
List (SLList< T > &&list) | |
Move construct from SLList. More... | |
List (Istream &is) | |
Construct from Istream. More... | |
autoPtr< List< T > > | 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 T &val) |
Adjust allocated size of list and set val for new elements. More... | |
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 T &val) |
Alias for resize() More... | |
void | append (const T &val) |
Append an element at the end of the list. More... | |
void | append (T &&val) |
Move append an element at the end of the list. More... | |
void | append (const UList< T > &list) |
Append a List to the end of this list. More... | |
template<class Addr > | |
void | append (const IndirectListBase< T, Addr > &list) |
Append IndirectList contents at the end of this list. More... | |
label | appendUniq (const T &val) |
Append an element if not already in the list. More... | |
void | transfer (List< T > &list) |
template<int SizeMin> | |
void | transfer (DynamicList< T, SizeMin > &list) |
void | transfer (SortableList< T > &list) |
T & | newElmt (const label i) |
void | operator= (const UList< T > &a) |
Assignment to UList operator. Takes linear time. More... | |
void | operator= (const List< T > &list) |
Assignment operator. Takes linear time. More... | |
void | operator= (const SLList< T > &list) |
Assignment to SLList operator. Takes linear time. More... | |
template<class Addr > | |
void | operator= (const IndirectListBase< T, Addr > &list) |
Assignment from IndirectList. Takes linear time. More... | |
template<unsigned N> | |
void | operator= (const FixedList< T, N > &list) |
Copy assignment from FixedList. More... | |
void | operator= (std::initializer_list< T > list) |
Assignment to an initializer list. 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... | |
void | operator= (List< T > &&list) |
Move assignment. Takes constant time. More... | |
template<int SizeMin> | |
void | operator= (DynamicList< T, SizeMin > &&list) |
Move assignment. Takes constant time. More... | |
void | operator= (SortableList< T > &&list) |
Move assignment. Takes constant time. More... | |
void | operator= (SLList< T > &&list) |
Move assignment. Takes constant time. More... | |
Istream & | readList (Istream &is) |
Read List from Istream, discarding contents of existing List. More... | |
void | shallowCopy (const UList< T > &)=delete |
No shallowCopy permitted. More... | |
template<class TypeT = T> | |
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... | |
template<> | |
Istream & | readList (Istream &is) |
template<> | |
void | resize (const label newLen) |
template<> | |
Istream & | readList (Istream &is) |
![]() | |
TypeName ("processorLduInterface") | |
Runtime type information. More... | |
processorLduInterface ()=default | |
Construct null. More... | |
virtual | ~processorLduInterface ()=default |
Destructor. More... | |
template<class Type > | |
void | send (const Pstream::commsTypes commsType, const UList< Type > &f) const |
Raw send function. More... | |
template<class Type > | |
void | receive (const Pstream::commsTypes commsType, UList< Type > &f) const |
Raw receive function. More... | |
template<class Type > | |
tmp< Field< Type > > | receive (const Pstream::commsTypes commsType, const label size) const |
Raw receive function returning field. More... | |
template<class Type > | |
void | compressedSend (const Pstream::commsTypes commsType, const UList< Type > &f) const |
Raw send function with data compression. More... | |
template<class Type > | |
void | compressedReceive (const Pstream::commsTypes commsType, UList< Type > &f) const |
Raw receive function with data compression. More... | |
template<class Type > | |
tmp< Field< Type > > | compressedReceive (const Pstream::commsTypes commsType, const label size) const |
Raw receive function with data compression returning field. More... | |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | receive (const Pstream::commsTypes commsType, const label size) const |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | compressedReceive (const Pstream::commsTypes commsType, const label size) const |
Protected Member Functions | |
void | makeWeights (scalarField &) const |
Make patch weighting factors. More... | |
void | makeDeltaCoeffs (scalarField &) const |
Make patch face - neighbour cell distances. More... | |
void | makeNonGlobalPatchPoints () const |
Find non-globa patch points. More... | |
void | initGeometry () |
Initialise the calculation of the patch geometry. More... | |
void | calcGeometry () |
Calculate the patch geometry. More... | |
void | initMovePoints (const pointField &) |
Initialise the patches for moving points. More... | |
void | movePoints (const pointField &) |
Correct patches after moving points. More... | |
virtual void | initUpdateMesh () |
Initialise the update of the patch topology. More... | |
virtual void | updateMesh () |
Update of the patch topology. More... | |
![]() | |
void | calcTransformTensors (const vector &Cf, const vector &Cr, const vector &nf, const vector &nr) const |
Calculate the uniform transformation tensors. More... | |
void | calcTransformTensors (const vectorField &Cf, const vectorField &Cr, const vectorField &nf, const vectorField &nr) const |
Calculate the transformation tensors. More... | |
![]() | |
void | calcPointLabels () const |
Calculate patch point labels. More... | |
void | calcPointEdges () const |
Calculate patch point-edge addressing. More... | |
Additional Inherited Members | |
![]() | |
typedef faBoundaryMesh | BoundaryMesh |
![]() | |
typedef SubList< T > | subList |
Declare type of subList. More... | |
![]() | |
static autoPtr< faPatch > | New (const word &name, const dictionary &dict, const label index, const faBoundaryMesh &bm) |
![]() | |
static word | defaultName (const label n=-1) |
Default patch name: "patch" or "patchN". More... | |
![]() | |
static const List< T > & | null () |
Return a null List. More... | |
Processor patch.
Author Zeljko Tukovic, FMENA Hrvoje Jasak, Wikki Ltd.
Definition at line 56 of file processorFaPatch.H.
|
inline |
Construct from components.
Definition at line 132 of file processorFaPatch.H.
|
inline |
Construct from dictionary.
Definition at line 154 of file processorFaPatch.H.
|
virtual |
Destructor.
Definition at line 49 of file processorFaPatch.C.
References Foam::deleteDemandDrivenData().
|
protectedvirtual |
Make patch weighting factors.
Implements coupledFaPatch.
Definition at line 364 of file processorFaPatch.C.
References faPatch::delta(), Foam::mag(), and UPstream::parRun().
|
protectedvirtual |
Make patch face - neighbour cell distances.
Implements coupledFaPatch.
Definition at line 394 of file processorFaPatch.C.
References faPatch::delta(), and UPstream::parRun().
|
protected |
Find non-globa patch points.
Definition at line 70 of file processorFaPatch.C.
References forAll, found, Foam::identity(), mesh, boundaryMesh::mesh(), PrimitivePatch< FaceList, PointField >::meshPoints(), nPoints, UPstream::parRun(), pointLabels(), and List< T >::setSize().
|
protectedvirtual |
Initialise the calculation of the patch geometry.
Implements coupledFaPatch.
Definition at line 164 of file processorFaPatch.C.
References UPstream::blocking, and UPstream::parRun().
|
protectedvirtual |
Calculate the patch geometry.
Implements coupledFaPatch.
Definition at line 183 of file processorFaPatch.C.
References UPstream::blocking, Foam::constant::electromagnetic::e, Foam::exit(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::mag(), and UPstream::parRun().
|
protectedvirtual |
Initialise the patches for moving points.
Implements coupledFaPatch.
Definition at line 229 of file processorFaPatch.C.
References faPatch::movePoints(), and p.
|
protectedvirtual |
Correct patches after moving points.
Implements coupledFaPatch.
Definition at line 236 of file processorFaPatch.C.
|
protectedvirtual |
Initialise the update of the patch topology.
Reimplemented from faPatch.
Definition at line 242 of file processorFaPatch.C.
References UPstream::blocking, Foam::deleteDemandDrivenData(), Foam::constant::electromagnetic::e, faPatch::initUpdateMesh(), mesh, nPoints, UPstream::parRun(), and pointLabels().
|
protectedvirtual |
Update of the patch topology.
Reimplemented from faPatch.
Definition at line 285 of file processorFaPatch.C.
References UPstream::blocking, Foam::constant::electromagnetic::e, forAll, mesh, nPoints, UPstream::parRun(), pointLabels(), and faPatch::updateMesh().
TypeName | ( | "processor" | ) |
Runtime type information.
|
inlinevirtualnoexcept |
Return interface size.
Definition at line 179 of file processorFaPatch.H.
References faPatch::size().
|
inlinevirtualnoexcept |
Return processor number.
Implements processorLduInterface.
Definition at line 185 of file processorFaPatch.H.
Referenced by processorFaPatchField< Type >::myProcNo().
|
inlinevirtualnoexcept |
Return neighbour processor number.
Implements processorLduInterface.
Definition at line 191 of file processorFaPatch.H.
Referenced by processorFaPatchField< Type >::neighbProcNo().
|
inlinevirtual |
Return true if running parallel.
Reimplemented from coupledFaPatch.
Definition at line 197 of file processorFaPatch.H.
References UPstream::parRun().
|
inlinevirtualnoexcept |
Is this the master side?
Definition at line 203 of file processorFaPatch.H.
|
virtual |
Return communicator used for communication.
Implements processorLduInterface.
Definition at line 58 of file processorFaPatch.C.
References boundaryMesh::mesh().
|
virtual |
Return message tag to use for communication.
Implements processorLduInterface.
Definition at line 64 of file processorFaPatch.C.
References UPstream::msgType().
|
inlinevirtual |
Return face transformation tensor.
Implements processorLduInterface.
Definition at line 219 of file processorFaPatch.H.
References coupledFaPatch::forwardT().
Referenced by processorFaPatchField< Type >::forwardT().
|
virtual |
Return delta (P to N) vectors across coupled patch.
Implements coupledFaPatch.
Definition at line 407 of file processorFaPatch.C.
References faPatch::delta(), UPstream::parRun(), and Foam::transform().
|
inline |
Return processor-neighbour patch edge centres.
Definition at line 229 of file processorFaPatch.H.
|
inline |
Return processor-neighbour patch edge lengths.
Definition at line 235 of file processorFaPatch.H.
|
inline |
Return processor-neighbour patch neighbour face centres.
Definition at line 241 of file processorFaPatch.H.
const Foam::labelList & neighbPoints | ( | ) | const |
Return neighbour point labels. This is for my local point the.
corresponding local point on the other side. Call faBoundaryMesh::updateMesh() on all processors before using this.
Definition at line 341 of file processorFaPatch.C.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, Foam::name(), and Foam::nl.
const Foam::labelList & nonGlobalPatchPoints | ( | ) | const |
Return the set of labels of the processor patch points which are.
non-global, i.e. present in this processorFaPatch
Definition at line 442 of file processorFaPatch.C.
|
virtual |
Return the values of the given internal data adjacent to the interface as a field
Implements coupledFaPatch.
Definition at line 454 of file processorFaPatch.C.
|
virtual |
Return the values of the given internal data adjacent to the interface as a field using edgeFaces
Implements lduInterface.
Definition at line 463 of file processorFaPatch.C.
|
virtual |
Initialise interface data transfer.
Reimplemented from coupledFaPatch.
Definition at line 473 of file processorFaPatch.C.
|
virtual |
Transfer and return neighbour field.
Implements coupledFaPatch.
Definition at line 483 of file processorFaPatch.C.
|
virtual |
Initialise neighbour field transfer.
Reimplemented from coupledFaPatch.
Definition at line 493 of file processorFaPatch.C.
|
virtual |
Return neighbour field.
Implements coupledFaPatch.
Definition at line 503 of file processorFaPatch.C.
|
virtual |
Return neighbour field using mapping.
Definition at line 513 of file processorFaPatch.C.
|
virtual |
Write the patch data as a dictionary.
Reimplemented from faPatch.
Definition at line 523 of file processorFaPatch.C.
References os(), faPatch::write(), and Ostream::writeEntry().