Interpolation class dealing with transfer of data between two primitivePatches. More...
Public Member Functions | |
PatchToPatchInterpolation (const FromPatch &fromPatch, const ToPatch &toPatch, const intersection::algorithm alg=intersection::FULL_RAY, const intersection::direction dir=intersection::VECTOR) | |
Construct from components. More... | |
~PatchToPatchInterpolation () | |
Destructor. More... | |
intersection::algorithm | projectionAlgo () const |
Return ype of intersection algorithm to use in projection. More... | |
intersection::direction | projectionDir () const |
Return direction projection to use in projection. More... | |
const scalarField & | pointDistanceToIntersection () const |
Return distance to intersection for patch points. More... | |
const scalarField & | faceDistanceToIntersection () const |
Return distance to intersection for patch face centres. More... | |
bool | movePoints () |
Correct weighting factors for moving mesh. More... | |
template<class Type > | |
tmp< Field< Type > > | pointInterpolate (const Field< Type > &pf) const |
Interpolate point field. More... | |
template<class Type > | |
tmp< Field< Type > > | pointInterpolate (const tmp< Field< Type > > &tpf) const |
template<class Type > | |
tmp< Field< Type > > | faceInterpolate (const Field< Type > &pf) const |
Interpolate face field. More... | |
template<class Type > | |
tmp< Field< Type > > | faceInterpolate (const tmp< Field< Type > > &tpf) const |
Static Public Member Functions | |
static scalar | setProjectionTol (const scalar t) |
Set the projection tolerance, returning the previous value. More... | |
Private Member Functions | |
PatchToPatchInterpolation (const PatchToPatchInterpolation &) | |
Disallow default bitwise copy construct. More... | |
void | operator= (const PatchToPatchInterpolation &) |
Disallow default bitwise assignment. More... | |
void | calcPointAddressing () const |
Calculate point weights. More... | |
void | calcFaceAddressing () const |
Calculate face weights. More... | |
void | clearOut () |
Clear all geometry and addressing. More... | |
const labelList & | pointAddr () const |
Return reference to point addressing. More... | |
const FieldField< Field, scalar > & | pointWeights () const |
Return reference to point weights. More... | |
const labelList & | faceAddr () const |
Return reference to face addressing. More... | |
const FieldField< Field, scalar > & | faceWeights () const |
Return reference to face weights. More... | |
Private Attributes | |
const FromPatch & | fromPatch_ |
Reference to the source patch. More... | |
const ToPatch & | toPatch_ |
Reference to the target patch. More... | |
intersection::algorithm | alg_ |
Type of intersection algorithm to use in projection. More... | |
intersection::direction | dir_ |
Direction projection to use in projection. More... | |
labelList * | pointAddressingPtr_ |
Face into which each point of target patch is projected. More... | |
FieldField< Field, scalar > * | pointWeightsPtr_ |
Weighting factors. More... | |
scalarField * | pointDistancePtr_ |
Distance to intersection for patch points. More... | |
labelList * | faceAddressingPtr_ |
Face into which each face centre of target patch is projected. More... | |
FieldField< Field, scalar > * | faceWeightsPtr_ |
Weighting factors. More... | |
scalarField * | faceDistancePtr_ |
Distance to intersection for patch face centres. More... | |
Static Private Attributes | |
static scalar | projectionTol_ = 0.05 |
Relative merge tolerance for projected points missing the target. More... | |
static const scalar | directHitTol = 1e-5 |
Direct hit tolerance. More... | |
Interpolation class dealing with transfer of data between two primitivePatches.
Definition at line 65 of file PatchToPatchInterpolation.H.
|
private |
Disallow default bitwise copy construct.
PatchToPatchInterpolation | ( | const FromPatch & | fromPatch, |
const ToPatch & | toPatch, | ||
const intersection::algorithm | alg = intersection::FULL_RAY , |
||
const intersection::direction | dir = intersection::VECTOR |
||
) |
Construct from components.
Definition at line 111 of file PatchToPatchInterpolation.C.
Destructor.
Definition at line 134 of file PatchToPatchInterpolation.C.
|
private |
Disallow default bitwise assignment.
|
private |
Calculate point weights.
Definition at line 44 of file CalcPatchToPatchWeights.C.
References intersection::CONTACT_SPHERE, PointHit::distance(), Foam::endl(), forAll, PointHit::hitPoint(), Foam::Info, Foam::mag(), Foam::min(), PointHit::missPoint(), List::size(), Foam::sum(), and Vector< scalar >::zero.
|
private |
Calculate face weights.
Definition at line 236 of file CalcPatchToPatchWeights.C.
References PointHit::distance(), Foam::endl(), forAll, PointHit::hitPoint(), Foam::Info, Foam::mag(), List::size(), and Foam::sum().
|
private |
Clear all geometry and addressing.
Definition at line 95 of file PatchToPatchInterpolation.C.
References Foam::deleteDemandDrivenData().
|
private |
Return reference to point addressing.
Definition at line 44 of file PatchToPatchInterpolation.C.
|
private |
Return reference to point weights.
Definition at line 57 of file PatchToPatchInterpolation.C.
|
private |
Return reference to face addressing.
Definition at line 70 of file PatchToPatchInterpolation.C.
|
private |
Return reference to face weights.
Definition at line 83 of file PatchToPatchInterpolation.C.
|
inlinestatic |
Set the projection tolerance, returning the previous value.
Definition at line 172 of file PatchToPatchInterpolation.H.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, and PatchToPatchInterpolation< FromPatch, ToPatch >::projectionTol_.
|
inline |
Return ype of intersection algorithm to use in projection.
Definition at line 187 of file PatchToPatchInterpolation.H.
References PatchToPatchInterpolation< FromPatch, ToPatch >::alg_.
|
inline |
Return direction projection to use in projection.
Definition at line 193 of file PatchToPatchInterpolation.H.
References PatchToPatchInterpolation< FromPatch, ToPatch >::dir_.
const scalarField & pointDistanceToIntersection |
Return distance to intersection for patch points.
Definition at line 145 of file PatchToPatchInterpolation.C.
const scalarField & faceDistanceToIntersection |
Return distance to intersection for patch face centres.
Definition at line 159 of file PatchToPatchInterpolation.C.
bool movePoints |
Correct weighting factors for moving mesh.
Definition at line 171 of file PatchToPatchInterpolation.C.
Interpolate point field.
Definition at line 41 of file PatchToPatchInterpolate.C.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, and forAll.
Definition at line 95 of file PatchToPatchInterpolate.C.
Interpolate face field.
Definition at line 110 of file PatchToPatchInterpolate.C.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, Foam::fv::ff(), and forAll.
Definition at line 166 of file PatchToPatchInterpolate.C.
|
private |
Reference to the source patch.
Definition at line 72 of file PatchToPatchInterpolation.H.
|
private |
Reference to the target patch.
Definition at line 75 of file PatchToPatchInterpolation.H.
|
private |
Type of intersection algorithm to use in projection.
Definition at line 78 of file PatchToPatchInterpolation.H.
Referenced by PatchToPatchInterpolation< FromPatch, ToPatch >::projectionAlgo().
|
private |
Direction projection to use in projection.
Definition at line 81 of file PatchToPatchInterpolation.H.
Referenced by PatchToPatchInterpolation< FromPatch, ToPatch >::projectionDir().
|
staticprivate |
Relative merge tolerance for projected points missing the target.
Expressed as the fraction of min involved edge size
Definition at line 88 of file PatchToPatchInterpolation.H.
Referenced by PatchToPatchInterpolation< FromPatch, ToPatch >::setProjectionTol().
|
mutableprivate |
Face into which each point of target patch is projected.
Definition at line 94 of file PatchToPatchInterpolation.H.
|
mutableprivate |
Weighting factors.
Definition at line 97 of file PatchToPatchInterpolation.H.
|
mutableprivate |
Distance to intersection for patch points.
Definition at line 100 of file PatchToPatchInterpolation.H.
|
mutableprivate |
Face into which each face centre of target patch is projected.
Definition at line 105 of file PatchToPatchInterpolation.H.
|
mutableprivate |
Weighting factors.
Definition at line 108 of file PatchToPatchInterpolation.H.
|
mutableprivate |
Distance to intersection for patch face centres.
Definition at line 111 of file PatchToPatchInterpolation.H.
|
staticprivate |
Direct hit tolerance.
Definition at line 148 of file PatchToPatchInterpolation.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.