Cyclic patch for Arbitrary Mesh Interface (AMI) More...
Public Member Functions | |
TypeName ("cyclicAMI") | |
Runtime type information. More... | |
cyclicAMIPolyPatch (const word &name, const label size, const label start, const label index, const polyBoundaryMesh &bm, const word &patchType, const transformType transform=UNKNOWN, const word &defaultAMIMethod=faceAreaWeightAMI::typeName) | |
Construct from (base coupled patch) components. More... | |
cyclicAMIPolyPatch (const word &name, const dictionary &dict, const label index, const polyBoundaryMesh &bm, const word &patchType, const word &defaultAMIMethod=faceAreaWeightAMI::typeName) | |
Construct from dictionary. More... | |
cyclicAMIPolyPatch (const cyclicAMIPolyPatch &, const polyBoundaryMesh &) | |
Construct as copy, resetting the boundary mesh. More... | |
cyclicAMIPolyPatch (const cyclicAMIPolyPatch &pp, const polyBoundaryMesh &bm, const label index, const label newSize, const label newStart, const word &nbrPatchName) | |
Construct given the original patch and resetting the. More... | |
cyclicAMIPolyPatch (const cyclicAMIPolyPatch &pp, const polyBoundaryMesh &bm, const label index, const labelUList &mapAddressing, const label newStart) | |
Construct given the original patch and a map. More... | |
virtual autoPtr< polyPatch > | clone (const polyBoundaryMesh &bm) const |
Construct and return a clone, resetting the boundary mesh. More... | |
virtual autoPtr< polyPatch > | clone (const polyBoundaryMesh &bm, const label index, const label newSize, const label newStart) const |
Construct and return a clone, resetting the face list and boundary mesh. More... | |
virtual autoPtr< polyPatch > | clone (const polyBoundaryMesh &bm, const label index, const labelUList &mapAddressing, const label newStart) const |
Construct and return a clone, resetting the face list. More... | |
virtual | ~cyclicAMIPolyPatch ()=default |
Destructor. More... | |
virtual void | newInternalProcFaces (label &, label &) const |
Return number of new internal of this polyPatch faces. More... | |
virtual const labelUList & | nbrCells () const |
Return nbrCells. More... | |
virtual label | neighbPolyPatchID () const |
Return nbr patch ID. More... | |
virtual refPtr< labelListList > | mapCollocatedFaces () const |
Return collocated faces map. More... | |
virtual bool | masterImplicit () const |
Return implicit master. More... | |
bool | canResetAMI () const |
Flag to indicate whether the AMI can be reset. More... | |
bool | createAMIFaces () const |
Return access to the createAMIFaces flag. More... | |
bool | updatingAMI () const |
Return access to the updated flag. More... | |
virtual bool | changeTopology () const |
Return true if this patch changes the mesh topology. More... | |
virtual bool | setTopology (polyTopoChange &topoChange) |
Set topology changes in the polyTopoChange object. More... | |
virtual bool | coupled () const |
Is patch 'coupled'. Note that on AMI the geometry is not coupled but the fields are! More... | |
const word & | neighbPatchName () const |
Neighbour patch name. More... | |
virtual label | neighbPatchID () const |
Neighbour patch ID. More... | |
scalar | fraction () const |
Particle fraction increase between AMI pathces. More... | |
virtual bool | owner () const |
Does this side own the patch? More... | |
virtual const cyclicAMIPolyPatch & | neighbPatch () const |
Return a reference to the neighbour patch. More... | |
label | periodicPatchID () const |
Periodic patch ID (or -1) More... | |
const AMIPatchToPatchInterpolation & | AMI () const |
Return a reference to the AMI interpolator. More... | |
const scalarListList & | weights () const |
Helper function to return the weights. More... | |
const scalarField & | weightsSum () const |
Helper function to return the weights sum. More... | |
bool | applyLowWeightCorrection () const |
Return true if applying the low weight correction. More... | |
vectorField & | faceAreas0 () const |
Return access to the initial face areas. More... | |
vectorField & | faceCentres0 () const |
Return access to the initial face centres. More... | |
const vector & | rotationAxis () const |
Axis of rotation for rotational cyclic AMI. More... | |
const point & | rotationCentre () const |
Point on axis of rotation for rotational cyclic AMI. More... | |
const vector & | separationVector () const |
Translation vector for translational cyclic AMI. More... | |
virtual void | transformPosition (pointField &) const |
Transform patch-based positions from nbr side to this side. More... | |
virtual void | transformPosition (point &l, const label facei) const |
Transform a patch-based position from nbr side to this side. More... | |
virtual void | reverseTransformPosition (point &l, const label facei) const |
Transform a patch-based position from this side to nbr side. More... | |
virtual void | reverseTransformDirection (vector &d, const label facei) const |
Transform a patch-based direction from this side to nbr side. More... | |
template<class Type > | |
tmp< Field< Type > > | interpolate (const Field< Type > &fld, const UList< Type > &defaultValues=UList< Type >()) const |
Interpolate field. More... | |
template<class Type > | |
tmp< Field< Type > > | interpolate (const tmp< Field< Type >> &tFld, const UList< Type > &defaultValues=UList< Type >()) const |
Interpolate tmp field. More... | |
template<class Type > | |
tmp< Field< Type > > | interpolateUntransformed (const Field< Type > &fld, const UList< Type > &defaultValues) const |
Interpolate without periodic. More... | |
template<class Type , class CombineOp > | |
void | interpolate (const UList< Type > &fld, const CombineOp &cop, List< Type > &result, const UList< Type > &defaultValues=UList< Type >()) const |
Low-level interpolate List. More... | |
template<class Type > | |
void | initInterpolateUntransformed (const Field< Type > &fld, labelRange &sendRequests, PtrList< List< Type >> &sendBuffers, labelRange &recvRequests, PtrList< List< Type >> &recvBuffers) const |
template<class Type > | |
void | initInterpolate (const Field< Type > &fld, labelRange &sendRequests, PtrList< List< Type >> &sendBuffers, labelRange &recvRequests, PtrList< List< Type >> &recvBuffers) const |
template<class Type > | |
tmp< Field< Type > > | interpolate (const Field< Type > &localFld, const labelRange &requests, const PtrList< List< Type >> &recvBuffers, const UList< Type > &defaultValues) const |
virtual void | calcGeometry (const primitivePatch &referPatch, const pointField &thisCtrs, const vectorField &thisAreas, const pointField &thisCc, const pointField &nbrCtrs, const vectorField &nbrAreas, const pointField &nbrCc) |
Calculate the patch geometry. More... | |
virtual void | initOrder (PstreamBuffers &, const primitivePatch &) const |
Initialize ordering for primitivePatch. Does not refer to *this (except for name() and type() etc.) More... | |
virtual bool | order (PstreamBuffers &, const primitivePatch &, labelList &faceMap, labelList &rotation) const |
Return new ordering for primitivePatch. More... | |
label | pointFace (const label facei, const vector &n, point &p) const |
Return face index on neighbour patch which shares point p following trajectory vector n. More... | |
virtual void | write (Ostream &) const |
Write the polyPatch data as a dictionary. More... | |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | interpolateUntransformed (const Field< Type > &fld, const UList< Type > &defaultValues) const |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | interpolate (const Field< Type > &fld, const UList< Type > &defaultValues) const |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | interpolate (const tmp< Field< Type >> &tFld, const UList< Type > &defaultValues) const |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | interpolate (const Field< Type > &localFld, const labelRange &requests, const PtrList< List< Type >> &recvBuffers, const UList< Type > &defaultValues) const |
Public Member Functions inherited from coupledPolyPatch | |
TypeName ("coupled") | |
Runtime type information. More... | |
coupledPolyPatch (const word &name, const label size, const label start, const label index, const polyBoundaryMesh &bm, const word &patchType, const transformType transform) | |
Construct from components. More... | |
coupledPolyPatch (const word &name, const dictionary &dict, const label index, const polyBoundaryMesh &bm, const word &patchType) | |
Construct from dictionary. More... | |
coupledPolyPatch (const coupledPolyPatch &, const polyBoundaryMesh &bm) | |
Copy construct, resetting the boundary mesh. More... | |
coupledPolyPatch (const coupledPolyPatch &, const labelList &faceCells) | |
Copy construct, resetting the faceCells. More... | |
coupledPolyPatch (const coupledPolyPatch &pp, const polyBoundaryMesh &bm, const label index, const label newSize, const label newStart) | |
Construct given the original patch and resetting the face list and boundary mesh information. More... | |
coupledPolyPatch (const coupledPolyPatch &pp, const polyBoundaryMesh &bm, const label index, const labelUList &mapAddressing, const label newStart) | |
Construct given the original patch and a map. More... | |
virtual | ~coupledPolyPatch () |
Destructor. More... | |
virtual bool | neighbour () const |
Does the coupled side own the patch ? More... | |
virtual label | referPatchID () const |
The referring patchID (eg, for cyclics). More... | |
virtual transformType | transform () const |
Type of transform. More... | |
virtual transformType & | transform () |
Type of transform. More... | |
virtual bool | separated () const |
Are the planes separated. More... | |
virtual const vectorField & | separation () const |
If the planes are separated the separation vector. More... | |
virtual bool | parallel () const |
Are the cyclic planes parallel. More... | |
virtual const tensorField & | forwardT () const |
Return face transformation tensor. More... | |
virtual const tensorField & | reverseT () const |
Return neighbour-cell transformation tensor. More... | |
virtual const boolList & | collocated () const |
Are faces collocated. Either size 0,1 or length of patch. More... | |
scalar | matchTolerance () const |
Public Member Functions inherited from polyPatch | |
TypeName ("patch") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, polyPatch, word,(const word &name, const label size, const label start, const label index, const polyBoundaryMesh &bm, const word &patchType),(name, size, start, index, bm, patchType)) | |
declareRunTimeSelectionTable (autoPtr, polyPatch, dictionary,(const word &name, const dictionary &dict, const label index, const polyBoundaryMesh &bm, const word &patchType),(name, dict, index, bm, patchType)) | |
polyPatch (const word &name, const label size, const label start, const label index, const polyBoundaryMesh &bm, const word &patchType) | |
Construct from components. More... | |
polyPatch (const word &name, const label size, const label start, const label index, const polyBoundaryMesh &bm, const word &physicalType, const wordList &inGroups) | |
Construct from components. More... | |
polyPatch (const word &name, const dictionary &dict, const label index, const polyBoundaryMesh &bm, const word &patchType) | |
Construct from dictionary. More... | |
polyPatch (const polyPatch &, const polyBoundaryMesh &) | |
Copy construct, resetting the boundary mesh. More... | |
polyPatch (const polyPatch &pp, const polyBoundaryMesh &bm, const label index, const label newSize, const label newStart) | |
Construct given the original patch and resetting the face list and boundary mesh information. More... | |
polyPatch (const polyPatch &pp, const polyBoundaryMesh &bm, const label index, const labelUList &mapAddressing, const label newStart) | |
Construct given the original patch and a map. More... | |
polyPatch (const polyPatch &p) | |
Copy construct. More... | |
polyPatch (const polyPatch &p, const labelList &faceCells) | |
Copy construct, setting faceCells. More... | |
virtual autoPtr< polyPatch > | clone (const labelList &faceCells) const |
Construct and return a clone, setting faceCells. More... | |
virtual | ~polyPatch () |
Destructor. More... | |
virtual word | neighbRegionID () const |
Return neighbour region name. More... | |
label | offset () const noexcept |
The offset where this patch starts in the boundary face list. More... | |
label | start () const noexcept |
Return start label of this patch in the polyMesh face list. More... | |
labelRange | range () const |
Return start/size range of this patch. More... | |
const polyBoundaryMesh & | boundaryMesh () const noexcept |
Return boundaryMesh reference. More... | |
template<class T > | |
const UIndirectList< T > | patchInternalList (const UList< T > &internalValues) const |
Extract face cell data. More... | |
template<class T > | |
const List< T >::subList | patchSlice (const UList< T > &values) const |
This patch slice from the complete list, which has size mesh::nFaces(), using the number of patch faces. More... | |
template<class T > | |
const List< T >::subList | boundarySlice (const List< T > &values) const |
This patch slice from the list of boundary values, which has size mesh::nBoundaryFaces(), using the number of patch faces. More... | |
template<class T > | |
const Field< T >::subField | patchSlice (const Field< T > &values) const |
Slice Field to patch, using the number of patch faces. More... | |
const vectorField::subField | faceCentres () const |
Return face centres. More... | |
const vectorField::subField | faceAreas () const |
Return face normals. More... | |
tmp< vectorField > | faceCellCentres () const |
Return face cell centres. More... | |
tmp< scalarField > | areaFraction (const pointField &points) const |
Calculate the area fraction as the ratio of the stored face area and the area given by the face points. More... | |
tmp< scalarField > | areaFraction () const |
Return the cached area fraction. Usually only set for the non-overlap patches on ACMI. More... | |
void | areaFraction (const scalar fraction) |
Set uniform cached area fraction. More... | |
void | areaFraction (const tmp< scalarField > &fraction) |
Set cached area fraction (non-uniform) More... | |
const labelUList & | faceCells () const |
Return face-cell addressing. More... | |
const labelList & | meshEdges () const |
Return global edge index for local edges. More... | |
virtual void | clearAddressing () |
Clear addressing. More... | |
label | whichFace (const label facei) const noexcept |
Return label of face in patch from global face label. More... | |
void | operator= (const polyPatch &p) |
Copy assignment. More... | |
Public Member Functions inherited from patchIdentifier | |
patchIdentifier (const patchIdentifier &)=default | |
Copy construct. More... | |
patchIdentifier (patchIdentifier &&)=default | |
Move construct. More... | |
patchIdentifier & | operator= (const patchIdentifier &)=default |
Copy assignment. More... | |
patchIdentifier & | operator= (patchIdentifier &&)=default |
Move assignment. More... | |
virtual | ~patchIdentifier ()=default |
Destructor. More... | |
patchIdentifier () | |
Default construct: 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 newIndex) | |
Copy construct, resetting the index (if non-negative) More... | |
patchIdentifier (patchIdentifier &&ident, const label newIndex) | |
Move construct, resetting the index (if non-negative) 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 | addGroup (const word &name) |
Add (unique) group for the patch. More... | |
void | removeGroup (const word &name) |
Remove group for the patch. More... | |
void | write (Ostream &os) const |
Write (physicalType, inGroups) dictionary entries (without surrounding braces) More... | |
Public Member Functions inherited from PrimitivePatch< FaceList, PointField > | |
PrimitivePatch (const FaceList &faces, const PointField &points) | |
Construct from components. More... | |
PrimitivePatch (FaceList &&faces, const PointField &points) | |
Construct from components, transferring faces. More... | |
PrimitivePatch (FaceList &faces, PointField &points, const bool reuse) | |
Construct from components, reuse storage. More... | |
PrimitivePatch (const PrimitivePatch< FaceList, PointField > &pp) | |
Copy construct. More... | |
virtual | ~PrimitivePatch () |
Destructor. More... | |
void | clearOut () |
void | clearGeom () |
void | clearTopology () |
void | clearPatchMeshAddr () |
void | swap (PrimitivePatch &)=delete |
Suppress direct swapping, since storage containers may be const. More... | |
const Field< point_type > & | points () const noexcept |
Return reference to global points. More... | |
label | nFaces () const noexcept |
Number of faces in the patch. More... | |
label | nPoints () const |
Number of points supporting patch faces. More... | |
label | nEdges () const |
Number of edges in patch. More... | |
const edgeList & | edges () const |
Return list of edges, address into LOCAL point list. More... | |
const edgeList::subList | internalEdges () const |
Return sub-list of internal edges, address into LOCAL point list. More... | |
const edgeList::subList | boundaryEdges () const |
Return sub-list of boundary edges, address into LOCAL point list. More... | |
label | nInternalEdges () const |
Number of internal edges. More... | |
label | nBoundaryEdges () const |
Number of boundary edges == (nEdges() - nInternalEdges()) More... | |
bool | isInternalEdge (const label edgei) const |
Is internal edge? More... | |
const labelList & | boundaryPoints () const |
Return list of boundary points, address into LOCAL point list. More... | |
const labelListList & | faceFaces () const |
Return face-face addressing. More... | |
const labelListList & | edgeFaces () const |
Return edge-face addressing. More... | |
const labelListList & | faceEdges () const |
Return face-edge addressing. More... | |
const labelListList & | pointEdges () const |
Return point-edge addressing. More... | |
const labelListList & | pointFaces () const |
Return point-face addressing. More... | |
const List< face_type > & | localFaces () const |
Return patch faces addressing into local point list. More... | |
labelList | boundaryFaces () const |
Extract list of local faces corresponding to the boundary edges. More... | |
labelList | uniqBoundaryFaces () const |
Extract sorted list of unique local faces associated with the boundary edges. More... | |
const labelList & | meshPoints () const |
Return labelList of mesh points in patch. More... | |
const Map< label > & | meshPointMap () const |
Mesh point map. More... | |
const Field< point_type > & | localPoints () const |
Return pointField of points in patch. More... | |
const labelList & | localPointOrder () const |
Return orders the local points for most efficient search. More... | |
label | whichPoint (const label gp) const |
Given a global point index, return the local point index. More... | |
edge | meshEdge (const label edgei) const |
From patch edge to global edge using meshPoints. More... | |
edge | meshEdge (const edge &e) const |
From patch edge to global edge using meshPoints. More... | |
label | findEdge (const edge &e) const |
Search for edge (local point labels) and return its index in the edge list or -1 if not found. More... | |
labelList | meshEdges (const edgeList &allEdges, const labelListList &cellEdges, const labelList &faceCells) const |
Return labels of patch edges in the global edge list using cell addressing. More... | |
labelList | meshEdges (const edgeList &allEdges, const labelListList &pointEdges) const |
Return labels of patch edges into the global edge list using basic edge addressing. More... | |
label | meshEdge (const label edgei, const edgeList &allEdges, const labelListList &pointEdges) const |
Return label of the local patch edge into the global edge list using basic edge addressing. More... | |
labelList | meshEdges (const labelUList &edgeLabels, const edgeList &allEdges, const labelListList &pointEdges) const |
Return labels of specified patch edges into the global edge list using basic edge addressing. More... | |
const Field< point_type > & | faceCentres () const |
Return face centres for patch. More... | |
const Field< point_type > & | faceAreas () const |
Return face area vectors for patch. More... | |
const Field< scalar > & | magFaceAreas () const |
Return face area magnitudes for patch. More... | |
const Field< point_type > & | faceNormals () const |
Return face unit normals for patch. More... | |
const Field< point_type > & | pointNormals () const |
Return point normals for patch. More... | |
Pair< point_type > | box () const |
The enclosing (bounding) box for the patch points. More... | |
scalar | sphere (const label facei) const |
The enclosing (bounding) sphere radius^2 for specified face. More... | |
bool | hasFaceAreas () const |
bool | hasFaceCentres () const |
bool | hasFaceNormals () const |
bool | hasPointNormals () const |
bool | hasBoundaryPoints () const |
bool | hasEdges () const |
bool | hasFaceFaces () const |
bool | hasEdgeFaces () const |
bool | hasFaceEdges () const |
bool | hasPointEdges () const |
bool | hasPointFaces () const |
bool | hasMeshPoints () const |
bool | hasMeshPointMap () const |
template<class ToPatch > | |
List< objectHit > | projectPoints (const ToPatch &targetPatch, const Field< point_type > &projectionDirection, const intersection::algorithm=intersection::FULL_RAY, const intersection::direction=intersection::VECTOR) const |
Project vertices of patch onto another patch. More... | |
template<class ToPatch > | |
List< objectHit > | projectFaceCentres (const ToPatch &targetPatch, const Field< point_type > &projectionDirection, const intersection::algorithm=intersection::FULL_RAY, const intersection::direction=intersection::VECTOR) const |
Project vertices of patch onto another patch. More... | |
const labelListList & | edgeLoops () const |
Return list of closed loops of boundary vertices. More... | |
surfaceTopo | surfaceType (labelHashSet *badEdgesPtr=nullptr) const |
Calculate surface type formed by patch, optionally recording the indices of illegal edges. More... | |
bool | checkTopology (const bool report=false, labelHashSet *pointSetPtr=nullptr) const |
Check surface formed by patch for manifoldness (see above). More... | |
bool | checkPointManifold (const bool report=false, labelHashSet *pointSetPtr=nullptr) const |
Checks primitivePatch for faces sharing point but not edge. More... | |
virtual void | movePoints (const Field< point_type > &) |
Correct patch after moving points. More... | |
void | operator= (const PrimitivePatch< FaceList, PointField > &rhs) |
Copy assign faces. Leave points alone (could be a reference). More... | |
void | operator= (PrimitivePatch< FaceList, PointField > &&rhs) |
Move assign faces. Leave points alone (could be a reference). More... | |
label | whichEdge (const edge &e) const |
Identical to findEdge. More... | |
template<class ToPatch > | |
Foam::List< Foam::objectHit > | projectPoints (const ToPatch &targetPatch, const Field< typename Foam::PrimitivePatch< FaceList, PointField >::point_type > &projectionDirection, const intersection::algorithm alg, const intersection::direction dir) const |
template<class ToPatch > | |
Foam::List< Foam::objectHit > | projectFaceCentres (const ToPatch &targetPatch, const Field< typename Foam::PrimitivePatch< FaceList, PointField >::point_type > &projectionDirection, const intersection::algorithm alg, const intersection::direction dir) const |
Public Member Functions inherited from PrimitivePatchBase | |
ClassName ("PrimitivePatch") | |
Runtime type information. More... | |
PrimitivePatchBase ()=default | |
Default construct. More... | |
Static Public Attributes | |
static const scalar | tolerance_ = 1e-10 |
Tolerance used e.g. for area calculations/limits. More... | |
Static Public Attributes inherited from coupledPolyPatch | |
static const Enum< transformType > | transformTypeNames |
Static Public Attributes inherited from polyPatch | |
static int | disallowGenericPolyPatch |
Debug switch to disallow the use of genericPolyPatch. More... | |
Protected Member Functions | |
virtual bool | removeAMIFaces (polyTopoChange &topoChange) |
Collect faces to remove in the topoChange container. More... | |
virtual bool | addAMIFaces (polyTopoChange &topoChange) |
Collect faces to add in the topoChange container. More... | |
virtual void | setAMIFaces () |
Set properties of newly inserted faces after topological changes. More... | |
virtual void | restoreScaledGeometry () |
Helper to re-apply the geometric scaling lost during mesh updates. More... | |
const autoPtr< searchableSurface > & | surfPtr () const |
Create and return pointer to the projection surface. More... | |
autoPtr< coordSystem::cylindrical > | cylindricalCS () const |
Create a coordinate system from the periodic patch (or nullptr) More... | |
virtual void | resetAMI (const UList< point > &points) const |
Reset the AMI interpolator, supply patch points. More... | |
virtual void | resetAMI () const |
Reset the AMI interpolator, use current patch points. More... | |
virtual void | calcTransforms () |
Recalculate the transformation tensors. More... | |
virtual void | initGeometry (PstreamBuffers &) |
Initialise the calculation of the patch geometry. More... | |
virtual void | calcGeometry (PstreamBuffers &) |
Calculate the patch geometry. More... | |
virtual void | initMovePoints (PstreamBuffers &pBufs, const pointField &) |
Initialise the patches for moving points. More... | |
virtual void | movePoints (PstreamBuffers &pBufs, const pointField &) |
Correct patches after moving points. More... | |
virtual void | initUpdateMesh (PstreamBuffers &) |
Initialise the update of the patch topology. More... | |
virtual void | updateMesh (PstreamBuffers &) |
Update of the patch topology. More... | |
virtual void | clearGeom () |
Clear geometry. More... | |
Protected Member Functions inherited from coupledPolyPatch | |
void | calcTransformTensors (const vectorField &Cf, const vectorField &Cr, const vectorField &nf, const vectorField &nr, const scalarField &smallDist, const scalar absTol, const transformType=UNKNOWN) const |
Calculate the transformation tensors. More... | |
Protected Member Functions inherited from polyPatch | |
virtual void | movePoints (const Field< point_type > &) |
Inherit movePoints from primitivePatch. More... | |
Protected Attributes | |
word | nbrPatchName_ |
Name of other half. More... | |
const coupleGroupIdentifier | coupleGroup_ |
Optional patchGroup to find neighbPatch. More... | |
label | nbrPatchID_ |
Index of other half. More... | |
const scalar | fraction_ |
Particle displacement fraction accross AMI. More... | |
vector | rotationAxis_ |
Axis of rotation for rotational cyclics. More... | |
point | rotationCentre_ |
Point on axis of rotation for rotational cyclics. More... | |
bool | rotationAngleDefined_ |
Flag to show whether the rotation angle is defined. More... | |
scalar | rotationAngle_ |
Rotation angle. More... | |
vector | separationVector_ |
Translation vector. More... | |
word | periodicPatchName_ |
Periodic patch name. More... | |
label | periodicPatchID_ |
Periodic patch. More... | |
autoPtr< AMIPatchToPatchInterpolation > | AMIPtr_ |
AMI interpolation class. More... | |
const dictionary | surfDict_ |
Dictionary used during projection surface construction. More... | |
autoPtr< searchableSurface > | surfPtr_ |
Projection surface. More... | |
bool | createAMIFaces_ |
Flag to indicate that new AMI faces will created. More... | |
bool | moveFaceCentres_ |
Move face centres (default = no) More... | |
bool | updatingAMI_ |
labelListList | srcFaceIDs_ |
labelListList | tgtFaceIDs_ |
vectorField | faceAreas0_ |
Temporary storage for AMI face areas. More... | |
vectorField | faceCentres0_ |
Temporary storage for AMI face centres. More... | |
Additional Inherited Members | |
Public Types inherited from coupledPolyPatch | |
enum | transformType { UNKNOWN, ROTATIONAL, TRANSLATIONAL, COINCIDENTFULLMATCH, NOORDERING } |
Public Types inherited from PrimitivePatch< FaceList, PointField > | |
enum | surfaceTopo { MANIFOLD, OPEN, ILLEGAL } |
Enumeration defining the surface type. Used in check routines. More... | |
typedef std::remove_reference< FaceList >::type::value_type | face_type |
The face type. More... | |
typedef std::remove_reference< PointField >::type::value_type | point_type |
The point type. More... | |
typedef FaceList | FaceListType |
The face list type. More... | |
typedef PointField | PointFieldType |
The point field type. More... | |
typedef face_type | FaceType |
Deprecated(2020-03) prefer face_type typedef. More... | |
Static Public Member Functions inherited from coupledPolyPatch | |
static scalarField | calcFaceTol (const UList< face > &faces, const pointField &points, const pointField &faceCentres) |
Calculate typical tolerance per face. Is currently max distance. More... | |
Static Public Member Functions inherited from polyPatch | |
static autoPtr< polyPatch > | New (const word &patchType, const word &name, const label size, const label start, const label index, const polyBoundaryMesh &bm) |
Return pointer to a new patch created on freestore from components. More... | |
static autoPtr< polyPatch > | New (const word &name, const dictionary &dict, const label index, const polyBoundaryMesh &bm) |
Return pointer to a new patch created on freestore from dictionary. More... | |
static autoPtr< polyPatch > | New (const word &patchType, const word &name, const dictionary &dict, const label index, const polyBoundaryMesh &bm) |
Return pointer to a new patch created on freestore from dictionary. More... | |
static bool | constraintType (const word &patchType) |
Return true if the given type is a constraint type. More... | |
static wordList | constraintTypes () |
Return a list of all the constraint patch types. More... | |
Static Public Member Functions inherited from patchIdentifier | |
static word | defaultName (const label n=-1) |
Default patch name: "patch" or "patchN". More... | |
Static Protected Member Functions inherited from coupledPolyPatch | |
static void | writeOBJ (Ostream &os, const point &pt) |
Write point in OBJ format. More... | |
static void | writeOBJ (Ostream &, const pointField &, const labelList &) |
Write selected points in OBJ format. More... | |
static void | writeOBJ (const fileName &, const UList< face > &, const pointField &) |
Write patch. More... | |
static void | writeOBJ (Ostream &os, const point &p0, const point &p1, label &vertI) |
Write edge in OBJ format. More... | |
static pointField | getAnchorPoints (const UList< face > &, const pointField &, const transformType) |
Get a unique anchor point for all faces. More... | |
static label | getRotation (const pointField &points, const face &f, const point &anchor, const scalar tol) |
Get the number of vertices face f needs to be rotated such that. More... | |
Cyclic patch for Arbitrary Mesh Interface (AMI)
Includes provision for updating the patch topology to enforce a 1-to-1 face match across the interface, based on the createAMIFaces
flag.
The manipulations are based on the reference:
H.J. Aguerre, S. Márquez Damián, J.M. Gimenez, N.M.Nigro, Conservative handling of arbitrary non-conformal interfaces using an efficient supermesh, Journal of Computational Physics 335(15) 21-49. 2017. https://doi.org/10.1016/j.jcp.2017.01.018.
Definition at line 65 of file cyclicAMIPolyPatch.H.
cyclicAMIPolyPatch | ( | const word & | name, |
const label | size, | ||
const label | start, | ||
const label | index, | ||
const polyBoundaryMesh & | bm, | ||
const word & | patchType, | ||
const transformType | transform = UNKNOWN , |
||
const word & | defaultAMIMethod = faceAreaWeightAMI::typeName |
||
) |
Construct from (base coupled patch) components.
Definition at line 602 of file cyclicAMIPolyPatch.C.
Referenced by cyclicAMIPolyPatch::clone().
cyclicAMIPolyPatch | ( | const word & | name, |
const dictionary & | dict, | ||
const label | index, | ||
const polyBoundaryMesh & | bm, | ||
const word & | patchType, | ||
const word & | defaultAMIMethod = faceAreaWeightAMI::typeName |
||
) |
Construct from dictionary.
Definition at line 641 of file cyclicAMIPolyPatch.C.
References Foam::ensightOutput::debug, Foam::degToRad(), dict, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, dictionary::get(), dictionary::getOrDefault(), Foam::Info, Foam::mag(), Foam::name(), dictionary::readEntry(), dictionary::readIfPresent(), and Foam::transform().
cyclicAMIPolyPatch | ( | const cyclicAMIPolyPatch & | pp, |
const polyBoundaryMesh & | bm | ||
) |
Construct as copy, resetting the boundary mesh.
Definition at line 752 of file cyclicAMIPolyPatch.C.
cyclicAMIPolyPatch | ( | const cyclicAMIPolyPatch & | pp, |
const polyBoundaryMesh & | bm, | ||
const label | index, | ||
const label | newSize, | ||
const label | newStart, | ||
const word & | nbrPatchName | ||
) |
Construct given the original patch and resetting the.
face list and boundary mesh information
Definition at line 786 of file cyclicAMIPolyPatch.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, and Foam::name().
cyclicAMIPolyPatch | ( | const cyclicAMIPolyPatch & | pp, |
const polyBoundaryMesh & | bm, | ||
const label | index, | ||
const labelUList & | mapAddressing, | ||
const label | newStart | ||
) |
Construct given the original patch and a map.
Definition at line 832 of file cyclicAMIPolyPatch.C.
|
virtualdefault |
Destructor.
|
protectedvirtual |
Collect faces to remove in the topoChange container.
Definition at line 75 of file cyclicAMIPolyPatchTopologyChange.C.
References Foam::abort(), DebugInFunction, Foam::endl(), Foam::FatalError, FatalErrorInFunction, polyTopoChange::removeFace(), and polyPatch::start().
|
protectedvirtual |
Collect faces to add in the topoChange container.
Definition at line 130 of file cyclicAMIPolyPatchTopologyChange.C.
References Foam::abort(), polyTopoChange::addFace(), Foam::ensightOutput::debug, DebugInFunction, UList< T >::empty(), Foam::endl(), polyMesh::faceOwner(), polyMesh::faces(), polyMesh::faceZones(), Foam::FatalError, FatalErrorInFunction, forAll, patchIdentifier::index(), Foam::Info, mesh, boundaryMesh::mesh(), patchIdentifier::name(), Foam::name(), Foam::nl, Foam::Pout, Foam::returnReduce(), Foam::returnReduceOr(), List< T >::setSize(), UList< T >::size(), polyPatch::start(), and ZoneMesh< ZoneType, MeshType >::whichZone().
|
protectedvirtual |
Set properties of newly inserted faces after topological changes.
Definition at line 254 of file cyclicAMIPolyPatchTopologyChange.C.
References Foam::abort(), Foam::ensightOutput::debug, DebugInFunction, Foam::endl(), polyPatch::faceAreas(), cyclicAMIPolyPatch::faceAreas0(), polyPatch::faceCentres(), cyclicAMIPolyPatch::faceCentres0(), Foam::FatalError, FatalErrorInFunction, UList< T >::find(), forAll, Foam::identity(), Foam::mag(), Foam::name(), Foam::nl, Foam::Pout, autoPtr< T >::reset(), and UList< T >::size().
|
protectedvirtual |
Helper to re-apply the geometric scaling lost during mesh updates.
Definition at line 28 of file cyclicAMIPolyPatchTopologyChange.C.
References Foam::abort(), polyPatch::boundaryMesh(), List< T >::clear(), cyclicAMIPolyPatch::createAMIFaces_, DebugInfo, DebugInFunction, Foam::endl(), polyPatch::faceAreas(), cyclicAMIPolyPatch::faceAreas0_, polyPatch::faceCentres(), cyclicAMIPolyPatch::faceCentres0_, Foam::FatalError, FatalErrorInFunction, Foam::gSum(), Foam::mag(), mesh, cyclicAMIPolyPatch::moveFaceCentres_, patchIdentifier::name(), Foam::nl, and WarningInFunction.
|
protected |
Create and return pointer to the projection surface.
Definition at line 331 of file cyclicAMIPolyPatch.C.
References TimePaths::constant(), mesh, boundaryMesh::mesh(), IOobjectOption::MUST_READ, Foam::name(), searchableSurface::New(), IOobjectOption::NO_WRITE, and fvMesh::time().
|
protected |
Create a coordinate system from the periodic patch (or nullptr)
Definition at line 284 of file cyclicAMIPolyPatch.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, patchIdentifier::name(), Foam::name(), autoPtr< T >::New(), coupledPolyPatch::parallel(), and Foam::Zero.
Reset the AMI interpolator, supply patch points.
Reimplemented in cyclicACMIPolyPatch.
Definition at line 368 of file cyclicAMIPolyPatch.C.
References Foam::ensightOutput::debug, DebugInFunction, Foam::endl(), Foam::Info, PrimitivePatch< FaceList, PointField >::localFaces(), mesh, boundaryMesh::mesh(), PrimitivePatch< FaceList, PointField >::meshPoints(), patchIdentifier::name(), Foam::name(), os(), Time::path(), points, and Foam::meshTools::writeOBJ().
|
protectedvirtual |
Reset the AMI interpolator, use current patch points.
Reimplemented in cyclicACMIPolyPatch.
Definition at line 362 of file cyclicAMIPolyPatch.C.
Referenced by cyclicACMIPolyPatch::resetAMI().
|
protectedvirtual |
Recalculate the transformation tensors.
Definition at line 445 of file cyclicAMIPolyPatch.C.
References DebugInFunction, DebugPout, Foam::endl(), polyPatch::faceCentres(), forAll, Foam::name(), Foam::nl, and PrimitivePatch< FaceList, PointField >::points().
|
protectedvirtual |
Initialise the calculation of the patch geometry.
Implements coupledPolyPatch.
Reimplemented in cyclicACMIPolyPatch.
Definition at line 481 of file cyclicAMIPolyPatch.C.
References DebugInFunction, Foam::endl(), and polyPatch::initGeometry().
Referenced by cyclicACMIPolyPatch::initGeometry().
|
protectedvirtual |
Calculate the patch geometry.
Implements coupledPolyPatch.
Reimplemented in cyclicACMIPolyPatch.
Definition at line 498 of file cyclicAMIPolyPatch.C.
References DebugInFunction, and Foam::endl().
Referenced by cyclicACMIPolyPatch::calcGeometry().
|
protectedvirtual |
Initialise the patches for moving points.
Implements coupledPolyPatch.
Reimplemented in cyclicACMIPolyPatch.
Definition at line 505 of file cyclicAMIPolyPatch.C.
References DebugInFunction, Foam::endl(), PrimitivePatch< FaceList, PointField >::movePoints(), and p.
Referenced by cyclicACMIPolyPatch::initMovePoints().
|
protectedvirtual |
Correct patches after moving points.
Implements coupledPolyPatch.
Reimplemented in cyclicACMIPolyPatch.
Definition at line 541 of file cyclicAMIPolyPatch.C.
References DebugInFunction, and Foam::endl().
Referenced by cyclicACMIPolyPatch::movePoints().
|
protectedvirtual |
Initialise the update of the patch topology.
Implements coupledPolyPatch.
Reimplemented in cyclicACMIPolyPatch.
Definition at line 564 of file cyclicAMIPolyPatch.C.
References DebugInFunction, Foam::endl(), polyPatch::initUpdateMesh(), and mesh.
Referenced by cyclicACMIPolyPatch::initUpdateMesh().
|
protectedvirtual |
Update of the patch topology.
Implements coupledPolyPatch.
Reimplemented in cyclicACMIPolyPatch.
Definition at line 577 of file cyclicAMIPolyPatch.C.
References DebugInFunction, Foam::endl(), and polyPatch::updateMesh().
Referenced by cyclicACMIPolyPatch::updateMesh().
|
protectedvirtual |
Clear geometry.
Reimplemented from polyPatch.
Reimplemented in cyclicACMIPolyPatch.
Definition at line 586 of file cyclicAMIPolyPatch.C.
References polyPatch::clearGeom(), DebugInFunction, and Foam::endl().
Referenced by cyclicACMIPolyPatch::clearGeom().
TypeName | ( | "cyclicAMI" | ) |
Runtime type information.
|
inlinevirtual |
Construct and return a clone, resetting the boundary mesh.
Reimplemented from polyPatch.
Reimplemented in cyclicACMIPolyPatch, and cyclicPeriodicAMIPolyPatch.
Definition at line 365 of file cyclicAMIPolyPatch.H.
|
inlinevirtual |
Construct and return a clone, resetting the face list and boundary mesh.
Reimplemented from polyPatch.
Reimplemented in cyclicACMIPolyPatch, and cyclicPeriodicAMIPolyPatch.
Definition at line 375 of file cyclicAMIPolyPatch.H.
References cyclicAMIPolyPatch::cyclicAMIPolyPatch(), patchIdentifier::index(), and cyclicAMIPolyPatch::nbrPatchName_.
|
inlinevirtual |
Construct and return a clone, resetting the face list.
and boundary mesh
Reimplemented from polyPatch.
Reimplemented in cyclicACMIPolyPatch, and cyclicPeriodicAMIPolyPatch.
Definition at line 402 of file cyclicAMIPolyPatch.H.
References cyclicAMIPolyPatch::cyclicAMIPolyPatch(), and patchIdentifier::index().
|
virtual |
Return number of new internal of this polyPatch faces.
Reimplemented from polyPatch.
Reimplemented in cyclicACMIPolyPatch.
Definition at line 867 of file cyclicAMIPolyPatch.C.
References forAll.
|
inlinevirtual |
Return nbrCells.
Reimplemented from polyPatch.
Definition at line 442 of file cyclicAMIPolyPatch.H.
References polyPatch::faceCells(), and cyclicAMIPolyPatch::neighbPatch().
|
inlinevirtual |
Return nbr patch ID.
Reimplemented from polyPatch.
Definition at line 450 of file cyclicAMIPolyPatch.H.
References patchIdentifier::index(), and cyclicAMIPolyPatch::neighbPatch().
|
inlinevirtual |
Return collocated faces map.
Reimplemented from polyPatch.
Reimplemented in cyclicACMIPolyPatch.
Definition at line 458 of file cyclicAMIPolyPatch.H.
References cyclicAMIPolyPatch::AMI(), and AMIInterpolation::srcAddress().
|
inlinevirtual |
Return implicit master.
Reimplemented from polyPatch.
Definition at line 467 of file cyclicAMIPolyPatch.H.
References cyclicAMIPolyPatch::owner().
|
inline |
Flag to indicate whether the AMI can be reset.
Definition at line 24 of file cyclicAMIPolyPatchI.H.
References polyPatch::boundaryMesh(), polyBoundaryMesh::mesh(), UPstream::parRun(), TimePaths::processorCase(), and objectRegistry::time().
|
inline |
Return access to the createAMIFaces flag.
Definition at line 30 of file cyclicAMIPolyPatchI.H.
|
inline |
Return access to the updated flag.
Definition at line 36 of file cyclicAMIPolyPatchI.H.
|
virtual |
Return true if this patch changes the mesh topology.
True when createAMIFaces is true
Reimplemented from polyPatch.
Definition at line 642 of file cyclicAMIPolyPatchTopologyChange.C.
References DebugInFunction, and Foam::endl().
|
virtual |
Set topology changes in the polyTopoChange object.
Reimplemented from polyPatch.
Definition at line 652 of file cyclicAMIPolyPatchTopologyChange.C.
References DebugInFunction, Foam::endl(), and polyTopoChange::points().
|
inlinevirtual |
Is patch 'coupled'. Note that on AMI the geometry is not coupled but the fields are!
Reimplemented from coupledPolyPatch.
Definition at line 511 of file cyclicAMIPolyPatch.H.
|
inline |
Neighbour patch name.
Definition at line 42 of file cyclicAMIPolyPatchI.H.
References patchID.
Referenced by cyclicACMIPolyPatch::clone(), and cyclicAMIPolyPatch::neighbPatchID().
|
virtual |
Neighbour patch ID.
Definition at line 898 of file cyclicAMIPolyPatch.C.
References Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::name(), cyclicAMIPolyPatch::neighbPatchName(), Foam::nl, and WarningInFunction.
Referenced by cyclicACMIFvPatch::neighbFvPatch(), cyclicAMIFvPatch::neighbFvPatch(), cyclicACMIFvPatch::neighbPatch(), cyclicAMIPointPatch::neighbPatch(), cyclicACMIPointPatch::neighbPatch(), cyclicAMIFvPatch::neighbPatch(), cyclicACMIFvPatch::neighbPatchID(), and cyclicAMIFvPatch::neighbPatchID().
|
inline |
Particle fraction increase between AMI pathces.
Definition at line 55 of file cyclicAMIPolyPatchI.H.
Referenced by particle< Type >::hitCyclicAMIPatch().
|
virtual |
Does this side own the patch?
Implements coupledPolyPatch.
Definition at line 960 of file cyclicAMIPolyPatch.C.
Referenced by cyclicAMIPolyPatch::masterImplicit(), combine< Type, TrackingData >::operator()(), cyclicACMIFvPatch::owner(), cyclicAMIFvPatch::owner(), cyclicACMIFvPatch::updateAreas(), cyclicACMIPolyPatch::updateAreas(), and AMIWeights::writeWeightFields().
|
virtual |
Return a reference to the neighbour patch.
Reimplemented in cyclicACMIPolyPatch.
Definition at line 966 of file cyclicAMIPolyPatch.C.
References pp().
Referenced by FaceCellWave< Foam::wallPointData< bool > >::handleAMICyclicPatches(), particle< Type >::hitCyclicAMIPatch(), cyclicAMIPolyPatch::nbrCells(), cyclicAMIPolyPatch::neighbPolyPatchID(), combine< Type, TrackingData >::operator()(), cyclicACMIPointPatchField< Type >::swapAddSeparated(), and AMIWeights::writeWeightFields().
Foam::label periodicPatchID | ( | ) | const |
Periodic patch ID (or -1)
Definition at line 934 of file cyclicAMIPolyPatch.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, and Foam::nl.
const Foam::AMIPatchToPatchInterpolation & AMI | ( | ) | const |
Return a reference to the AMI interpolator.
Definition at line 973 of file cyclicAMIPolyPatch.C.
References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.
Referenced by cyclicACMIFvPatch::AMI(), cyclicAMIFvPatch::AMI(), assemblyFaceAreaPairGAMGAgglomeration::assemblyFaceAreaPairGAMGAgglomeration(), cyclicAMIPolyPatch::mapCollocatedFaces(), and AMIWeights::writeWeightFields().
|
inline |
Helper function to return the weights.
Definition at line 61 of file cyclicAMIPolyPatchI.H.
Referenced by cyclicACMIPolyPatch::scalePatchFaceAreas().
|
inline |
Helper function to return the weights sum.
Definition at line 72 of file cyclicAMIPolyPatchI.H.
Referenced by cyclicACMIPolyPatch::scalePatchFaceAreas().
bool applyLowWeightCorrection | ( | ) | const |
Return true if applying the low weight correction.
Definition at line 991 of file cyclicAMIPolyPatch.C.
Referenced by cyclicAMIFvPatch::applyLowWeightCorrection().
|
inline |
Return access to the initial face areas.
Used for topology change
Definition at line 83 of file cyclicAMIPolyPatchI.H.
Referenced by cyclicAMIPolyPatch::setAMIFaces().
|
inline |
Return access to the initial face centres.
Used for topology change
Definition at line 89 of file cyclicAMIPolyPatchI.H.
Referenced by cyclicAMIPolyPatch::setAMIFaces().
|
inline |
Axis of rotation for rotational cyclic AMI.
Definition at line 94 of file cyclicAMIPolyPatchI.H.
|
inline |
Point on axis of rotation for rotational cyclic AMI.
Definition at line 100 of file cyclicAMIPolyPatchI.H.
|
inline |
Translation vector for translational cyclic AMI.
Definition at line 106 of file cyclicAMIPolyPatchI.H.
|
virtual |
Transform patch-based positions from nbr side to this side.
Implements coupledPolyPatch.
Definition at line 1004 of file cyclicAMIPolyPatch.C.
References forAll, s, and Foam::transform().
|
virtual |
Transform a patch-based position from nbr side to this side.
Implements coupledPolyPatch.
Definition at line 1040 of file cyclicAMIPolyPatch.C.
References s, Foam::T(), and Foam::transform().
|
virtual |
Transform a patch-based position from this side to nbr side.
Definition at line 1078 of file cyclicAMIPolyPatch.C.
References s, Foam::T(), and Foam::transform().
|
virtual |
Transform a patch-based direction from this side to nbr side.
Definition at line 1116 of file cyclicAMIPolyPatch.C.
References Foam::T(), and Foam::transform().
Referenced by particle< Type >::hitCyclicAMIPatch().
tmp<Field<Type> > interpolate | ( | const Field< Type > & | fld, |
const UList< Type > & | defaultValues = UList< Type >() |
||
) | const |
Interpolate field.
Referenced by cyclicAMIFvPatchField< scalar >::evaluate(), cyclicAMIFvPatch::interpolate(), cyclicACMIFvPatch::interpolate(), cyclicACMIPointPatchField< Type >::swapAddSeparated(), and cyclicAMIFvPatchField< scalar >::updateInterfaceMatrix().
tmp<Field<Type> > interpolate | ( | const tmp< Field< Type >> & | tFld, |
const UList< Type > & | defaultValues = UList< Type >() |
||
) | const |
Interpolate tmp field.
tmp<Field<Type> > interpolateUntransformed | ( | const Field< Type > & | fld, |
const UList< Type > & | defaultValues | ||
) | const |
Interpolate without periodic.
void interpolate | ( | const UList< Type > & | fld, |
const CombineOp & | cop, | ||
List< Type > & | result, | ||
const UList< Type > & | defaultValues = UList<Type>() |
||
) | const |
Low-level interpolate List.
Commented out for now since called with non-primitives (e.g. wallPoint
from FaceCellWave) - missing Foam::transform, Foam::invTransform
Definition at line 310 of file cyclicAMIPolyPatchTemplates.C.
References fld.
void initInterpolateUntransformed | ( | const Field< Type > & | fld, |
labelRange & | sendRequests, | ||
PtrList< List< Type >> & | sendBuffers, | ||
labelRange & | recvRequests, | ||
PtrList< List< Type >> & | recvBuffers | ||
) | const |
Definition at line 156 of file cyclicAMIPolyPatchTemplates.C.
References fld.
void initInterpolate | ( | const Field< Type > & | fld, |
labelRange & | sendRequests, | ||
PtrList< List< Type >> & | sendBuffers, | ||
labelRange & | recvRequests, | ||
PtrList< List< Type >> & | recvBuffers | ||
) | const |
Definition at line 178 of file cyclicAMIPolyPatchTemplates.C.
References polyPatch::faceCentres(), fld, Foam::invTransform(), R, and autoPtr< T >::reset().
Referenced by cyclicAMIFvPatchField< scalar >::initEvaluate(), cyclicAMIFvPatchField< scalar >::initInterfaceMatrixUpdate(), and cyclicACMIFvPatch::initInterpolate().
tmp<Field<Type> > interpolate | ( | const Field< Type > & | localFld, |
const labelRange & | requests, | ||
const PtrList< List< Type >> & | recvBuffers, | ||
const UList< Type > & | defaultValues | ||
) | const |
|
virtual |
Calculate the patch geometry.
Implements coupledPolyPatch.
Definition at line 1136 of file cyclicAMIPolyPatch.C.
|
virtual |
Initialize ordering for primitivePatch. Does not refer to *this (except for name() and type() etc.)
Implements coupledPolyPatch.
Reimplemented in cyclicACMIPolyPatch.
Definition at line 1149 of file cyclicAMIPolyPatch.C.
Referenced by cyclicACMIPolyPatch::initOrder().
|
virtual |
Return new ordering for primitivePatch.
Ordering is -faceMap: for every face index of the new face -rotation:for every new face the clockwise shift of the original face. Return false if nothing changes (faceMap is identity, rotation is 0), true otherwise.
Implements coupledPolyPatch.
Reimplemented in cyclicACMIPolyPatch.
Definition at line 1157 of file cyclicAMIPolyPatch.C.
References Foam::faceMap(), pp(), and List< T >::setSize().
Referenced by cyclicACMIPolyPatch::order().
Return face index on neighbour patch which shares point p following trajectory vector n.
Definition at line 1175 of file cyclicAMIPolyPatch.C.
Referenced by particle< Type >::hitCyclicACMIPatch(), and particle< Type >::hitCyclicAMIPatch().
|
virtual |
Write the polyPatch data as a dictionary.
Reimplemented from coupledPolyPatch.
Reimplemented in cyclicACMIPolyPatch, and cyclicPeriodicAMIPolyPatch.
Definition at line 1221 of file cyclicAMIPolyPatch.C.
References os(), Foam::radToDeg(), Foam::transform(), Ostream::write(), coupledPolyPatch::write(), Ostream::writeEntry(), Ostream::writeEntryIfDifferent(), and Foam::Zero.
Referenced by cyclicPeriodicAMIPolyPatch::write(), and cyclicACMIPolyPatch::write().
Foam::tmp<Foam::Field<Type> > interpolateUntransformed | ( | const Field< Type > & | fld, |
const UList< Type > & | defaultValues | ||
) | const |
Definition at line 26 of file cyclicAMIPolyPatchTemplates.C.
References fld.
Foam::tmp<Foam::Field<Type> > interpolate | ( | const Field< Type > & | fld, |
const UList< Type > & | defaultValues | ||
) | const |
Definition at line 44 of file cyclicAMIPolyPatchTemplates.C.
References Foam::ensightOutput::debug, Foam::endl(), Foam::exit(), polyPatch::faceCentres(), Foam::FatalError, FatalErrorInFunction, fld, forAll, Foam::gAverage(), Foam::invTransform(), patchIdentifier::name(), Foam::name(), Foam::nl, Foam::Pout, R, autoPtr< T >::reset(), UList< T >::size(), and Foam::transform().
Foam::tmp<Foam::Field<Type> > interpolate | ( | const tmp< Field< Type >> & | tFld, |
const UList< Type > & | defaultValues | ||
) | const |
Definition at line 145 of file cyclicAMIPolyPatchTemplates.C.
References Foam::fac::interpolate().
Foam::tmp<Foam::Field<Type> > interpolate | ( | const Field< Type > & | localFld, |
const labelRange & | requests, | ||
const PtrList< List< Type >> & | recvBuffers, | ||
const UList< Type > & | defaultValues | ||
) | const |
Definition at line 237 of file cyclicAMIPolyPatchTemplates.C.
References fld, Foam::invTransform(), Foam::New(), R, autoPtr< T >::reset(), UList< T >::size(), Foam::transform(), and Foam::Zero.
|
mutableprotected |
Name of other half.
Definition at line 93 of file cyclicAMIPolyPatch.H.
Referenced by cyclicPeriodicAMIPolyPatch::clone(), and cyclicAMIPolyPatch::clone().
|
protected |
Optional patchGroup to find neighbPatch.
Definition at line 98 of file cyclicAMIPolyPatch.H.
|
mutableprotected |
Index of other half.
Definition at line 103 of file cyclicAMIPolyPatch.H.
|
protected |
Particle displacement fraction accross AMI.
Definition at line 108 of file cyclicAMIPolyPatch.H.
|
protected |
Axis of rotation for rotational cyclics.
Definition at line 118 of file cyclicAMIPolyPatch.H.
|
protected |
Point on axis of rotation for rotational cyclics.
Definition at line 123 of file cyclicAMIPolyPatch.H.
|
protected |
Flag to show whether the rotation angle is defined.
Definition at line 128 of file cyclicAMIPolyPatch.H.
|
protected |
Rotation angle.
Definition at line 133 of file cyclicAMIPolyPatch.H.
|
protected |
Translation vector.
Definition at line 141 of file cyclicAMIPolyPatch.H.
|
protected |
Periodic patch name.
Definition at line 149 of file cyclicAMIPolyPatch.H.
|
mutableprotected |
Periodic patch.
Definition at line 154 of file cyclicAMIPolyPatch.H.
|
mutableprotected |
AMI interpolation class.
Definition at line 160 of file cyclicAMIPolyPatch.H.
|
protected |
Dictionary used during projection surface construction.
Definition at line 165 of file cyclicAMIPolyPatch.H.
|
mutableprotected |
Projection surface.
Definition at line 170 of file cyclicAMIPolyPatch.H.
|
mutableprotected |
Flag to indicate that new AMI faces will created.
Set by the call to changeTopology
Definition at line 180 of file cyclicAMIPolyPatch.H.
Referenced by cyclicAMIPolyPatch::restoreScaledGeometry(), and cyclicACMIPolyPatch::updateAreas().
|
protected |
Move face centres (default = no)
Definition at line 185 of file cyclicAMIPolyPatch.H.
Referenced by cyclicAMIPolyPatch::restoreScaledGeometry().
|
mutableprotected |
Definition at line 187 of file cyclicAMIPolyPatch.H.
|
protected |
Definition at line 189 of file cyclicAMIPolyPatch.H.
|
protected |
Definition at line 191 of file cyclicAMIPolyPatch.H.
|
mutableprotected |
Temporary storage for AMI face areas.
Definition at line 196 of file cyclicAMIPolyPatch.H.
Referenced by cyclicAMIPolyPatch::restoreScaledGeometry().
|
mutableprotected |
Temporary storage for AMI face centres.
Definition at line 201 of file cyclicAMIPolyPatch.H.
Referenced by cyclicAMIPolyPatch::restoreScaledGeometry().
|
static |
Tolerance used e.g. for area calculations/limits.
Definition at line 478 of file cyclicAMIPolyPatch.H.
Referenced by cyclicACMIPolyPatch::updateAreas().