Cyclic patch for Arbitrarily Coupled Mesh Interface (ACMI). More...
Public Member Functions | |
TypeName ("cyclicACMI") | |
Runtime type information. More... | |
cyclicACMIPolyPatch (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... | |
cyclicACMIPolyPatch (const word &name, const dictionary &dict, const label index, const polyBoundaryMesh &bm, const word &patchType, const word &defaultAMIMethod=faceAreaWeightAMI::typeName) | |
Construct from dictionary. More... | |
cyclicACMIPolyPatch (const cyclicACMIPolyPatch &, const polyBoundaryMesh &) | |
Construct as copy, resetting the boundary mesh. More... | |
cyclicACMIPolyPatch (const cyclicACMIPolyPatch &pp, const polyBoundaryMesh &bm, const label index, const label newSize, const label newStart, const word &nbrPatchName, const word &nonOverlapPatchName) | |
Construct given the original patch and resetting the. More... | |
cyclicACMIPolyPatch (const cyclicACMIPolyPatch &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. 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 | ~cyclicACMIPolyPatch ()=default |
Destructor. More... | |
virtual void | newInternalProcFaces (label &, label &) const |
Return number of new internal sub-faces and new proc faces. More... | |
virtual refPtr< labelListList > | mapCollocatedFaces () const |
Return collocated faces. More... | |
virtual const cyclicACMIPolyPatch & | neighbPatch () const |
Return a reference to the neighbour patch. More... | |
const word & | nonOverlapPatchName () const |
Non-overlapping patch name. More... | |
virtual label | nonOverlapPatchID () const |
Non-overlapping patch ID. More... | |
const polyPatch & | nonOverlapPatch () const |
Return a const reference to the non-overlapping patch. More... | |
polyPatch & | nonOverlapPatch () |
Return a reference to the non-overlapping patch. More... | |
const scalarField & | mask () const |
Mask field where 1 = overlap(coupled), 0 = no-overlap. More... | |
virtual const scalarField & | srcMask () const |
Return the mask/weighting for the source patch. More... | |
virtual const scalarField & | tgtMask () const |
Return the mask/weighting for the target patch. More... | |
virtual void | initOrder (PstreamBuffers &, const primitivePatch &) const |
Initialize ordering for primitivePatch. Does not. More... | |
virtual bool | order (PstreamBuffers &, const primitivePatch &, labelList &faceMap, labelList &rotation) const |
Return new ordering for primitivePatch. More... | |
virtual void | write (Ostream &) const |
Write the polyPatch data as a dictionary. More... | |
virtual bool | updateAreas () const |
Update the AMI and patch areas. Return true if anything. More... | |
bool | upToDate (const regIOobject &) const |
Return true if given object is up to date with *this. More... | |
void | setUpToDate (regIOobject &) const |
Set object up to date with *this. More... | |
![]() | |
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 | ~cyclicAMIPolyPatch ()=default |
Destructor. More... | |
virtual const labelUList & | nbrCells () const |
Return nbrCells. More... | |
virtual label | neighbPolyPatchID () const |
Return nbr patch ID. 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 |
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... | |
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. 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... | |
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... | |
label | pointFace (const label facei, const vector &n, point &p) const |
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 |
![]() | |
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) | |
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 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 |
![]() | |
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) | |
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 |
The offset where this patch starts in the boundary face list. More... | |
label | start () const |
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 |
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 > &l) const |
Slice list to patch. More... | |
template<class T > | |
const Field< T >::subField | patchSlice (const Field< T > &l) const |
Slice Field to patch. 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 |
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 l) const |
Return label of face in patch from global face label. More... | |
void | operator= (const polyPatch &) |
Assignment. More... | |
![]() | |
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 |
![]() | |
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 |
labelList | uniqBoundaryFaces () const |
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 |
labelList | meshEdges (const edgeList &allEdges, const labelListList &cellEdges, const labelList &faceCells) const |
labelList | meshEdges (const edgeList &allEdges, const labelListList &pointEdges) const |
label | meshEdge (const label edgei, const edgeList &allEdges, const labelListList &pointEdges) const |
labelList | meshEdges (const labelUList &edgeLabels, const edgeList &allEdges, const labelListList &pointEdges) const |
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... | |
bool | hasFaceAreas () const |
bool | hasFaceCentres () const |
bool | hasFaceNormals () const |
bool | hasPointNormals () const |
bool | hasBoundaryPoints () const |
bool | hasFaceFaces () const |
bool | hasEdgeFaces () const |
bool | hasFaceEdges () const |
bool | hasPointEdges () const |
bool | hasPointFaces () 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 () const |
Calculate surface type formed by patch. More... | |
bool | checkTopology (const bool report=false, labelHashSet *setPtr=nullptr) const |
Check surface formed by patch for manifoldness (see above). More... | |
bool | checkPointManifold (const bool report=false, labelHashSet *setPtr=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 |
![]() | |
ClassName ("PrimitivePatch") | |
Runtime type information. More... | |
PrimitivePatchBase ()=default | |
Default construct. More... | |
Static Public Member Functions | |
static scalar | tolerance () |
Overlap tolerance. More... | |
![]() | |
static scalarField | calcFaceTol (const UList< face > &faces, const pointField &points, const pointField &faceCentres) |
Calculate typical tolerance per face. Is currently max distance. More... | |
![]() | |
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 &pt) |
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 word | defaultName (const label n=-1) |
Default patch name: "patch" or "patchN". More... | |
Protected Member Functions | |
void | reportCoverage (const word &name, const scalarField &weightSum) const |
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 | scalePatchFaceAreas () |
Scale patch face areas to maintain physical area. More... | |
virtual void | scalePatchFaceAreas (const cyclicACMIPolyPatch &acmipp, const scalarField &mask, const vectorList &faceArea, const vectorList &noFaceArea) |
Scale patch face areas to maintain physical area. 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... | |
![]() | |
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 () |
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 | calcTransforms () |
Recalculate the transformation tensors. More... | |
![]() | |
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... | |
![]() | |
virtual void | movePoints (const Field< point_type > &) |
Inherit movePoints from primitivePatch. More... | |
Additional Inherited Members | |
![]() | |
enum | transformType { UNKNOWN, ROTATIONAL, TRANSLATIONAL, COINCIDENTFULLMATCH, NOORDERING } |
![]() | |
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 const scalar | tolerance_ = 1e-10 |
Tolerance used e.g. for area calculations/limits. More... | |
![]() | |
static const Enum< transformType > | transformTypeNames |
![]() | |
static int | disallowGenericPolyPatch |
Debug switch to disallow the use of genericPolyPatch. More... | |
![]() | |
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... | |
![]() | |
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... | |
Cyclic patch for Arbitrarily Coupled Mesh Interface (ACMI).
Mixes cyclicAMI behaviour with non-coupled patch behaviour using the overlap area fraction. The non-coupled patch is specified through the nonOverlapPatch keyword.
type cyclicACMI; neighbourPatch ACMI2_couple; // cyclicAMI neighbour patch nonOverlapPatch ACMI1_blockage; // patch for uncoupled faces
Optional time-dependent scaling (PatchFunction1) scale table ( (0.00 1.0) (0.02 1.0) (0.0201 0.0) );
Definition at line 78 of file cyclicACMIPolyPatch.H.
cyclicACMIPolyPatch | ( | 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 512 of file cyclicACMIPolyPatch.C.
cyclicACMIPolyPatch | ( | 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 561 of file cyclicACMIPolyPatch.C.
References dict, Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, and Foam::name().
cyclicACMIPolyPatch | ( | const cyclicACMIPolyPatch & | pp, |
const polyBoundaryMesh & | bm | ||
) |
Construct as copy, resetting the boundary mesh.
Definition at line 612 of file cyclicACMIPolyPatch.C.
cyclicACMIPolyPatch | ( | const cyclicACMIPolyPatch & | pp, |
const polyBoundaryMesh & | bm, | ||
const label | index, | ||
const label | newSize, | ||
const label | newStart, | ||
const word & | nbrPatchName, | ||
const word & | nonOverlapPatchName | ||
) |
Construct given the original patch and resetting the.
face list and boundary mesh information
Definition at line 651 of file cyclicACMIPolyPatch.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, and Foam::name().
cyclicACMIPolyPatch | ( | const cyclicACMIPolyPatch & | pp, |
const polyBoundaryMesh & | bm, | ||
const label | index, | ||
const labelUList & | mapAddressing, | ||
const label | newStart | ||
) |
Construct given the original patch and a map.
Definition at line 703 of file cyclicACMIPolyPatch.C.
|
virtualdefault |
Destructor.
|
protected |
Report coverage statics, e.g. number of uncovered/blended/covered faces
Definition at line 158 of file cyclicACMIPolyPatch.C.
References Foam::endl(), Foam::Info, Foam::name(), Foam::reduce(), Foam::returnReduce(), and Foam::sum().
Reset the AMI interpolator, supply patch points.
Reimplemented from cyclicAMIPolyPatch.
Definition at line 271 of file cyclicACMIPolyPatch.C.
References Foam::abort(), primitiveMesh::clearCellGeom(), Foam::expressions::patchExpr::debug, DebugPout, Foam::endl(), Foam::FatalError, FatalErrorInFunction, primitiveMesh::hasCellCentres(), primitiveMesh::hasFaceAreas(), Foam::max(), mesh, boundaryMesh::mesh(), Foam::min(), patchIdentifier::name(), Foam::name(), Foam::nl, Foam::foamVersion::patch, points, Foam::Pout, cyclicAMIPolyPatch::resetAMI(), AMIInterpolation::srcWeightsSum(), and AMIInterpolation::tgtWeightsSum().
|
protectedvirtual |
Reset the AMI interpolator, use current patch points.
Reimplemented from cyclicAMIPolyPatch.
Definition at line 265 of file cyclicACMIPolyPatch.C.
|
protectedvirtual |
Scale patch face areas to maintain physical area.
Definition at line 353 of file cyclicACMIPolyPatch.C.
References polyPatch::faceAreas(), boundaryMesh::mesh(), and cyclicACMIPolyPatch::nonOverlapPatch().
Referenced by cyclicACMIPolyPatch::updateAreas().
|
protectedvirtual |
Scale patch face areas to maintain physical area.
Definition at line 187 of file cyclicACMIPolyPatch.C.
References DebugPout, Foam::endl(), polyPatch::faceAreas(), forAll, Foam::max(), Foam::min(), patchIdentifier::name(), Foam::nl, cyclicACMIPolyPatch::nonOverlapPatch(), Foam::sum(), WarningInFunction, cyclicAMIPolyPatch::weights(), and cyclicAMIPolyPatch::weightsSum().
|
protectedvirtual |
Initialise the calculation of the patch geometry.
Reimplemented from cyclicAMIPolyPatch.
Definition at line 394 of file cyclicACMIPolyPatch.C.
References DebugPout, Foam::endl(), cyclicAMIPolyPatch::initGeometry(), and Foam::name().
|
protectedvirtual |
Calculate the patch geometry.
Reimplemented from cyclicAMIPolyPatch.
Definition at line 412 of file cyclicACMIPolyPatch.C.
References cyclicAMIPolyPatch::calcGeometry(), DebugPout, Foam::endl(), and Foam::name().
|
protectedvirtual |
Initialise the patches for moving points.
Reimplemented from cyclicAMIPolyPatch.
Definition at line 421 of file cyclicACMIPolyPatch.C.
References DebugPout, Foam::endl(), cyclicAMIPolyPatch::initMovePoints(), Foam::name(), and p.
|
protectedvirtual |
Correct patches after moving points.
Reimplemented from cyclicAMIPolyPatch.
Definition at line 441 of file cyclicACMIPolyPatch.C.
References DebugPout, Foam::endl(), cyclicAMIPolyPatch::movePoints(), Foam::name(), and p.
|
protectedvirtual |
Initialise the update of the patch topology.
Reimplemented from cyclicAMIPolyPatch.
Definition at line 453 of file cyclicACMIPolyPatch.C.
References DebugPout, Foam::endl(), cyclicAMIPolyPatch::initUpdateMesh(), and Foam::name().
|
protectedvirtual |
Update of the patch topology.
Reimplemented from cyclicAMIPolyPatch.
Definition at line 461 of file cyclicACMIPolyPatch.C.
References DebugPout, Foam::endl(), Foam::name(), and cyclicAMIPolyPatch::updateMesh().
|
protectedvirtual |
Clear geometry.
Reimplemented from cyclicAMIPolyPatch.
Definition at line 469 of file cyclicACMIPolyPatch.C.
References cyclicAMIPolyPatch::clearGeom(), DebugPout, Foam::endl(), and Foam::name().
TypeName | ( | "cyclicACMI" | ) |
Runtime type information.
|
inlinevirtual |
Construct and return a clone, resetting the boundary mesh.
Reimplemented from cyclicAMIPolyPatch.
Definition at line 244 of file cyclicACMIPolyPatch.H.
|
inlinevirtual |
Construct and return a clone, resetting the face list.
and boundary mesh
Reimplemented from cyclicAMIPolyPatch.
Definition at line 252 of file cyclicACMIPolyPatch.H.
References patchIdentifier::index(), and cyclicAMIPolyPatch::neighbPatchName().
|
inlinevirtual |
Construct and return a clone, resetting the face list.
and boundary mesh
Reimplemented from cyclicAMIPolyPatch.
Definition at line 277 of file cyclicACMIPolyPatch.H.
References patchIdentifier::index().
|
virtual |
Return number of new internal sub-faces and new proc faces.
Reimplemented from cyclicAMIPolyPatch.
Definition at line 744 of file cyclicACMIPolyPatch.C.
References forAll.
|
virtual |
Return collocated faces.
Reimplemented from cyclicAMIPolyPatch.
Definition at line 779 of file cyclicACMIPolyPatch.C.
References forAll, and List< T >::setSize().
|
virtual |
Return a reference to the neighbour patch.
Reimplemented from cyclicAMIPolyPatch.
Definition at line 802 of file cyclicACMIPolyPatch.C.
References Foam::endl(), Foam::name(), and WarningInFunction.
Referenced by cyclicACMIPolyPatch::updateAreas().
|
inline |
Non-overlapping patch name.
Definition at line 30 of file cyclicACMIPolyPatchI.H.
|
virtual |
Non-overlapping patch ID.
Definition at line 820 of file cyclicACMIPolyPatch.C.
References Foam::exit(), polyPatch::faceAreas(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::mag(), patchIdentifier::name(), Foam::name(), Foam::nl, and Foam::type().
Referenced by cyclicACMIFvPatch::nonOverlapPatchID().
|
inline |
Return a const reference to the non-overlapping patch.
Definition at line 36 of file cyclicACMIPolyPatchI.H.
Referenced by particle< Type >::hitCyclicACMIPatch(), cyclicACMIPolyPatch::scalePatchFaceAreas(), and cyclicACMIPolyPatch::updateAreas().
|
inline |
Return a reference to the non-overlapping patch.
Definition at line 45 of file cyclicACMIPolyPatchI.H.
|
inline |
Mask field where 1 = overlap(coupled), 0 = no-overlap.
Definition at line 54 of file cyclicACMIPolyPatchI.H.
Referenced by assemblyFaceAreaPairGAMGAgglomeration::assemblyFaceAreaPairGAMGAgglomeration(), particle< Type >::hitCyclicACMIPatch(), and AMIWeights::writeWeightField().
|
virtual |
Return the mask/weighting for the source patch.
Definition at line 477 of file cyclicACMIPolyPatch.C.
|
virtual |
Return the mask/weighting for the target patch.
Definition at line 493 of file cyclicACMIPolyPatch.C.
|
inlinestatic |
Overlap tolerance.
Definition at line 65 of file cyclicACMIPolyPatchI.H.
Referenced by assemblyFaceAreaPairGAMGAgglomeration::assemblyFaceAreaPairGAMGAgglomeration(), particle< Type >::hitCyclicACMIPatch(), and cyclicACMIFvPatch::makeWeights().
|
virtual |
Initialize ordering for primitivePatch. Does not.
refer to *this (except for name() and type() etc.)
Reimplemented from cyclicAMIPolyPatch.
Definition at line 887 of file cyclicACMIPolyPatch.C.
References cyclicAMIPolyPatch::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.
Reimplemented from cyclicAMIPolyPatch.
Definition at line 897 of file cyclicACMIPolyPatch.C.
References Foam::faceMap(), and cyclicAMIPolyPatch::order().
|
virtual |
Write the polyPatch data as a dictionary.
Reimplemented from cyclicAMIPolyPatch.
Definition at line 908 of file cyclicACMIPolyPatch.C.
References os(), cyclicAMIPolyPatch::write(), and Ostream::writeEntry().
|
virtual |
Update the AMI and patch areas. Return true if anything.
updated
Definition at line 46 of file cyclicACMIPolyPatch.C.
References polyPatch::boundaryMesh(), cyclicAMIPolyPatch::createAMIFaces_, Foam::expressions::patchExpr::debug, Foam::endl(), regIOobject::eventNo(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::gAverage(), Foam::max(), mesh, polyBoundaryMesh::mesh(), Foam::min(), patchIdentifier::name(), cyclicACMIPolyPatch::neighbPatch(), cyclicACMIPolyPatch::nonOverlapPatch(), cyclicAMIPolyPatch::owner(), Foam::Pout, cyclicACMIPolyPatch::scalePatchFaceAreas(), regIOobject::setUpToDate(), cyclicAMIPolyPatch::tolerance_, and WarningInFunction.
Referenced by cyclicACMIFvPatch::updateAreas().
bool upToDate | ( | const regIOobject & | io | ) | const |
Return true if given object is up to date with *this.
(note : like regIOobject::upToDate but operates on object)
Definition at line 142 of file cyclicACMIPolyPatch.C.
References regIOobject::upToDate().
Referenced by cyclicACMIFvPatch::updateAreas().
void setUpToDate | ( | regIOobject & | io | ) | const |
Set object up to date with *this.
(note : like regIOobject::setUpToDate but operates on object)
Definition at line 151 of file cyclicACMIPolyPatch.C.
References regIOobject::setUpToDate().
Referenced by cyclicACMIFvPatch::updateAreas().