Determines a mapping between patch face centres and mesh cell or face centres and processors they're on. More...
Classes | |
class | maxProcEqOp |
class | nearestEqOp |
class | nearestWorldEqOp |
Public Types | |
enum | sampleMode { NEARESTCELL , NEARESTPATCHFACE , NEARESTPATCHFACEAMI , NEARESTPATCHPOINT , NEARESTFACE , NEARESTONLYCELL } |
Mesh items to sample. More... | |
enum | offsetMode { UNIFORM , NONUNIFORM , NORMAL } |
How to project face centres. More... | |
typedef Tuple2< pointIndexHit, Tuple2< scalar, label > > | nearInfo |
Helper class for finding nearest. More... | |
typedef Tuple2< nearInfo, label > | nearInfoWorld |
nearest + world More... | |
Public Member Functions | |
TypeName ("mappedPatchBase") | |
Runtime type information. More... | |
mappedPatchBase (const polyPatch &) | |
Construct from patch. More... | |
mappedPatchBase (const polyPatch &pp, const word &sampleRegion, const sampleMode sampleMode, const word &samplePatch, const vectorField &offsets) | |
Construct with offsetMode=non-uniform. More... | |
mappedPatchBase (const polyPatch &pp, const word &sampleRegion, const sampleMode sampleMode, const word &samplePatch, const vector &uniformOffset) | |
Construct from offsetMode=uniform. More... | |
mappedPatchBase (const polyPatch &pp, const word &sampleRegion, const sampleMode sampleMode, const word &samplePatch, const scalar normalDistance) | |
Construct from offsetMode=normal and distance. More... | |
mappedPatchBase (const polyPatch &, const dictionary &) | |
Construct from dictionary. More... | |
mappedPatchBase (const polyPatch &, const sampleMode, const dictionary &) | |
Construct from dictionary and (collocated) sample mode. More... | |
mappedPatchBase (const polyPatch &, const mappedPatchBase &) | |
Construct as copy, resetting patch. More... | |
mappedPatchBase (const polyPatch &, const mappedPatchBase &, const labelUList &mapAddressing) | |
Construct as copy, resetting patch, map original data. More... | |
virtual | ~mappedPatchBase () |
Destructor. More... | |
void | clearOut () |
void | setOffset (const scalar normalDist) |
Change to normal offset with given distance. More... | |
void | setOffset (const vector &uniformOffset) |
Change to uniform offset with value. More... | |
void | setOffset (const vectorField &offsets) |
Change to non-uniform offsets. More... | |
sampleMode | mode () const noexcept |
What to sample. More... | |
const word & | sampleWorld () const noexcept |
World to sample. More... | |
const word & | sampleRegion () const |
Region to sample. More... | |
const word & | samplePatch () const |
Patch (only if NEARESTPATCHFACE) More... | |
const word & | coupleGroup () const |
PatchGroup (only if NEARESTPATCHFACE) More... | |
label | sampleSize () const |
Return size of mapped mesh/patch/boundary. More... | |
const vector & | offset () const noexcept |
Offset vector (from patch faces to destination mesh objects) More... | |
const vectorField & | offsets () const noexcept |
Offset vectors (from patch faces to destination mesh objects) More... | |
label | getCommunicator () const |
Get the communicator (worldComm or world-to-world) More... | |
label | comm () const |
Identical to getCommunicator() More... | |
bool | sameWorld () const |
Is sample world the local world? More... | |
bool | masterWorld () const |
Is my world ordered before the sampleWorld? More... | |
bool | sameRegion () const noexcept |
Cached sampleRegion != mesh.name() More... | |
const mapDistribute & | map () const |
Return reference to the parallel distribution map. More... | |
const AMIPatchToPatchInterpolation & | AMI (const bool forceUpdate=false) const |
Return reference to the AMI interpolator. More... | |
bool | owner () const |
Is it owner. More... | |
const autoPtr< Foam::searchableSurface > & | surfPtr () const |
Return a pointer to the AMI projection surface. More... | |
const polyMesh & | sampleMesh () const |
Get the region mesh. More... | |
const polyPatch & | samplePolyPatch () const |
Get the patch on the region. More... | |
tmp< pointField > | samplePoints () const |
Get the sample points. More... | |
const fileName & | sampleDatabasePath () const |
bool | sampleDatabase () const |
virtual fileName | sendPath (const label proci) const |
virtual fileName | receivePath (const label proci) const |
template<class Type > | |
void | distribute (List< Type > &lst) const |
Wrapper around map/interpolate data distribution. More... | |
template<class Type , class CombineOp > | |
void | distribute (List< Type > &lst, const CombineOp &cop) const |
Wrapper around map/interpolate data distribution with operation. More... | |
template<class Type > | |
void | reverseDistribute (List< Type > &lst) const |
Wrapper around map/interpolate data distribution. More... | |
template<class Type , class CombineOp > | |
void | reverseDistribute (List< Type > &lst, const CombineOp &cop) const |
Wrapper around map/interpolate data distribution with operation. More... | |
virtual void | write (Ostream &os) const |
Write as a dictionary. More... | |
Static Public Member Functions | |
static pointIndexHit | facePoint (const polyMesh &, const label facei, const polyMesh::cellDecomposition) |
Get a point on the face given a face decomposition method: More... | |
static fileName | sendPath (const fileName &root, const label proci) |
Helper: return path to store data to be sent to processor i. More... | |
static fileName | receivePath (const fileName &root, const label proci) |
static const objectRegistry & | subRegistry (const objectRegistry &obr, const fileName &path) |
template<class Type > | |
static void | storeField (objectRegistry &obr, const word &fieldName, const Field< Type > &values) |
Store an IOField on the objectRegistry relative to obr. More... | |
static void | writeDict (const objectRegistry &obr, dictionary &dict) |
Convert objectRegistry contents into dictionary. More... | |
static void | readDict (const dictionary &d, objectRegistry &obr) |
(recursively) construct and register IOFields from dictionary More... | |
Static Public Attributes | |
static const Enum< sampleMode > | sampleModeNames_ |
static const Enum< offsetMode > | offsetModeNames_ |
Protected Member Functions | |
bool | addWorldConnection () |
Add a world-world connection. More... | |
label | getWorldCommunicator () const |
Get the communicator for the world-world connection. More... | |
const polyMesh & | lookupMesh (const word ®ion) const |
Lookup mesh. More... | |
const polyPatch & | lookupPatch (const word &sampleRegion, const word &samplePatch) const |
Lookup patch. More... | |
tmp< pointField > | facePoints (const polyPatch &) const |
void | collectSamples (const label mySampleWorld, const pointField &facePoints, pointField &samples, labelList &patchFaceWorlds, labelList &patchFaceProcs, labelList &patchFaces, pointField &patchFc) const |
void | findLocalSamples (const sampleMode mode, const label sampleWorld, const word &sampleRegion, const word &samplePatch, const pointField &samplePoints, List< nearInfoWorld > &nearest) const |
Find (local) cells/faces containing samples. More... | |
void | findSamples (const sampleMode mode, const label myWorldIndex, const pointField &, const labelList &wantedWorlds, const labelList &origProcs, labelList &sampleProcs, labelList &sampleIndices, pointField &sampleLocations) const |
Find (global) cells/faces containing samples. More... | |
tmp< pointField > | samplePoints (const pointField &) const |
Get the sample points given the face points. More... | |
void | calcMapping () const |
Calculate mapping. More... | |
void | calcAMI () const |
Calculate AMI interpolator. More... | |
Static Protected Member Functions | |
static autoPtr< fileName > | readDatabase (const dictionary &dict) |
Read optional database name from dictionary. More... | |
static const objectRegistry & | subRegistry (const objectRegistry &obr, const wordList &names, const label index) |
template<class Type > | |
static bool | writeIOField (const regIOobject &obj, dictionary &dict) |
Attempt to detect an IOField<Type> and write to dictionary. More... | |
template<class Type > | |
static bool | constructIOField (const word &name, token &tok, Istream &is, objectRegistry &obr) |
Attempt to read an IOField<Type> and store on objectRegistry. More... | |
Protected Attributes | |
const polyPatch & | patch_ |
Patch to sample. More... | |
word | sampleWorld_ |
World to sample. More... | |
word | sampleRegion_ |
Region to sample. More... | |
const sampleMode | mode_ |
What to sample. More... | |
word | samplePatch_ |
Patch (if in sampleMode NEARESTPATCH*) More... | |
const coupleGroupIdentifier | coupleGroup_ |
PatchGroup (if in sampleMode NEARESTPATCH*) More... | |
const autoPtr< fileName > | sampleDatabasePtr_ |
Empty or location of database. More... | |
offsetMode | offsetMode_ |
How to obtain samples. More... | |
vector | offset_ |
Offset vector (uniform) More... | |
vectorField | offsets_ |
Offset vector (nonuniform) More... | |
scalar | distance_ |
Offset distance (normal) More... | |
label | communicator_ |
Communicator. More... | |
bool | sameRegion_ |
Same region. More... | |
autoPtr< mapDistribute > | mapPtr_ |
Communication schedule: More... | |
const bool | AMIReverse_ |
Flag to indicate that slave patch should be reversed for AMI. More... | |
autoPtr< AMIPatchToPatchInterpolation > | AMIPtr_ |
Pointer to AMI interpolator. More... | |
autoPtr< searchableSurface > | surfPtr_ |
Pointer to projection surface employed by AMI interpolator. More... | |
dictionary | surfDict_ |
Dictionary storing projection surface description. More... | |
Determines a mapping between patch face centres and mesh cell or face centres and processors they're on.
If constructed from dictionary:
// Optional world to sample (default is all) //sampleWorld solidSim; // Optional explicit coupling (requires functionObject to synchronise // databases. Default is close coupling (bc to bc) //sampleDatabase true; // Region to sample (default is region0) sampleRegion region0; // What to sample: // - nearestCell : sample cell containing point // - nearestOnlyCell : nearest sample cell (even if not containing // point) // - nearestPatchFace : nearest face on selected patch // - nearestPatchFaceAMI : nearest face on selected patch - patches need not conform - uses AMI interpolation // - nearestFace : nearest boundary face on any patch // - nearestPatchPoint : nearest patch point (for coupled points // this might be any of the points so you have // to guarantee the point data is synchronised // beforehand) sampleMode nearestCell; // If sampleMode is nearestPatchFace : patch to find faces of samplePatch movingWall; // If sampleMode is nearestPatchFace : specify patchgroup to find // samplePatch and sampleRegion (if not provided) coupleGroup baffleGroup; // How to supply offset (w.r.t. my patch face centres): // - uniform : single offset vector // - nonuniform : per-face offset vector // - normal : using supplied distance and face normal offsetMode uniform; // According to offsetMode (see above) supply one of // offset, offsets or distance offset (1 0 0);
Note: if offsetMode is normal
it uses outwards pointing normals. So supply a negative distance if sampling inside the domain.
Definition at line 112 of file mappedPatchBase.H.
typedef Tuple2<pointIndexHit, Tuple2<scalar, label> > nearInfo |
Helper class for finding nearest.
Nearest:
Definition at line 147 of file mappedPatchBase.H.
typedef Tuple2<nearInfo, label> nearInfoWorld |
nearest + world
Used to only look at entries from same world
Definition at line 192 of file mappedPatchBase.H.
enum sampleMode |
Mesh items to sample.
Definition at line 119 of file mappedPatchBase.H.
enum offsetMode |
How to project face centres.
Enumerator | |
---|---|
UNIFORM | single offset vector |
NONUNIFORM | per-face offset vector |
NORMAL | use face normal + distance |
Definition at line 130 of file mappedPatchBase.H.
|
explicit |
Construct from patch.
Definition at line 1202 of file mappedPatchBase.C.
mappedPatchBase | ( | const polyPatch & | pp, |
const word & | sampleRegion, | ||
const sampleMode | sampleMode, | ||
const word & | samplePatch, | ||
const vectorField & | offsets | ||
) |
Construct with offsetMode=non-uniform.
Definition at line 1227 of file mappedPatchBase.C.
References mappedPatchBase::offsets(), and mappedPatchBase::setOffset().
mappedPatchBase | ( | const polyPatch & | pp, |
const word & | sampleRegion, | ||
const sampleMode | sampleMode, | ||
const word & | samplePatch, | ||
const vector & | uniformOffset | ||
) |
Construct from offsetMode=uniform.
Definition at line 1249 of file mappedPatchBase.C.
References mappedPatchBase::setOffset().
mappedPatchBase | ( | const polyPatch & | pp, |
const word & | sampleRegion, | ||
const sampleMode | sampleMode, | ||
const word & | samplePatch, | ||
const scalar | normalDistance | ||
) |
Construct from offsetMode=normal and distance.
Definition at line 1271 of file mappedPatchBase.C.
References mappedPatchBase::addWorldConnection().
mappedPatchBase | ( | const polyPatch & | pp, |
const dictionary & | dict | ||
) |
Construct from dictionary.
Definition at line 1307 of file mappedPatchBase.C.
References mappedPatchBase::addWorldConnection(), polyPatch::boundaryMesh(), mappedPatchBase::coupleGroup_, dict, mappedPatchBase::distance_, Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, dictionary::found(), polyBoundaryMesh::mesh(), mappedPatchBase::mode_, IOobject::name(), mappedPatchBase::NEARESTPATCHFACE, mappedPatchBase::NEARESTPATCHFACEAMI, mappedPatchBase::NONUNIFORM, mappedPatchBase::NORMAL, mappedPatchBase::offset_, mappedPatchBase::offsetMode_, mappedPatchBase::offsetModeNames_, mappedPatchBase::offsets_, mappedPatchBase::patch_, dictionary::readEntry(), Enum< EnumType >::readIfPresent(), dictionary::readIfPresent(), mappedPatchBase::sameRegion_, mappedPatchBase::sampleRegion_, mappedPatchBase::sampleWorld_, mappedPatchBase::UNIFORM, and coupleGroupIdentifier::valid().
mappedPatchBase | ( | const polyPatch & | pp, |
const sampleMode | mode, | ||
const dictionary & | dict | ||
) |
Construct from dictionary and (collocated) sample mode.
(only for nearestPatchFace, nearestPatchFaceAMI, nearestPatchPoint) Assumes zero offset.
Definition at line 1409 of file mappedPatchBase.C.
References mappedPatchBase::addWorldConnection(), polyPatch::boundaryMesh(), mappedPatchBase::coupleGroup_, dict, Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, polyBoundaryMesh::mesh(), mappedPatchBase::mode(), IOobject::name(), mappedPatchBase::NEARESTPATCHFACE, mappedPatchBase::NEARESTPATCHFACEAMI, mappedPatchBase::patch_, mappedPatchBase::sameRegion_, mappedPatchBase::sampleModeNames_, mappedPatchBase::sampleRegion_, mappedPatchBase::sampleWorld_, and coupleGroupIdentifier::valid().
mappedPatchBase | ( | const polyPatch & | pp, |
const mappedPatchBase & | mpb | ||
) |
Construct as copy, resetting patch.
Definition at line 1482 of file mappedPatchBase.C.
mappedPatchBase | ( | const polyPatch & | pp, |
const mappedPatchBase & | mpb, | ||
const labelUList & | mapAddressing | ||
) |
Construct as copy, resetting patch, map original data.
Definition at line 1514 of file mappedPatchBase.C.
|
virtual |
Destructor.
Definition at line 1554 of file mappedPatchBase.C.
|
protected |
Add a world-world connection.
Definition at line 117 of file mappedPatchBase.C.
References Time::New(), runTime, and objectRegistry::time().
Referenced by mappedPatchBase::mappedPatchBase().
|
protected |
Get the communicator for the world-world connection.
Definition at line 132 of file mappedPatchBase.C.
References Time::New(), runTime, objectRegistry::time(), and UPstream::worldComm.
|
protected |
Lookup mesh.
Definition at line 1600 of file mappedPatchBase.C.
References polyMesh::boundaryMesh(), objectRegistry::lookupObject(), polyBoundaryMesh::mesh(), IOobject::name(), and objectRegistry::time().
|
protected |
Lookup patch.
Definition at line 1615 of file mappedPatchBase.C.
References polyMesh::boundaryMesh(), Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, and polyBoundaryMesh::findPatchID().
Referenced by mappedPolyPatch::nbrCells(), mappedWallPolyPatch::nbrCells(), mappedPolyPatch::neighbPolyPatchID(), mappedWallPolyPatch::neighbPolyPatchID(), mappedPolyPatch::newInternalProcFaces(), and mappedWallPolyPatch::newInternalProcFaces().
|
protected |
Get the points from face-centre-decomposition face centres and project them onto the face-diagonal-decomposition triangles.
Definition at line 145 of file mappedPatchBase.C.
References polyPatch::boundaryMesh(), polyMesh::FACE_DIAG_TRIS, Foam::facePoint(), forAll, mesh, polyBoundaryMesh::mesh(), Time::New(), polyPatch::start(), and polyMesh::tetBasePtIs().
|
protected |
Collect single list of samples and originating processor+face + wanted world
Definition at line 173 of file mappedPatchBase.C.
References Pstream::allGatherList(), Pstream::broadcasts(), DebugInFunction, Foam::endl(), forAll, Foam::identity(), UPstream::msgType(), processorFaPatch::myProcNo(), OSstream::name(), Foam::nl, PstreamBuffers::nProcs(), Foam::Perr, samples(), List< T >::setSize(), UList< T >::size(), and UPstream::warnComm.
|
protected |
Find (local) cells/faces containing samples.
Note: face-diagonal decomposition
Note: face-diagonal decomposition
Note: face-diagonal decomposition
Definition at line 272 of file mappedPatchBase.C.
References Foam::abort(), primitiveMesh::cellCentres(), polyMesh::cellTree(), DebugInFunction, e, Foam::exit(), treeBoundBox::extend(), primitiveMesh::faceCentres(), Foam::FatalError, FatalErrorInFunction, indexedOctree< Type >::findInside(), meshSearch::findNearestFace(), Tuple2< T1, T2 >::first(), forAll, Foam::identity(), Foam::magSqr(), boundBox::max(), mesh, PrimitivePatch< FaceList, PointField >::meshPoints(), boundBox::min(), Foam::mode(), processorFaPatch::myProcNo(), Time::New(), Foam::nl, polyMesh::points(), PrimitivePatch< FaceList, PointField >::points(), polyPatch::range(), rndGen, samples(), Tuple2< T1, T2 >::second(), List< T >::setSize(), UList< T >::size(), boundBox::span(), and Foam::sqr().
|
protected |
Find (global) cells/faces containing samples.
Definition at line 579 of file mappedPatchBase.C.
References Pstream::allGatherList(), DynamicList< T, SizeMin >::append(), DebugInFunction, Foam::endl(), UList< T >::first(), Tuple2< T1, T2 >::first(), forAll, Pstream::listCombineAllGather(), pTraits< complex >::max, Foam::mode(), UPstream::msgType(), processorFaPatch::myProcNo(), Foam::nl, PstreamBuffers::nProcs(), Foam::Pout, samples(), Tuple2< T1, T2 >::second(), List< T >::setSize(), UList< T >::size(), Foam::sqr(), and UPstream::warnComm.
|
protected |
Get the sample points given the face points.
Definition at line 1668 of file mappedPatchBase.C.
References fld(), Foam::mag(), n, and Time::New().
|
protected |
Calculate mapping.
Definition at line 725 of file mappedPatchBase.C.
References Foam::abort(), UPstream::allWorlds(), DynamicList< T, SizeMin >::append(), DebugInFunction, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, UList< T >::find(), forAll, Foam::gAverage(), Foam::mag(), splitCell::master(), UPstream::msgType(), UPstream::myWorld(), UPstream::myWorldID(), OFstream::name(), IOstream::name(), Foam::nl, Foam::Pout, Foam::reduce(), samples(), HashSet< Key, Hash >::set(), UList< T >::size(), HashSet< Key, Hash >::test(), Foam::type(), WarningInFunction, and Foam::meshTools::writeOBJ().
|
protected |
Calculate AMI interpolator.
Definition at line 1083 of file mappedPatchBase.C.
References DebugInFunction, Foam::endl(), PrimitivePatch< FaceList, PointField >::localFaces(), PrimitivePatch< FaceList, PointField >::localPoints(), Foam::nl, os(), UPstream::warnComm, UPstream::worldComm, and Foam::meshTools::writeOBJ().
|
staticprotected |
Read optional database name from dictionary.
Definition at line 89 of file mappedPatchBase.C.
References dict, dictionary::found(), dictionary::get(), dictionary::lookupOrDefault(), and Time::New().
|
staticprotected |
Lookup (sub)objectRegistry by following names of sub registries. Creates non-existing intermediate ones.
Definition at line 1181 of file mappedPatchBase.C.
References UList< T >::size(), and objectRegistry::subRegistry().
Referenced by syncObjects::sync().
|
staticprotected |
Attempt to detect an IOField<Type> and write to dictionary.
Definition at line 224 of file mappedPatchBaseTemplates.C.
References dict, fld(), and dictionary::set().
|
staticprotected |
Attempt to read an IOField<Type> and store on objectRegistry.
Definition at line 259 of file mappedPatchBaseTemplates.C.
References token::compoundToken(), Foam::dynamicCast(), objectRegistry::findObject(), token::isCompound(), Foam::name(), IOobject::NO_READ, IOobject::NO_WRITE, regIOobject::store(), List< T >::transfer(), and token::transferCompoundToken().
TypeName | ( | "mappedPatchBase" | ) |
Runtime type information.
void clearOut | ( | ) |
Definition at line 1560 of file mappedPatchBase.C.
Referenced by mappedFieldFvPatchField< Type >::autoMap(), mappedMixedFieldFvPatchField< Type >::autoMap(), thermalBaffle1DFvPatchScalarField< solidType >::autoMap(), mappedPolyPatch::calcGeometry(), mappedWallPolyPatch::calcGeometry(), mappedPolyPatch::movePoints(), mappedWallPolyPatch::movePoints(), mappedFieldFvPatchField< Type >::rmap(), mappedMixedFieldFvPatchField< Type >::rmap(), mappedPolyPatch::updateMesh(), mappedWallPolyPatch::updateMesh(), mappedPolyPatch::~mappedPolyPatch(), and mappedWallPolyPatch::~mappedWallPolyPatch().
void setOffset | ( | const scalar | normalDist | ) |
Change to normal offset with given distance.
Definition at line 1570 of file mappedPatchBase.C.
References Foam::Zero.
Referenced by mappedPatchBase::mappedPatchBase().
void setOffset | ( | const vector & | uniformOffset | ) |
Change to uniform offset with value.
Definition at line 1580 of file mappedPatchBase.C.
References Foam::Zero.
void setOffset | ( | const vectorField & | offsets | ) |
Change to non-uniform offsets.
Definition at line 1590 of file mappedPatchBase.C.
References Foam::Zero.
|
inlinenoexcept |
What to sample.
Definition at line 30 of file mappedPatchBaseI.H.
References mappedPatchBase::mode_.
Referenced by mappedPatchBase::mappedPatchBase(), mappedPatchFieldBase< Type >::mappedPatchFieldBase(), mappedVelocityFluxFixedValueFvPatchField::mappedVelocityFluxFixedValueFvPatchField(), Sampled< Type >::Sampled(), mappedFixedInternalValueFvPatchField< Type >::updateCoeffs(), and mappedVelocityFluxFixedValueFvPatchField::updateCoeffs().
|
inlinenoexcept |
World to sample.
Definition at line 36 of file mappedPatchBaseI.H.
|
inline |
Region to sample.
Definition at line 42 of file mappedPatchBaseI.H.
References Foam::exit(), Foam::FatalError, and FatalErrorInFunction.
Referenced by mappedPatchFieldBase< Type >::mappedPatchFieldBase(), turbulentTemperatureCoupledBaffleMixedFvPatchScalarField::updateCoeffs(), and turbulentTemperatureRadCoupledMixedFvPatchScalarField::updateCoeffs().
|
inline |
Patch (only if NEARESTPATCHFACE)
Definition at line 68 of file mappedPatchBaseI.H.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, and Foam::nl.
Referenced by mappedPatchFieldBase< Type >::mappedPatchFieldBase(), regionModel::nbrCoupledPatchID(), mappedVelocityFluxFixedValueFvPatchField::updateCoeffs(), turbulentTemperatureCoupledBaffleMixedFvPatchScalarField::updateCoeffs(), and turbulentTemperatureRadCoupledMixedFvPatchScalarField::updateCoeffs().
|
inline |
PatchGroup (only if NEARESTPATCHFACE)
Definition at line 94 of file mappedPatchBaseI.H.
|
inline |
Return size of mapped mesh/patch/boundary.
Definition at line 100 of file mappedPatchBaseI.H.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, mesh, and primitiveMesh::nBoundaryFaces().
|
inlinenoexcept |
Offset vector (from patch faces to destination mesh objects)
Definition at line 135 of file mappedPatchBaseI.H.
|
inlinenoexcept |
Offset vectors (from patch faces to destination mesh objects)
Definition at line 141 of file mappedPatchBaseI.H.
Referenced by mappedPatchBase::mappedPatchBase().
|
inline |
Get the communicator (worldComm or world-to-world)
Definition at line 147 of file mappedPatchBaseI.H.
Referenced by mappedPatchBase::distribute().
|
inline |
Identical to getCommunicator()
Definition at line 158 of file mappedPatchBaseI.H.
|
inline |
Is sample world the local world?
Definition at line 169 of file mappedPatchBaseI.H.
References UPstream::allWorlds(), UList< T >::empty(), and UPstream::myWorld().
Referenced by mappedPatchBase::distribute(), turbulentTemperatureCoupledBaffleMixedFvPatchScalarField::updateCoeffs(), and turbulentTemperatureRadCoupledMixedFvPatchScalarField::updateCoeffs().
|
inline |
Is my world ordered before the sampleWorld?
Definition at line 180 of file mappedPatchBaseI.H.
References UPstream::allWorlds(), UList< T >::find(), and UPstream::myWorldID().
Referenced by mappedPatchBase::distribute().
|
inlinenoexcept |
Cached sampleRegion != mesh.name()
Definition at line 193 of file mappedPatchBaseI.H.
|
inline |
Return reference to the parallel distribution map.
Definition at line 199 of file mappedPatchBaseI.H.
References polyMesh::boundaryMesh(), polyBoundaryMesh::mesh(), and polyMesh::topoChanging().
Referenced by mappedPatchBase::distribute(), mappedPolyPatch::mapCollocatedFaces(), mappedWallPolyPatch::mapCollocatedFaces(), mappedPatchFieldBase< Type >::mappedPatchFieldBase(), semiPermeableBaffleMassFractionFvPatchScalarField::phiY(), and thermalBaffle1DFvPatchScalarField< solidType >::updateCoeffs().
|
inline |
Return reference to the AMI interpolator.
Definition at line 220 of file mappedPatchBaseI.H.
References polyMesh::boundaryMesh(), polyBoundaryMesh::mesh(), and polyMesh::topoChanging().
Referenced by mappedPatchBase::distribute().
|
inline |
Is it owner.
Definition at line 241 of file mappedPatchBaseI.H.
Referenced by mappedPolyPatch::masterImplicit(), and mappedWallPolyPatch::masterImplicit().
const Foam::autoPtr< Foam::searchableSurface > & surfPtr | ( | ) | const |
Return a pointer to the AMI projection surface.
Definition at line 1051 of file mappedPatchBase.C.
References polyMesh::boundaryMesh(), TimePaths::constant(), mesh, polyBoundaryMesh::mesh(), IOobject::MUST_READ, Time::New(), IOobject::NO_WRITE, and fvMesh::time().
const Foam::polyMesh & sampleMesh | ( | ) | const |
Get the region mesh.
Definition at line 1636 of file mappedPatchBase.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, and UPstream::myWorld().
Referenced by mappedFixedInternalValueFvPatchField< Type >::updateCoeffs(), mappedFlowRateFvPatchVectorField::updateCoeffs(), mappedVelocityFluxFixedValueFvPatchField::updateCoeffs(), filmPyrolysisRadiativeCoupledMixedFvPatchScalarField::updateCoeffs(), humidityTemperatureCoupledMixedFvPatchScalarField::updateCoeffs(), turbulentTemperatureCoupledBaffleMixedFvPatchScalarField::updateCoeffs(), and turbulentTemperatureRadCoupledMixedFvPatchScalarField::updateCoeffs().
const Foam::polyPatch & samplePolyPatch | ( | ) | const |
Get the patch on the region.
Definition at line 1649 of file mappedPatchBase.C.
References polyMesh::boundaryMesh(), Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, polyBoundaryMesh::findPatchID(), and polyBoundaryMesh::names().
Referenced by mappedFixedInternalValueFvPatchField< Type >::updateCoeffs(), mappedFlowRateFvPatchVectorField::updateCoeffs(), filmPyrolysisRadiativeCoupledMixedFvPatchScalarField::updateCoeffs(), humidityTemperatureCoupledMixedFvPatchScalarField::updateCoeffs(), turbulentTemperatureCoupledBaffleMixedFvPatchScalarField::updateCoeffs(), and turbulentTemperatureRadCoupledMixedFvPatchScalarField::updateCoeffs().
Foam::tmp< Foam::pointField > samplePoints | ( | ) | const |
Get the sample points.
Definition at line 1703 of file mappedPatchBase.C.
|
static |
Get a point on the face given a face decomposition method:
face-centre-tet : face centre. Returns index of face. face-planes : face centre. Returns index of face. face-diagonal : intersection of ray from cellcentre to facecentre with any of the triangles. Returns index (0..size-2) of triangle.
Definition at line 1709 of file mappedPatchBase.C.
References Foam::abort(), polyMesh::CELL_TETS, primitiveMesh::cellCentres(), PointHit< PointType >::distance(), f(), polyMesh::FACE_CENTRE_TRIS, polyMesh::FACE_DIAG_TRIS, polyMesh::FACE_PLANES, primitiveMesh::faceCentres(), polyMesh::faceOwner(), polyMesh::faces(), Foam::FatalError, FatalErrorInFunction, UList< T >::fcIndex(), intersection::HALF_RAY, PointHit< PointType >::hit(), PointHit< PointType >::hitPoint(), triangle< Point, PointRef >::intersection(), mesh, p, polyMesh::points(), UList< T >::size(), and polyMesh::tetBasePtIs().
Referenced by nearWallFields::calcAddressing().
|
inline |
Definition at line 560 of file mappedPatchBase.H.
References mappedPatchBase::sampleDatabasePtr_.
|
inline |
Definition at line 565 of file mappedPatchBase.H.
References bool, and mappedPatchBase::sampleDatabasePtr_.
Referenced by mappedPatchFieldBase< Type >::mappedPatchFieldBase().
|
static |
Helper: return path to store data to be sent to processor i.
Definition at line 1814 of file mappedPatchBase.C.
References Foam::name().
Referenced by syncObjects::sync().
|
virtual |
Definition at line 1825 of file mappedPatchBase.C.
|
static |
Helper: return path to store data to be received from processor i
Definition at line 1831 of file mappedPatchBase.C.
References Foam::name().
Referenced by syncObjects::sync().
|
virtual |
Definition at line 1842 of file mappedPatchBase.C.
|
static |
Lookup (sub)objectRegistry from '/' separated path (relative to objectRegistry). Creates non-existing intermediate ones.
Definition at line 1790 of file mappedPatchBase.C.
References fileName::clean(), fileName::components(), UList< T >::empty(), and path().
|
static |
Store an IOField on the objectRegistry relative to obr.
Definition at line 314 of file mappedPatchBaseTemplates.C.
References objectRegistry::findObject(), IOobject::NO_READ, IOobject::NO_WRITE, and regIOobject::store().
|
static |
Convert objectRegistry contents into dictionary.
Definition at line 1848 of file mappedPatchBase.C.
References dictionary::add(), dict, forAllIters, IOobject::name(), os(), dictionary::subDictOrAdd(), and regIOobject::writeData().
|
static |
(recursively) construct and register IOFields from dictionary
Definition at line 1888 of file mappedPatchBase.C.
References e, Foam::exit(), Foam::FatalError, FatalErrorInFunction, mappedPatchBase::readDict(), and objectRegistry::subRegistry().
Referenced by mappedPatchBase::readDict().
void distribute | ( | List< Type > & | lst | ) | const |
Wrapper around map/interpolate data distribution.
Definition at line 30 of file mappedPatchBaseTemplates.C.
References mappedPatchBase::AMI(), mapDistribute::distribute(), mappedPatchBase::distribute(), mappedPatchBase::getCommunicator(), AMIInterpolation::interpolateToSource(), AMIInterpolation::interpolateToTarget(), mappedPatchBase::map(), mappedPatchBase::masterWorld(), mappedPatchBase::mode_, mappedPatchBase::NEARESTPATCHFACEAMI, mappedPatchBase::sameWorld(), UPstream::warnComm, and UPstream::worldComm.
Referenced by solidAbsorption::a(), mappedPatchBase::distribute(), solidAbsorption::e(), regionModel::toRegion(), mappedFixedInternalValueFvPatchField< Type >::updateCoeffs(), mappedFlowRateFvPatchVectorField::updateCoeffs(), mappedVelocityFluxFixedValueFvPatchField::updateCoeffs(), filmPyrolysisRadiativeCoupledMixedFvPatchScalarField::updateCoeffs(), humidityTemperatureCoupledMixedFvPatchScalarField::updateCoeffs(), and turbulentTemperatureRadCoupledMixedFvPatchScalarField::updateCoeffs().
void distribute | ( | List< Type > & | lst, |
const CombineOp & | cop | ||
) | const |
Wrapper around map/interpolate data distribution with operation.
Definition at line 102 of file mappedPatchBaseTemplates.C.
References UPstream::defaultCommsType, mappedPatchBase::distribute(), UPstream::msgType(), UPstream::warnComm, UPstream::worldComm, and Foam::Zero.
void reverseDistribute | ( | List< Type > & | lst | ) | const |
Wrapper around map/interpolate data distribution.
Definition at line 148 of file mappedPatchBaseTemplates.C.
References UPstream::warnComm, and UPstream::worldComm.
Referenced by regionModel::toPrimary().
void reverseDistribute | ( | List< Type > & | lst, |
const CombineOp & | cop | ||
) | const |
Wrapper around map/interpolate data distribution with operation.
Definition at line 176 of file mappedPatchBaseTemplates.C.
References UPstream::defaultCommsType, UPstream::msgType(), UPstream::warnComm, UPstream::worldComm, and Foam::Zero.
|
virtual |
Write as a dictionary.
Reimplemented in mappedFieldFvPatchField< Type >, mappedMixedFieldFvPatchField< Type >, mappedPolyPatch, mappedVariableThicknessWallPolyPatch, mappedWallPolyPatch, semiPermeableBaffleMassFractionFvPatchScalarField, and thermalBaffle1DFvPatchScalarField< solidType >.
Definition at line 1929 of file mappedPatchBase.C.
References solutionControl::fieldData::name, fileName::null, word::null, os(), Ostream::write(), Ostream::writeEntry(), and Ostream::writeEntryIfDifferent().
|
static |
Definition at line 137 of file mappedPatchBase.H.
Referenced by mappedPatchBase::mappedPatchBase(), mappedPatchFieldBase< Type >::mappedPatchFieldBase(), and mappedFixedInternalValueFvPatchField< Type >::updateCoeffs().
|
static |
Definition at line 139 of file mappedPatchBase.H.
Referenced by mappedPatchBase::mappedPatchBase(), and sampledPatchInternalField::sampledPatchInternalField().
|
protected |
Patch to sample.
Definition at line 226 of file mappedPatchBase.H.
Referenced by Sampled< Type >::haveSampleField(), mappedPolyPatch::mapCollocatedFaces(), mappedWallPolyPatch::mapCollocatedFaces(), mappedPatchBase::mappedPatchBase(), mappedPolyPatch::newInternalProcFaces(), mappedWallPolyPatch::newInternalProcFaces(), Sampled< Type >::sampleField(), and Sampled< Type >::value().
|
mutableprotected |
World to sample.
Definition at line 229 of file mappedPatchBase.H.
Referenced by mappedPatchBase::mappedPatchBase().
|
mutableprotected |
Region to sample.
Definition at line 232 of file mappedPatchBase.H.
Referenced by mappedPatchBase::mappedPatchBase(), mappedPolyPatch::nbrCells(), mappedWallPolyPatch::nbrCells(), mappedPolyPatch::neighbPolyPatchID(), mappedWallPolyPatch::neighbPolyPatchID(), mappedPolyPatch::neighbRegionID(), mappedWallPolyPatch::neighbRegionID(), mappedPolyPatch::newInternalProcFaces(), and mappedWallPolyPatch::newInternalProcFaces().
|
protected |
What to sample.
Definition at line 235 of file mappedPatchBase.H.
Referenced by mappedPatchBase::distribute(), mappedPatchBase::mappedPatchBase(), and mappedPatchBase::mode().
|
mutableprotected |
Patch (if in sampleMode NEARESTPATCH*)
Definition at line 238 of file mappedPatchBase.H.
Referenced by mappedPolyPatch::nbrCells(), mappedWallPolyPatch::nbrCells(), mappedPolyPatch::neighbPolyPatchID(), mappedWallPolyPatch::neighbPolyPatchID(), mappedPolyPatch::newInternalProcFaces(), and mappedWallPolyPatch::newInternalProcFaces().
|
protected |
PatchGroup (if in sampleMode NEARESTPATCH*)
Definition at line 241 of file mappedPatchBase.H.
Referenced by mappedPatchBase::mappedPatchBase().
Empty or location of database.
Definition at line 244 of file mappedPatchBase.H.
Referenced by mappedPatchBase::sampleDatabase(), and mappedPatchBase::sampleDatabasePath().
|
protected |
How to obtain samples.
Definition at line 247 of file mappedPatchBase.H.
Referenced by mappedPatchBase::mappedPatchBase().
|
protected |
Offset vector (uniform)
Definition at line 250 of file mappedPatchBase.H.
Referenced by mappedPatchBase::mappedPatchBase().
|
protected |
Offset vector (nonuniform)
Definition at line 253 of file mappedPatchBase.H.
Referenced by mappedPatchBase::mappedPatchBase().
|
protected |
Offset distance (normal)
Definition at line 256 of file mappedPatchBase.H.
Referenced by mappedPatchBase::mappedPatchBase().
|
protected |
Communicator.
Definition at line 259 of file mappedPatchBase.H.
|
mutableprotected |
Same region.
Definition at line 262 of file mappedPatchBase.H.
Referenced by mappedPatchBase::mappedPatchBase().
|
mutableprotected |
Communication schedule:
Definition at line 272 of file mappedPatchBase.H.
|
protected |
Flag to indicate that slave patch should be reversed for AMI.
Definition at line 278 of file mappedPatchBase.H.
|
mutableprotected |
Pointer to AMI interpolator.
Definition at line 281 of file mappedPatchBase.H.
|
mutableprotected |
Pointer to projection surface employed by AMI interpolator.
Definition at line 284 of file mappedPatchBase.H.
|
protected |
Dictionary storing projection surface description.
Definition at line 287 of file mappedPatchBase.H.