37 #ifndef PatchEdgeFaceWave_H
38 #define PatchEdgeFaceWave_H
66 class PrimitivePatchType,
68 class TrackingData =
int
72 public PatchEdgeFaceWaveName
79 static scalar propagationTol_;
88 const PrimitivePatchType& patch_;
115 label nUnvisitedEdges_;
116 label nUnvisitedFaces_;
132 const label neighbourFacei,
133 const Type& neighbourInfo,
142 const label neighbourEdgeI,
143 const Type& neighbourInfo,
164 return propagationTol_;
170 propagationTol_ = tol;
184 const PrimitivePatchType& patch,
198 const PrimitivePatchType& patch,
223 const TrackingData&
data()
const
269 class PrimitivePatchType,
271 class TrackingData =
int
277 const PrimitivePatchType& patch_;
285 const PrimitivePatchType& patch,
300 x.updateEdge(mesh_, patch_,
y,
true, tol_, td_);
309 class PrimitivePatchType,
311 class TrackingData =
int
317 const PrimitivePatchType& patch_;
325 const PrimitivePatchType& patch,
347 fld[i].transform(mesh_, patch_, vt.T(), tol_, td_);
354 fld[i].transform(mesh_, patch_, vt.T().T(), tol_, td_);
#define forAll(list, i)
Loop across all elements in list.
Wave propagation of information along patch. Every iteration information goes through one layer of fa...
UList< Type > & allEdgeInfo() const
Access allEdgeInfo.
label edgeToFace()
Propagate from edge to face. Returns total number of faces.
const TrackingData & data() const
Additional data to be passed into container.
static scalar propagationTol()
Access to tolerance.
label getUnsetFaces() const
Get number of unvisited faces, i.e. faces that were not (yet)
void operator=(const PatchEdgeFaceWave &)=delete
Disallow default bitwise assignment.
static int defaultTrackingData_
Default tracking data to go with default template argument.
label iterate(const label maxIter)
Iterate until no changes or maxIter reached. Returns actual.
void setEdgeInfo(const labelList &changedEdges, const List< Type > &changedEdgesInfo)
Copy initial data into allEdgeInfo_.
UList< Type > & allFaceInfo() const
Access allFaceInfo.
label faceToEdge()
Propagate from face to edge. Returns total number of edges.
label getUnsetEdges() const
PatchEdgeFaceWave(const polyMesh &mesh, const PrimitivePatchType &patch, const labelList &initialEdges, const List< Type > &initialEdgesInfo, UList< Type > &allEdgeInfo, UList< Type > &allFaceInfo, const label maxIter, TrackingData &td=defaultTrackingData_)
Construct from patch, list of changed edges with the Type.
static void setPropagationTol(const scalar tol)
Change tolerance.
Mesh consisting of general polyhedral cells.
updateOp(const polyMesh &mesh, const PrimitivePatchType &patch, const scalar tol, TrackingData &td)
void operator()(Type &x, const Type &y) const
gmvFile<< "tracers "<< particles.size()<< nl;{ pointField positions(particles.size());label particlei=0;forAllConstIter(Cloud< passiveParticle >, particles, iter) { positions[particlei++]=iter().position(mesh);} for(i=0;i< pTraits< point >::nComponents;i++) { forAll(positions, particlei) { gmvFile<< component(positions[particlei], i)<< ' ';} gmvFile<< nl;}}forAll(lagrangianScalarNames, i){ const word &name=lagrangianScalarNames[i];IOField< scalar > fld(IOobject(name, runTime.name(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
TemplateName(FvFaceCellWave)