Particle class that tracks on triangles of boundary faces. Use trackToEdge similar to trackToFace on particle. More...
Classes | |
class | iNew |
class | trackingData |
Public Member Functions | |
wallBoundedParticle (const polyMesh &c, const point &position, const label celli, const label tetFacei, const label tetPti, const label meshEdgeStart, const label diagEdge) | |
wallBoundedParticle (const polyMesh &c, Istream &is, bool readFields=true, bool newFormat=true) | |
wallBoundedParticle (const wallBoundedParticle &p) | |
autoPtr< particle > | clone () const |
label | meshEdgeStart () const |
label | diagEdge () const |
template<class TrackCloudType > | |
scalar | trackToEdge (TrackCloudType &cloud, trackingData &td, const vector &endPosition) |
template<class TrackCloudType > | |
void | patchInteraction (TrackCloudType &cloud, trackingData &td, const scalar trackFraction) |
template<class TrackCloudType > | |
void | hitProcessorPatch (TrackCloudType &cloud, trackingData &td) |
template<class TrackCloudType > | |
void | hitWallPatch (TrackCloudType &cloud, trackingData &td) |
InfoProxy< wallBoundedParticle > | info () const |
template<class TrackCloudType > | |
Foam::scalar | trackToEdge (TrackCloudType &cloud, trackingData &td, const vector &endPosition) |
template<class TrackCloudType > | |
void | readFields (TrackCloudType &c) |
template<class TrackCloudType > | |
void | writeFields (const TrackCloudType &c) |
![]() | |
TypeName ("particle") | |
particle (const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti) | |
particle (const polyMesh &mesh, const vector &position, const label celli=-1) | |
particle (const polyMesh &mesh, const vector &position, const label celli, const label tetFacei, const label tetPti, const bool doLocate=true) | |
particle (const polyMesh &mesh, Istream &, bool readFields=true, bool newFormat=true) | |
particle (const particle &p) | |
particle (const particle &p, const polyMesh &mesh) | |
virtual | ~particle ()=default |
label | getNewParticleID () const |
const polyMesh & | mesh () const |
const barycentric & | coordinates () const |
label | cell () const |
label & | cell () |
label | tetFace () const |
label & | tetFace () |
label | tetPt () const |
label & | tetPt () |
label | face () const |
label & | face () |
scalar | stepFraction () const |
scalar & | stepFraction () |
label | origProc () const |
label & | origProc () |
label | origId () const |
label & | origId () |
Pair< scalar > | stepFractionSpan () const |
scalar | currentTimeFraction () const |
tetIndices | currentTetIndices () const |
barycentricTensor | currentTetTransform () const |
vector | normal () const |
bool | onFace () const |
bool | onInternalFace () const |
bool | onBoundaryFace () const |
label | patch () const |
vector | position () const |
void | reset () |
scalar | track (const vector &displacement, const scalar fraction) |
scalar | trackToFace (const vector &displacement, const scalar fraction) |
scalar | trackToTri (const vector &displacement, const scalar fraction, label &tetTriI) |
scalar | trackToStationaryTri (const vector &displacement, const scalar fraction, label &tetTriI) |
scalar | trackToMovingTri (const vector &displacement, const scalar fraction, label &tetTriI) |
template<class TrackCloudType > | |
void | hitFace (const vector &direction, TrackCloudType &cloud, trackingData &td) |
template<class TrackCloudType > | |
void | trackToAndHitFace (const vector &direction, const scalar fraction, TrackCloudType &cloud, trackingData &td) |
vector | deviationFromMeshCentre () const |
void | patchData (vector &n, vector &U) const |
virtual void | transformProperties (const tensor &T) |
virtual void | transformProperties (const vector &separation) |
void | prepareForParallelTransfer () |
void | correctAfterParallelTransfer (const label patchi, trackingData &td) |
void | prepareForInteractionListReferral (const vectorTensorTransform &transform) |
void | correctAfterInteractionListReferral (const label celli) |
label | procTetPt (const polyMesh &procMesh, const label procCell, const label procTetFace) const |
void | autoMap (const vector &position, const mapPolyMesh &mapper) |
void | relocate (const point &position, const label celli=-1) |
void | writeProperties (Ostream &os, const wordRes &filters, const word &delim, const bool namesOnly) const |
void | writeCoordinates (Ostream &os) const |
virtual void | writePosition (Ostream &os) const |
Static Public Member Functions | |
template<class CloudType > | |
static void | readFields (CloudType &) |
template<class CloudType > | |
static void | writeFields (const CloudType &) |
![]() | |
static string | propertyList () |
template<class Type > | |
static void | writePropertyName (Ostream &os, const word &name, const word &delim) |
template<class Type > | |
static void | writeProperty (Ostream &os, const word &name, const Type &value, const bool nameOnly, const word &delim, const wordRes &filters=wordRes::null()) |
template<class Type > | |
static void | writeProperty (Ostream &os, const word &name, const Field< Type > &values, const bool nameOnly, const word &delim, const wordRes &filters=wordRes::null()) |
template<class TrackCloudType > | |
static void | readFields (TrackCloudType &c) |
template<class TrackCloudType > | |
static void | writeFields (const TrackCloudType &c) |
template<class CloudType > | |
static void | readObjects (CloudType &c, const objectRegistry &obr) |
template<class CloudType > | |
static void | writeObjects (const CloudType &c, objectRegistry &obr) |
Static Public Attributes | |
static const std::size_t | sizeofFields_ |
![]() | |
static string | propertyList_ = Foam::particle::propertyList() |
static label | particleCount_ = 0 |
static bool | writeLagrangianCoordinates = true |
static bool | writeLagrangianPositions |
Protected Member Functions | |
edge | currentEdge () const |
void | crossEdgeConnectedFace (const label &celli, label &tetFacei, label &tetPti, const edge &e) |
void | crossEdgeConnectedFace (const edge &meshEdge) |
void | crossDiagonalEdge () |
scalar | trackFaceTri (const vector &n, const vector &endPosition, label &) |
bool | isTriAlongTrack (const vector &n, const point &endPosition) const |
![]() | |
template<class TrackCloudType > | |
bool | hitPatch (TrackCloudType &, trackingData &) |
template<class TrackCloudType > | |
void | hitWedgePatch (TrackCloudType &, trackingData &) |
template<class TrackCloudType > | |
void | hitSymmetryPlanePatch (TrackCloudType &, trackingData &) |
template<class TrackCloudType > | |
void | hitSymmetryPatch (TrackCloudType &, trackingData &) |
template<class TrackCloudType > | |
void | hitCyclicPatch (TrackCloudType &, trackingData &) |
template<class TrackCloudType > | |
void | hitCyclicAMIPatch (TrackCloudType &, trackingData &, const vector &) |
template<class TrackCloudType > | |
void | hitCyclicACMIPatch (TrackCloudType &, trackingData &, const vector &) |
template<class TrackCloudType > | |
void | hitProcessorPatch (TrackCloudType &, trackingData &) |
template<class TrackCloudType > | |
void | hitWallPatch (TrackCloudType &, trackingData &) |
Protected Attributes | |
point | localPosition_ |
label | meshEdgeStart_ |
label | diagEdge_ |
Friends | |
Ostream & | operator<< (Ostream &, const wallBoundedParticle &) |
Ostream & | operator<< (Ostream &, const InfoProxy< wallBoundedParticle > &) |
Particle class that tracks on triangles of boundary faces. Use trackToEdge similar to trackToFace on particle.
Definition at line 59 of file wallBoundedParticle.H.
wallBoundedParticle | ( | const polyMesh & | c, |
const point & | position, | ||
const label | celli, | ||
const label | tetFacei, | ||
const label | tetPti, | ||
const label | meshEdgeStart, | ||
const label | diagEdge | ||
) |
Definition at line 405 of file wallBoundedParticle.C.
Referenced by wallBoundedParticle::clone(), and wallBoundedParticle::iNew::operator()().
wallBoundedParticle | ( | const polyMesh & | c, |
Istream & | is, | ||
bool | readFields = true , |
||
bool | newFormat = true |
||
) |
Definition at line 423 of file wallBoundedParticle.C.
References IOstreamOption::ASCII, Istream::beginRawRead(), IOstream::check(), IOstream::checkLabelSize(), IOstream::checkScalarSize(), Istream::endRawRead(), IOstreamOption::format(), FUNCTION_NAME, VectorSpace< Vector< scalar >, scalar, 3 >::nComponents, Istream::read(), Foam::readFields(), and Foam::readRawLabel().
wallBoundedParticle | ( | const wallBoundedParticle & | p | ) |
Definition at line 461 of file wallBoundedParticle.C.
|
protected |
Definition at line 34 of file wallBoundedParticle.C.
References Foam::abort(), wallBoundedParticle::diagEdge_, f(), polyMesh::faces(), Foam::FatalError, FatalErrorInFunction, wallBoundedParticle::info(), particle< Type >::mesh(), wallBoundedParticle::meshEdgeStart_, polyMesh::tetBasePtIs(), and particle< Type >::tetFace().
|
protected |
Definition at line 76 of file wallBoundedParticle.C.
References primitiveMesh::cells(), Foam::constant::electromagnetic::e, f(), polyMesh::faces(), mesh, Foam::neg(), Foam::meshTools::otherFace(), pFaces, and polyMesh::tetBasePtIs().
|
protected |
Definition at line 183 of file wallBoundedParticle.C.
References Foam::abort(), f(), polyMesh::faces(), Foam::FatalError, FatalErrorInFunction, and mesh.
|
protected |
Definition at line 232 of file wallBoundedParticle.C.
References Foam::abort(), f(), polyMesh::faces(), Foam::FatalError, FatalErrorInFunction, and mesh.
|
protected |
Definition at line 279 of file wallBoundedParticle.C.
References FixedList::fcIndex(), forAll, Foam::mag(), mesh, n, Vector< Cmpt >::normalise(), polyMesh::points(), and s.
Definition at line 358 of file wallBoundedParticle.C.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, FixedList::fcIndex(), forAll, FixedList::found(), mesh, n, and polyMesh::points().
Reimplemented from particle< Type >.
Reimplemented in wallBoundedStreamLineParticle.
Definition at line 177 of file wallBoundedParticle.H.
References wallBoundedParticle::wallBoundedParticle().
|
inline |
Definition at line 213 of file wallBoundedParticle.H.
References wallBoundedParticle::meshEdgeStart_.
Referenced by wallBoundedParticle::readFields().
|
inline |
Definition at line 219 of file wallBoundedParticle.H.
References wallBoundedParticle::diagEdge_.
Referenced by wallBoundedParticle::readFields().
scalar trackToEdge | ( | TrackCloudType & | cloud, |
trackingData & | td, | ||
const vector & | endPosition | ||
) |
void patchInteraction | ( | TrackCloudType & | cloud, |
trackingData & | td, | ||
const scalar | trackFraction | ||
) |
Definition at line 28 of file wallBoundedParticleTemplates.C.
References particle< Type >::trackingData::keepParticle, mesh, p, and Foam::foamVersion::patch.
void hitProcessorPatch | ( | TrackCloudType & | cloud, |
trackingData & | td | ||
) |
Definition at line 375 of file wallBoundedParticleTemplates.C.
References f(), mesh, and particle< Type >::trackingData::switchProcessor.
void hitWallPatch | ( | TrackCloudType & | cloud, |
trackingData & | td | ||
) |
Definition at line 404 of file wallBoundedParticleTemplates.C.
|
inline |
Definition at line 270 of file wallBoundedParticle.H.
Referenced by wallBoundedParticle::currentEdge().
|
static |
|
static |
Foam::scalar trackToEdge | ( | TrackCloudType & | cloud, |
trackingData & | td, | ||
const vector & | endPosition | ||
) |
Definition at line 73 of file wallBoundedParticleTemplates.C.
References Foam::abort(), f(), tetIndices::face(), tetIndices::faceTri(), Foam::FatalError, FatalErrorInFunction, wallBoundedParticle::trackingData::isWallPatch_, tetrahedron::mag(), Foam::mag(), mesh, meshBb(), n, path(), points, tetIndices::tet(), tetIndices::triIs(), and triFace::unitNormal().
void readFields | ( | TrackCloudType & | c | ) |
Definition at line 412 of file wallBoundedParticleTemplates.C.
References Foam::constant::universal::c, wallBoundedParticle::diagEdge(), wallBoundedParticle::meshEdgeStart(), IOobject::MUST_READ, p, and particle< Type >::readFields().
void writeFields | ( | const TrackCloudType & | c | ) |
Definition at line 452 of file wallBoundedParticleTemplates.C.
References Foam::constant::universal::c, IOobject::NO_READ, p, and particle< Type >::writeFields().
|
friend |
|
friend |
|
protected |
Definition at line 96 of file wallBoundedParticle.H.
|
protected |
Definition at line 104 of file wallBoundedParticle.H.
Referenced by wallBoundedParticle::currentEdge(), and wallBoundedParticle::meshEdgeStart().
|
protected |
Definition at line 111 of file wallBoundedParticle.H.
Referenced by wallBoundedParticle::currentEdge(), and wallBoundedParticle::diagEdge().
|
static |
Definition at line 147 of file wallBoundedParticle.H.
Referenced by Foam::operator<<().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.