Interpolation class dealing with transfer of data between two primitive patches with an arbitrary mesh interface (AMI). More...
#include <AMIInterpolation.H>


Public Member Functions | |
| TypeName ("AMIInterpolation") | |
| Runtime type information. | |
| declareRunTimeSelectionTable (autoPtr, AMIInterpolation, dict,(const dictionary &dict, const bool reverseTarget),(dict, reverseTarget)) | |
| Selection table for dictionary construction. | |
| declareRunTimeSelectionTable (autoPtr, AMIInterpolation, component,(const bool requireMatch, const bool reverseTarget, const scalar lowWeightCorrection),(requireMatch, reverseTarget, lowWeightCorrection)) | |
| Selection table for component-wise construction. | |
| AMIInterpolation (const dictionary &dict, const bool reverseTarget=false) | |
| Construct from dictionary. | |
| AMIInterpolation (const bool requireMatch=true, const bool reverseTarget=false, const scalar lowWeightCorrection=-1) | |
| Construct from components. | |
| AMIInterpolation (const AMIInterpolation &fineAMI, const labelList &sourceRestrictAddressing, const labelList &neighbourRestrictAddressing) | |
| Construct from agglomeration of AMIInterpolation. Agglomeration passed in as new coarse size and addressing from fine from coarse. | |
| AMIInterpolation (const AMIInterpolation &ami) | |
| Construct as copy. | |
| virtual autoPtr< AMIInterpolation > | clone () const |
| Construct and return a clone. | |
| AMIInterpolation (Istream &is) | |
| Construct from Istream. | |
| virtual | ~AMIInterpolation ()=default |
| Destructor. | |
| bool | upToDate () const noexcept |
| Is up-to-date? | |
| bool | upToDate (bool flag) noexcept |
| Set as up-to-date, return the previous value. | |
| const AMICache & | cache () const noexcept |
| Return a reference to the AMI cache. | |
| AMICache & | cache () noexcept |
| bool | distributed () const noexcept |
| Distributed across processors (singlePatchProc == -1). | |
| bool | requireMatch () const noexcept |
| Return the requireMatch flag. | |
| bool | setRequireMatch (bool flag) noexcept |
| Set the require match flag, return the new value. | |
| bool | mustMatchFaces () const |
| Return true if requireMatch and but not lowWeightCorrection. | |
| bool | reverseTarget () const noexcept |
| Access to the reverseTarget flag. | |
| scalar | lowWeightCorrection () const |
| Threshold weight below which interpolation is deactivated. | |
| bool | applyLowWeightCorrection () const |
| Return true if employing a 'lowWeightCorrection'. | |
| label | singlePatchProc () const noexcept |
| The processor holding all faces (both sides), or -1 if distributed. | |
| label | comm () const noexcept |
| Communicator (local or otherwise) for parallel operations. | |
| label | comm (label communicator) noexcept |
| Set (non-local) communicator for parallel operations. | |
| bool | cacheActive () const |
| Return true if caching is active. | |
| const List< scalar > & | srcMagSf () const |
| Return const access to source patch face areas. | |
| List< scalar > & | srcMagSf () |
| Return access to source patch face areas. | |
| const labelListList & | srcAddress () const |
| Return const access to source patch addressing. | |
| labelListList & | srcAddress () |
| Return access to source patch addressing. | |
| const scalarListList & | srcWeights () const |
| Return const access to source patch weights. | |
| scalarListList & | srcWeights () |
| Return access to source patch weights. | |
| const scalarField & | srcWeightsSum () const |
| Return const access to normalisation factor of source patch weights (i.e. the sum before normalisation). | |
| scalarField & | srcWeightsSum () |
| Return access to normalisation factor of source patch weights (i.e. the sum before normalisation). | |
| const pointListList & | srcCentroids () const |
| Return const access to source patch face centroids. | |
| pointListList & | srcCentroids () |
| Return access to source patch face centroids. | |
| const mapDistribute & | srcMap () const |
| Source map - valid only if singlePatchProc = -1 This gets source data into a form to be consumed by tgtAddress, tgtWeights. | |
| const mapDistribute * | hasSrcMap () const noexcept |
| Pointer to the source map (if distributed). Can be checked as a bool. | |
| const List< scalar > & | tgtMagSf () const |
| Return const access to target patch face areas. | |
| List< scalar > & | tgtMagSf () |
| Return access to target patch face areas. | |
| const labelListList & | tgtAddress () const |
| Return const access to target patch addressing. | |
| labelListList & | tgtAddress () |
| Return access to target patch addressing. | |
| const scalarListList & | tgtWeights () const |
| Return const access to target patch weights. | |
| scalarListList & | tgtWeights () |
| Return access to target patch weights. | |
| const scalarField & | tgtWeightsSum () const |
| Return const access to normalisation factor of target patch weights (i.e. the sum before normalisation). | |
| scalarField & | tgtWeightsSum () |
| Return access to normalisation factor of target patch weights (i.e. the sum before normalisation). | |
| const mapDistribute & | tgtMap () const |
| Target map - valid only if singlePatchProc=-1. This gets target data into a form to be consumed by srcAddress, srcWeights. | |
| const mapDistribute * | hasTgtMap () const noexcept |
| Pointer to the target map (if distributed). Can be checked as a bool. | |
| virtual bool | calculate (const primitivePatch &srcPatch, const primitivePatch &tgtPatch, const autoPtr< searchableSurface > &surfPtr=nullptr) |
| Update addressing, weights and (optional) centroids. | |
| void | reset (autoPtr< mapDistribute > &&srcToTgtMap, autoPtr< mapDistribute > &&tgtToSrcMap, labelListList &&srcAddress, scalarListList &&srcWeights, labelListList &&tgtAddress, scalarListList &&tgtWeights, const label singlePatchProc) |
| Set the maps, addresses and weights from an external source. | |
| void | append (const primitivePatch &srcPatch, const primitivePatch &tgtPatch) |
| Append additional addressing and weights. | |
| void | normaliseWeights (const bool conformal, const bool output) |
| Normalise the weights. | |
| template<class Type> | |
| void | weightedSum (const bool toSource, const UList< Type > &fld, List< Type > &result, const UList< Type > &defaultValues) const |
| Weighted sum of contributions (includes caching+interp) (for primitive types only). | |
| template<class Type, class CombineOp, class InterpolateOp> | |
| void | interpolate (const bool toSource, const UList< Type > &fld, const CombineOp &cop, const InterpolateOp &iop, List< Type > &result, const UList< Type > &defaultValues) const |
| Weighted sum of (potentially distributed) contributions and apply caching+interpolation. Note: iop operates on single Type only. | |
| template<class Type, class CombineOp> | |
| void | interpolateToTarget (const UList< Type > &fld, const CombineOp &cop, List< Type > &result, const UList< Type > &defaultValues=UList< Type >::null()) const |
| Interpolate from source to target with supplied op to combine existing value with remote value and weight. | |
| template<class Type, class CombineOp> | |
| void | interpolateToSource (const UList< Type > &fld, const CombineOp &cop, List< Type > &result, const UList< Type > &defaultValues=UList< Type >::null()) const |
| Interpolate from target to source with supplied op to combine existing value with remote value and weight. | |
| template<class Type, class CombineOp> | |
| tmp< Field< Type > > | interpolateToSource (const Field< Type > &fld, const CombineOp &cop, const UList< Type > &defaultValues=UList< Type >::null()) const |
| Interpolate from target to source with supplied op. | |
| template<class Type, class CombineOp> | |
| tmp< Field< Type > > | interpolateToSource (const tmp< Field< Type > > &tFld, const CombineOp &cop, const UList< Type > &defaultValues=UList< Type >::null()) const |
| Interpolate from target tmp field to source with supplied op. | |
| template<class Type, class CombineOp> | |
| tmp< Field< Type > > | interpolateToTarget (const Field< Type > &fld, const CombineOp &cop, const UList< Type > &defaultValues=UList< Type >::null()) const |
| Interpolate from source to target with supplied op. | |
| template<class Type, class CombineOp> | |
| tmp< Field< Type > > | interpolateToTarget (const tmp< Field< Type > > &tFld, const CombineOp &cop, const UList< Type > &defaultValues=UList< Type >::null()) const |
| Interpolate from source tmp field to target with supplied op. | |
| template<class Type> | |
| tmp< Field< Type > > | interpolateToSource (const Field< Type > &fld, const UList< Type > &defaultValues=UList< Type >::null()) const |
| Interpolate from target to source. | |
| template<class Type> | |
| tmp< Field< Type > > | interpolateToSource (const tmp< Field< Type > > &tFld, const UList< Type > &defaultValues=UList< Type >::null()) const |
| Interpolate from target tmp field. | |
| template<class Type> | |
| tmp< Field< Type > > | interpolateToTarget (const Field< Type > &fld, const UList< Type > &defaultValues=UList< Type >::null()) const |
| Interpolate from source to target. | |
| template<class Type> | |
| tmp< Field< Type > > | interpolateToTarget (const tmp< Field< Type > > &tFld, const UList< Type > &defaultValues=UList< Type >::null()) const |
| Interpolate from source tmp field. | |
| label | srcPointFace (const primitivePatch &srcPatch, const primitivePatch &tgtPatch, const vector &n, const label tgtFacei, point &tgtPoint) const |
| Return source patch face index of point on target patch face. | |
| label | tgtPointFace (const primitivePatch &srcPatch, const primitivePatch &tgtPatch, const vector &n, const label srcFacei, point &srcPoint) const |
| Return target patch face index of point on source patch face. | |
| bool | restoreCache (const point &refPt) |
| Restore AMI weights and addressing from the cache. | |
| void | addToCache (const point &refPt) |
| Add AMI weights and addressing to the cache. | |
| bool | checkSymmetricWeights (const bool log) const |
| Check if src addresses are present in tgt addresses and viceversa. | |
| void | writeFaceConnectivity (const primitivePatch &srcPatch, const primitivePatch &tgtPatch, const labelListList &srcAddress) const |
| Write face connectivity as OBJ file. | |
| virtual void | write (Ostream &os) const |
| Write AMI as a dictionary. | |
| virtual bool | writeData (Ostream &os) const |
| Write AMI raw. | |
| bool & | upToDate () noexcept |
| Non-const access to the up-to-date flag. | |
| template<class Type, class CombineOp> | |
| Foam::tmp< Foam::Field< Type > > | interpolateToSource (const Field< Type > &fld, const CombineOp &cop, const UList< Type > &defaultValues) const |
| template<class Type, class CombineOp> | |
| Foam::tmp< Foam::Field< Type > > | interpolateToSource (const tmp< Field< Type > > &tFld, const CombineOp &cop, const UList< Type > &defaultValues) const |
| template<class Type, class CombineOp> | |
| Foam::tmp< Foam::Field< Type > > | interpolateToTarget (const Field< Type > &fld, const CombineOp &cop, const UList< Type > &defaultValues) const |
| template<class Type, class CombineOp> | |
| Foam::tmp< Foam::Field< Type > > | interpolateToTarget (const tmp< Field< Type > > &tFld, const CombineOp &cop, const UList< Type > &defaultValues) const |
| template<class Type> | |
| Foam::tmp< Foam::Field< Type > > | interpolateToSource (const Field< Type > &fld, const UList< Type > &defaultValues) const |
| template<class Type> | |
| Foam::tmp< Foam::Field< Type > > | interpolateToSource (const tmp< Field< Type > > &tFld, const UList< Type > &defaultValues) const |
| template<class Type> | |
| Foam::tmp< Foam::Field< Type > > | interpolateToTarget (const Field< Type > &fld, const UList< Type > &defaultValues) const |
| template<class Type> | |
| Foam::tmp< Foam::Field< Type > > | interpolateToTarget (const tmp< Field< Type > > &tFld, const UList< Type > &defaultValues) const |
Static Public Member Functions | |
| static autoPtr< AMIInterpolation > | New (const word &modelName, const dictionary &dict, const bool reverseTarget=false) |
| Selector for dictionary. | |
| static autoPtr< AMIInterpolation > | New (const word &modelName, const bool requireMatch=true, const bool reverseTarget=false, const scalar lowWeightCorrection=-1) |
| Selector for components. | |
| static void | agglomerate (const autoPtr< mapDistribute > &targetMap, const scalarList &fineSrcMagSf, const labelListList &fineSrcAddress, const scalarListList &fineSrcWeights, const labelList &sourceRestrictAddressing, const labelList &targetRestrictAddressing, scalarList &srcMagSf, labelListList &srcAddress, scalarListList &srcWeights, scalarField &srcWeightsSum, autoPtr< mapDistribute > &tgtMap, const label comm) |
| template<class Type, class CombineOp> | |
| static void | weightedSum (const scalar lowWeightCorrection, const labelListList &allSlots, const scalarListList &allWeights, const scalarField &weightsSum, const UList< Type > &fld, const CombineOp &cop, List< Type > &result, const UList< Type > &defaultValues) |
| Weighted sum of contributions. Note: cop operates on single Type only. | |
Static Public Attributes | |
| static bool | cacheIntersections_ = false |
| Flag to store face-to-face intersection triangles; default = false. | |
| static int | useLocalComm_ |
| Control use of local communicator for AMI communication. | |
| static scalar | cacheThetaTolerance_ |
| Tolerance used when caching the AMI to identify e.g. if the current rotation angle has already been captured. | |
Protected Types | |
| typedef treeDataPrimitivePatch< primitivePatch > | treeType |
| Local typedef to octree tree-type. | |
Protected Member Functions | |
| void | operator= (const AMIInterpolation &)=delete |
| No copy assignment. | |
| autoPtr< indexedOctree< treeType > > | createTree (const primitivePatch &patch) const |
| Reset the octree for the patch face search. | |
| label | calcDistribution (const primitivePatch &srcPatch, const primitivePatch &tgtPatch, const label comm, autoPtr< UPstream::communicator > &geomComm) const |
| Calculate if patches are on multiple processors. Allocates local communicator and returns -1 or processor containing all faces. | |
| void | projectPointsToSurface (const searchableSurface &surf, pointField &pts) const |
| Project points to surface. | |
| const primitivePatch & | srcPatch0 () const |
| Return the original src patch with optionally updated points. | |
| const primitivePatch & | tgtPatch0 () const |
| Return the original tgt patch with optionally updated points. | |
Static Protected Member Functions | |
| static void | normaliseWeights (const scalarList &patchAreas, const word &patchName, const labelListList &addr, scalarListList &wght, scalarField &wghtSum, const bool conformal, const bool output, const scalar lowWeightTol, const label comm) |
| Normalise the (area) weights - suppresses numerical error in weights calculation. | |
Protected Attributes | |
| bool | requireMatch_ |
| Flag to indicate that the two patches must be matched/an overlap exists between them. | |
| const bool | reverseTarget_ |
| Flag to indicate that the two patches are co-directional and that the orientation of the target patch should be reversed. | |
| const scalar | lowWeightCorrection_ |
| Threshold weight below which interpolation is deactivated. | |
| label | singlePatchProc_ |
| Index of processor that holds all of both sides. The value is -1 for distributed cases. | |
| label | comm_ |
| Communicator to use for parallel operations. | |
| autoPtr< UPstream::communicator > | geomComm_ |
| Communicator to use for geometry calculations. Not valid (-1) on processors that do not have faces. | |
| scalarList | srcMagSf_ |
| Source face areas. | |
| labelListList | srcAddress_ |
| Addresses of target faces per source face. | |
| scalarListList | srcWeights_ |
| Weights of target faces per source face. | |
| scalarField | srcWeightsSum_ |
| Sum of weights of target faces per source face. | |
| pointListList | srcCentroids_ |
| Centroid of target faces per source face. | |
| pointField | srcPatchPts_ |
| Source patch points if input points are manipulated, e.g. projected. | |
| refPtr< primitivePatch > | tsrcPatch0_ |
| Source patch using manipulated input points. | |
| autoPtr< mapDistribute > | srcMapPtr_ |
| Source map pointer - parallel running only. | |
| scalarList | tgtMagSf_ |
| Target face areas. | |
| labelListList | tgtAddress_ |
| Addresses of source faces per target face. | |
| scalarListList | tgtWeights_ |
| Weights of source faces per target face. | |
| scalarField | tgtWeightsSum_ |
| Sum of weights of source faces per target face. | |
| pointListList | tgtCentroids_ |
| Centroid of source faces per target face. | |
| pointField | tgtPatchPts_ |
| Target patch points if input points are manipulated, e.g. projected. | |
| refPtr< primitivePatch > | ttgtPatch0_ |
| Target patch using manipulated input points. | |
| autoPtr< mapDistribute > | tgtMapPtr_ |
| Target map pointer - parallel running only. | |
| bool | upToDate_ |
| Up-to-date flag. | |
| AMICache | cache_ |
| Cache. | |
Interpolation class dealing with transfer of data between two primitive patches with an arbitrary mesh interface (AMI).
Based on the algorithm given in:
Conservative interpolation between volume meshes by local Galerkin projection, Farrell PE and Maddison JR, 2011, Comput. Methods Appl. Mech Engrg, Volume 200, Issues 1-4, pp 89-100
Interpolation requires that the two patches should have opposite orientations (opposite normals). The 'reverseTarget' flag can be used to reverse the orientation of the target patch.
Definition at line 70 of file AMIInterpolation.H.
|
protected |
Local typedef to octree tree-type.
Definition at line 102 of file AMIInterpolation.H.
|
explicit |
Construct from dictionary.
Definition at line 688 of file AMIInterpolation.C.
References cache_, comm_, dict, lowWeightCorrection_, requireMatch_, reverseTarget(), reverseTarget_, singlePatchProc_, srcAddress_, srcCentroids_, srcMagSf_, srcMapPtr_, srcWeights_, srcWeightsSum_, tgtAddress_, tgtCentroids_, tgtMagSf_, tgtMapPtr_, tgtWeights_, tgtWeightsSum_, and upToDate_.
Referenced by advancingFrontAMI::advancingFrontAMI(), advancingFrontAMI::advancingFrontAMI(), advancingFrontAMI::advancingFrontAMI(), AMIInterpolation(), AMIInterpolation(), declareRunTimeSelectionTable(), declareRunTimeSelectionTable(), nearestFaceAMI::nearestFaceAMI(), nearestFaceAMI::nearestFaceAMI(), nearestFaceAMI::nearestFaceAMI(), and operator=().


|
explicit |
Construct from components.
Definition at line 716 of file AMIInterpolation.C.
References cache_, comm_, lowWeightCorrection(), lowWeightCorrection_, requireMatch(), requireMatch_, reverseTarget(), reverseTarget_, singlePatchProc_, srcAddress_, srcCentroids_, srcMagSf_, srcMapPtr_, srcPatchPts_, srcWeights_, srcWeightsSum_, tgtAddress_, tgtCentroids_, tgtMagSf_, tgtMapPtr_, tgtPatchPts_, tgtWeights_, tgtWeightsSum_, and upToDate_.

| AMIInterpolation | ( | const AMIInterpolation & | fineAMI, |
| const labelList & | sourceRestrictAddressing, | ||
| const labelList & | neighbourRestrictAddressing ) |
Construct from agglomeration of AMIInterpolation. Agglomeration passed in as new coarse size and addressing from fine from coarse.
Definition at line 747 of file AMIInterpolation.C.
References agglomerate(), AMIInterpolation(), cache(), cache_, comm(), comm_, Foam::endl(), geomComm_, if(), lowWeightCorrection_, Foam::max(), Foam::Pout, requireMatch_, reverseTarget_, singlePatchProc_, UList< T >::size(), srcAddress(), srcAddress_, srcMagSf(), srcMagSf_, srcMapPtr_, srcPatchPts_, srcWeights(), srcWeights_, srcWeightsSum_, tgtAddress(), tgtAddress_, tgtMagSf(), tgtMagSf_, tgtMapPtr_, tgtPatchPts_, tgtWeights(), tgtWeights_, tgtWeightsSum_, and upToDate_.

| AMIInterpolation | ( | const AMIInterpolation & | ami | ) |
Construct as copy.
Definition at line 902 of file AMIInterpolation.C.
References AMIInterpolation(), cache_, clone(), comm_, geomComm_, lowWeightCorrection_, requireMatch_, reverseTarget_, singlePatchProc_, srcAddress_, srcCentroids_, srcMagSf_, srcMapPtr_, srcWeights_, srcWeightsSum_, tgtAddress_, tgtCentroids_, tgtMagSf_, tgtMapPtr_, tgtWeights_, tgtWeightsSum_, and upToDate_.

| AMIInterpolation | ( | Istream & | is | ) |
Construct from Istream.
Note: does not transfer src(tgt)PatchPts, tsrc(tgt)Patch0_
Definition at line 927 of file AMIInterpolation.C.
References cache_, comm_, lowWeightCorrection_, Foam::readBool(), Foam::readLabel(), requireMatch_, reverseTarget_, singlePatchProc_, srcAddress_, srcCentroids_, srcMagSf_, srcMapPtr_, srcWeights_, srcWeightsSum_, tgtAddress_, tgtCentroids_, tgtMagSf_, tgtMapPtr_, tgtWeights_, tgtWeightsSum_, and upToDate_.

|
virtualdefault |
Destructor.
References comm(), srcAddress(), srcMagSf(), srcWeights(), srcWeightsSum(), and tgtMap().

|
protecteddelete |
No copy assignment.
References AMIInterpolation(), comm(), and pts.

|
protected |
Reset the octree for the patch face search.
Definition at line 76 of file AMIInterpolation.C.
References boundBox::inflate(), Foam::New(), and indexedOctreeBase::perturbTol().

|
protected |
Calculate if patches are on multiple processors. Allocates local communicator and returns -1 or processor containing all faces.
Definition at line 97 of file AMIInterpolation.C.
References UPstream::allGatherValues(), comm(), DebugInFunction, Foam::endl(), Foam::flatOutput(), forAll, autoPtr< T >::good(), UPstream::master(), UPstream::masterNo(), UPstream::nProcs(), UPstream::parRun(), Foam::Pout, DynamicList< T, SizeMin >::push_back(), autoPtr< T >::reset(), UPstream::sameProcs(), UList< T >::size(), UList< T >::test(), and useLocalComm_.
Referenced by calculate().


|
protected |
Project points to surface.
Definition at line 241 of file AMIInterpolation.C.
References Foam::abort(), addProfiling, DebugInfo, Foam::endl(), Foam::FatalError, FatalErrorInFunction, searchableSurface::findNearest(), forAll, pi(), and pts.
Referenced by calculate().


|
inlineprotected |
Return the original src patch with optionally updated points.
Definition at line 22 of file AMIInterpolationI.H.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, and tsrcPatch0_.
Referenced by faceAreaWeightAMI2D::calculate(), faceAreaWeightAMI::calculate(), nearestFaceAMI::calculate(), and advancingFrontAMI::createExtendedTgtPatch().


|
inlineprotected |
Return the original tgt patch with optionally updated points.
Definition at line 35 of file AMIInterpolationI.H.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, and ttgtPatch0_.
Referenced by faceAreaWeightAMI2D::calculate(), faceAreaWeightAMI::calculate(), nearestFaceAMI::calculate(), advancingFrontAMI::createExtendedTgtPatch(), and advancingFrontAMI::nonConformalCorrection().


|
staticprotected |
Normalise the (area) weights - suppresses numerical error in weights calculation.
NOTE: if area weights are incorrect by 'a significant amount' normalisation may stabilise the solution, but will introduce numerical error!
Definition at line 281 of file AMIInterpolation.C.
References addProfiling, comm(), Foam::endl(), forAll, Foam::gAverage(), Foam::gMinMax(), Foam::indent(), Foam::Info, limits, UPstream::msgType(), Foam::nl, List< T >::resize_nocopy(), Foam::returnReduce(), Foam::returnReduceOr(), s(), UList< T >::size(), and Foam::sum().
Referenced by agglomerate(), faceAreaWeightAMI2D::calculate(), faceAreaWeightAMI::calculate(), and normaliseWeights().


| TypeName | ( | "AMIInterpolation" | ) |
Runtime type information.
| declareRunTimeSelectionTable | ( | autoPtr | , |
| AMIInterpolation | , | ||
| dict | , | ||
| (const dictionary &dict, const bool reverseTarget) | , | ||
| (dict, reverseTarget) | ) |
Selection table for dictionary construction.
References AMIInterpolation(), dict, and reverseTarget().

| declareRunTimeSelectionTable | ( | autoPtr | , |
| AMIInterpolation | , | ||
| component | , | ||
| (const bool requireMatch, const bool reverseTarget, const scalar lowWeightCorrection) | , | ||
| (requireMatch, reverseTarget, lowWeightCorrection) | ) |
Selection table for component-wise construction.
References AMIInterpolation(), Foam::component(), dict, lowWeightCorrection(), requireMatch(), and reverseTarget().

|
static |
Selector for dictionary.
Definition at line 25 of file AMIInterpolationNew.C.
References DebugInfo, dict, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInLookup, Foam::GlobalIOList< Tuple2< scalar, vector > >::typeName, and reverseTarget().
Referenced by regionModel::interRegionAMI().


|
static |
Selector for components.
Definition at line 50 of file AMIInterpolationNew.C.
References DebugInfo, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInLookup, Foam::GlobalIOList< Tuple2< scalar, vector > >::typeName, lowWeightCorrection(), requireMatch(), and reverseTarget().

|
inlinevirtual |
Construct and return a clone.
Reimplemented in advancingFrontAMI, faceAreaWeightAMI2D, faceAreaWeightAMI, and nearestFaceAMI.
Definition at line 427 of file AMIInterpolation.H.
References autoPtr< T >::New().
Referenced by AMIInterpolation(), and append().


|
static |
Definition at line 361 of file AMIInterpolation.C.
References addProfiling, List< T >::append(), comm(), mapDistributeBase::comm(), mapDistributeBase::constructMap(), mapDistributeBase::constructSize(), mapDistribute::distribute(), UList< T >::empty(), UList< T >::find(), forAll, Foam::identity(), Foam::labelMin, Foam::max(), UPstream::myProcNo(), normaliseWeights(), UPstream::nProcs(), List< T >::resize(), List< T >::resize_nocopy(), UList< T >::size(), srcAddress(), srcMagSf(), srcWeights(), srcWeightsSum(), mapDistributeBase::subMap(), and tgtMap().
Referenced by AMIInterpolation().


|
inlinenoexcept |
Is up-to-date?
Definition at line 473 of file AMIInterpolation.H.
References Foam::noexcept, and upToDate_.
Referenced by upToDate(), and writeData().

|
inlinenoexcept |
Set as up-to-date, return the previous value.
Definition at line 478 of file AMIInterpolation.H.
References upToDate_.
|
inlinenoexcept |
Return a reference to the AMI cache.
Definition at line 488 of file AMIInterpolation.H.
References cache_, and Foam::noexcept.
Referenced by AMIInterpolation().

|
inlinenoexcept |
Definition at line 489 of file AMIInterpolation.H.
References cache_, and Foam::noexcept.
|
inlinenoexcept |
Distributed across processors (singlePatchProc == -1).
Definition at line 49 of file AMIInterpolationI.H.
References Foam::noexcept, and singlePatchProc_.
Referenced by append(), advancingFrontAMI::calculate(), calculate(), faceAreaWeightAMI2D::calculate(), faceAreaWeightAMI::calculate(), nearestFaceAMI::calculate(), checkSymmetricWeights(), interpolate(), advancingFrontAMI::nonConformalCorrection(), and writeData().

|
inlinenoexcept |
Return the requireMatch flag.
Definition at line 55 of file AMIInterpolationI.H.
References Foam::noexcept, and requireMatch_.
Referenced by advancingFrontAMI::advancingFrontAMI(), AMIInterpolation(), declareRunTimeSelectionTable(), faceAreaWeightAMI::faceAreaWeightAMI(), faceAreaWeightAMI2D::faceAreaWeightAMI2D(), nearestFaceAMI::nearestFaceAMI(), New(), advancingFrontAMI::TypeName(), faceAreaWeightAMI2D::TypeName(), faceAreaWeightAMI::TypeName(), nearestFaceAMI::TypeName(), and writeData().

|
inlinenoexcept |
Set the require match flag, return the new value.
Definition at line 61 of file AMIInterpolationI.H.
References requireMatch_.
|
inline |
Return true if requireMatch and but not lowWeightCorrection.
Definition at line 68 of file AMIInterpolationI.H.
References applyLowWeightCorrection(), and requireMatch_.
Referenced by faceAreaWeightAMI::calcAddressing(), and faceAreaWeightAMI2D::calculate().


|
inlinenoexcept |
Access to the reverseTarget flag.
Definition at line 74 of file AMIInterpolationI.H.
References Foam::noexcept, and reverseTarget_.
Referenced by advancingFrontAMI::advancingFrontAMI(), advancingFrontAMI::advancingFrontAMI(), AMIInterpolation(), AMIInterpolation(), declareRunTimeSelectionTable(), declareRunTimeSelectionTable(), faceAreaWeightAMI::faceAreaWeightAMI(), faceAreaWeightAMI::faceAreaWeightAMI(), faceAreaWeightAMI2D::faceAreaWeightAMI2D(), faceAreaWeightAMI2D::faceAreaWeightAMI2D(), nearestFaceAMI::nearestFaceAMI(), nearestFaceAMI::nearestFaceAMI(), New(), New(), advancingFrontAMI::TypeName(), faceAreaWeightAMI2D::TypeName(), faceAreaWeightAMI::TypeName(), nearestFaceAMI::TypeName(), and writeData().

|
inline |
Threshold weight below which interpolation is deactivated.
Definition at line 80 of file AMIInterpolationI.H.
References lowWeightCorrection_.
Referenced by advancingFrontAMI::advancingFrontAMI(), AMIInterpolation(), declareRunTimeSelectionTable(), faceAreaWeightAMI::faceAreaWeightAMI(), faceAreaWeightAMI2D::faceAreaWeightAMI2D(), nearestFaceAMI::nearestFaceAMI(), New(), advancingFrontAMI::TypeName(), faceAreaWeightAMI2D::TypeName(), faceAreaWeightAMI::TypeName(), nearestFaceAMI::TypeName(), weightedSum(), and writeData().

|
inline |
Return true if employing a 'lowWeightCorrection'.
Definition at line 86 of file AMIInterpolationI.H.
References lowWeightCorrection_.
Referenced by mustMatchFaces().

|
inlinenoexcept |
The processor holding all faces (both sides), or -1 if distributed.
Definition at line 92 of file AMIInterpolationI.H.
References Foam::noexcept, and singlePatchProc_.
Referenced by reset(), and writeData().

|
inlinenoexcept |
Communicator (local or otherwise) for parallel operations.
Definition at line 98 of file AMIInterpolationI.H.
References comm_, geomComm_, and Foam::noexcept.
Referenced by agglomerate(), AMICache::AMICache(), AMIInterpolation(), append(), calcDistribution(), advancingFrontAMI::calculate(), faceAreaWeightAMI2D::calculate(), faceAreaWeightAMI::calculate(), nearestFaceAMI::calculate(), advancingFrontAMI::checkPatches(), advancingFrontAMI::createExtendedTgtPatch(), cyclicACMIGAMGInterface::cyclicACMIGAMGInterface(), cyclicAMIGAMGInterface::cyclicAMIGAMGInterface(), advancingFrontAMI::nonConformalCorrection(), normaliseWeights(), normaliseWeights(), operator=(), writeData(), and ~AMIInterpolation().

|
inlinenoexcept |
Set (non-local) communicator for parallel operations.
Definition at line 111 of file AMIInterpolationI.H.
References comm_.
|
inline |
Return true if caching is active.
Definition at line 119 of file AMIInterpolationI.H.
References cache_.
|
inline |
Return const access to source patch face areas.
Definition at line 125 of file AMIInterpolationI.H.
References srcMagSf_.
Referenced by agglomerate(), AMIInterpolation(), writeData(), and ~AMIInterpolation().

|
inline |
Return access to source patch face areas.
Definition at line 131 of file AMIInterpolationI.H.
References srcMagSf_.
|
inline |
Return const access to source patch addressing.
Definition at line 137 of file AMIInterpolationI.H.
References srcAddress_.
Referenced by AMICache::addToCache(), agglomerate(), AMIInterpolation(), mappedPatchFieldBase< Type >::distribute(), interpolate(), interpolateToTarget(), cyclicAMIPolyPatch::mapCollocatedFaces(), faceAreaWeightAMI::operator=(), reset(), writeData(), writeFaceConnectivity(), and ~AMIInterpolation().

|
inline |
Return access to source patch addressing.
Definition at line 143 of file AMIInterpolationI.H.
References srcAddress_.
|
inline |
Return const access to source patch weights.
Definition at line 149 of file AMIInterpolationI.H.
References srcWeights_.
Referenced by AMICache::addToCache(), agglomerate(), AMIInterpolation(), assemblyFaceAreaPairGAMGAgglomeration::assemblyFaceAreaPairGAMGAgglomeration(), mappedPatchFieldBase< Type >::distribute(), interpolate(), faceAreaWeightAMI::operator=(), reset(), writeData(), and ~AMIInterpolation().

|
inline |
Return access to source patch weights.
Definition at line 155 of file AMIInterpolationI.H.
References srcWeights_.
|
inline |
Return const access to normalisation factor of source patch weights (i.e. the sum before normalisation).
Definition at line 161 of file AMIInterpolationI.H.
References srcWeightsSum_.
Referenced by AMICache::addToCache(), agglomerate(), interpolate(), writeData(), AMIWeights::writeWeightFields(), and ~AMIInterpolation().

|
inline |
Return access to normalisation factor of source patch weights (i.e. the sum before normalisation).
Definition at line 167 of file AMIInterpolationI.H.
References srcWeightsSum_.
|
inline |
Return const access to source patch face centroids.
Definition at line 173 of file AMIInterpolationI.H.
References srcCentroids_.
Referenced by faceAreaWeightAMI::operator=(), and writeData().

|
inline |
Return access to source patch face centroids.
Definition at line 179 of file AMIInterpolationI.H.
References srcCentroids_.
|
inline |
Source map - valid only if singlePatchProc = -1 This gets source data into a form to be consumed by tgtAddress, tgtWeights.
Definition at line 185 of file AMIInterpolationI.H.
References srcMapPtr_.
Referenced by AMICache::addToCache(), mappedPatchFieldBase< Type >::distribute(), and writeData().

|
inlinenoexcept |
Pointer to the source map (if distributed). Can be checked as a bool.
Definition at line 192 of file AMIInterpolationI.H.
References Foam::noexcept, and srcMapPtr_.
Referenced by AMICache::addToCache().

|
inline |
Return const access to target patch face areas.
Definition at line 198 of file AMIInterpolationI.H.
References tgtMagSf_.
Referenced by AMIInterpolation(), and writeData().

|
inline |
Return access to target patch face areas.
Definition at line 204 of file AMIInterpolationI.H.
References tgtMagSf_.
|
inline |
Return const access to target patch addressing.
Definition at line 210 of file AMIInterpolationI.H.
References tgtAddress_.
Referenced by AMICache::addToCache(), AMIInterpolation(), mappedPatchFieldBase< Type >::distribute(), interpolate(), faceAreaWeightAMI::operator=(), reset(), and writeData().

|
inline |
Return access to target patch addressing.
Definition at line 216 of file AMIInterpolationI.H.
References tgtAddress_.
|
inline |
Return const access to target patch weights.
Definition at line 222 of file AMIInterpolationI.H.
References tgtWeights_.
Referenced by AMICache::addToCache(), AMIInterpolation(), mappedPatchFieldBase< Type >::distribute(), faceAreaWeightAMI::operator=(), reset(), and writeData().

|
inline |
Return access to target patch weights.
Definition at line 228 of file AMIInterpolationI.H.
References tgtWeights_.
|
inline |
Return const access to normalisation factor of target patch weights (i.e. the sum before normalisation).
Definition at line 234 of file AMIInterpolationI.H.
References tgtWeightsSum_.
Referenced by AMICache::addToCache(), writeData(), and AMIWeights::writeWeightFields().

|
inline |
Return access to normalisation factor of target patch weights (i.e. the sum before normalisation).
Definition at line 240 of file AMIInterpolationI.H.
References tgtWeightsSum_.
|
inline |
Target map - valid only if singlePatchProc=-1. This gets target data into a form to be consumed by srcAddress, srcWeights.
Definition at line 246 of file AMIInterpolationI.H.
References tgtMapPtr_.
Referenced by AMICache::addToCache(), agglomerate(), mappedPatchFieldBase< Type >::distribute(), writeData(), and ~AMIInterpolation().

|
inlinenoexcept |
Pointer to the target map (if distributed). Can be checked as a bool.
Definition at line 253 of file AMIInterpolationI.H.
References Foam::noexcept, and tgtMapPtr_.
Referenced by AMICache::addToCache().

|
virtual |
Update addressing, weights and (optional) centroids.
Reimplemented in advancingFrontAMI, faceAreaWeightAMI2D, faceAreaWeightAMI, and nearestFaceAMI.
Definition at line 968 of file AMIInterpolation.C.
References addProfiling, calcDistribution(), comm_, DebugInfo, distributed(), Foam::endl(), geomComm_, Foam::indent(), Foam::Info, UPstream::msgType(), UPstream::myProcNo(), refPtr< T >::New(), Foam::nl, PrimitivePatch< FaceList, PointField >::points(), projectPointsToSurface(), Foam::returnReduce(), singlePatchProc_, UList< T >::size(), srcAddress_, srcCentroids_, srcMagSf_, srcPatchPts_, srcWeights_, srcWeightsSum_, tgtAddress_, tgtCentroids_, tgtMagSf_, tgtPatchPts_, tgtWeights_, tgtWeightsSum_, tsrcPatch0_, ttgtPatch0_, and upToDate_.
Referenced by advancingFrontAMI::calculate(), and nearestFaceAMI::calculate().


| void reset | ( | autoPtr< mapDistribute > && | srcToTgtMap, |
| autoPtr< mapDistribute > && | tgtToSrcMap, | ||
| labelListList && | srcAddress, | ||
| scalarListList && | srcWeights, | ||
| labelListList && | tgtAddress, | ||
| scalarListList && | tgtWeights, | ||
| const label | singlePatchProc ) |
Set the maps, addresses and weights from an external source.
Definition at line 1086 of file AMIInterpolation.C.
References DebugInFunction, Foam::endl(), forAll, singlePatchProc(), singlePatchProc_, srcAddress(), srcAddress_, srcMapPtr_, srcWeights(), srcWeights_, srcWeightsSum_, Foam::sum(), tgtAddress(), tgtAddress_, tgtMapPtr_, tgtWeights(), tgtWeights_, tgtWeightsSum_, and upToDate_.

| void append | ( | const primitivePatch & | srcPatch, |
| const primitivePatch & | tgtPatch ) |
Append additional addressing and weights.
Definition at line 1126 of file AMIInterpolation.C.
References addProfiling, UList< T >::begin(), clone(), comm(), distributed(), forAll, Foam::max(), List< T >::push_back(), UList< T >::size(), srcAddress_, srcMagSf_, srcMapPtr_, srcWeights_, srcWeightsSum_, tgtAddress_, tgtMagSf_, tgtMapPtr_, tgtWeights_, and tgtWeightsSum_.

| void normaliseWeights | ( | const bool | conformal, |
| const bool | output ) |
Normalise the weights.
Definition at line 1320 of file AMIInterpolation.C.
References comm(), lowWeightCorrection_, normaliseWeights(), srcAddress_, srcMagSf_, srcWeights_, srcWeightsSum_, tgtAddress_, tgtMagSf_, tgtWeights_, and tgtWeightsSum_.

|
static |
Weighted sum of contributions. Note: cop operates on single Type only.
Definition at line 28 of file AMIInterpolationTemplates.C.
References fld(), forAll, and lowWeightCorrection().
Referenced by cyclicAMIPolyPatch::interpolate(), cyclicACMIGAMGInterfaceField::updateInterfaceMatrix(), and cyclicAMIGAMGInterfaceField::updateInterfaceMatrix().


| void weightedSum | ( | const bool | toSource, |
| const UList< Type > & | fld, | ||
| List< Type > & | result, | ||
| const UList< Type > & | defaultValues ) const |
Weighted sum of contributions (includes caching+interp) (for primitive types only).
Definition at line 77 of file AMIInterpolationTemplates.C.
References fld(), lowWeightCorrection_, srcAddress_, srcWeights_, srcWeightsSum_, tgtAddress_, tgtWeights_, tgtWeightsSum_, and Foam::weightedSum().

| void interpolate | ( | const bool | toSource, |
| const UList< Type > & | fld, | ||
| const CombineOp & | cop, | ||
| const InterpolateOp & | iop, | ||
| List< Type > & | result, | ||
| const UList< Type > & | defaultValues ) const |
Weighted sum of (potentially distributed) contributions and apply caching+interpolation. Note: iop operates on single Type only.
Definition at line 101 of file AMIInterpolationTemplates.C.
References Foam::abort(), addProfiling, cache_, mapDistributeBase::comm(), mapDistributeBase::constructSize(), mapDistribute::distribute(), distributed(), Foam::FatalError, FatalErrorInFunction, fld(), forAll, lowWeightCorrection_, Foam::nl, List< T >::resize_nocopy(), UList< T >::size(), srcAddress(), srcAddress_, srcMapPtr_, srcWeights(), srcWeights_, srcWeightsSum(), srcWeightsSum_, tgtAddress(), tgtAddress_, tgtMapPtr_, tgtWeights_, tgtWeightsSum_, and Foam::weightedSum().

| void interpolateToTarget | ( | const UList< Type > & | fld, |
| const CombineOp & | cop, | ||
| List< Type > & | result, | ||
| const UList< Type > & | defaultValues = UList<Type>::null() ) const |
Interpolate from source to target with supplied op to combine existing value with remote value and weight.
Definition at line 326 of file AMIInterpolationTemplates.C.
References addProfiling, b, fld(), and Foam::interpolate().
Referenced by interpolateToTarget(), interpolateToTarget(), interpolateToTarget(), interpolateToTarget(), interpolateToTarget(), interpolateToTarget(), interpolateToTarget(), interpolateToTarget(), and cyclicAMIPolyPatch::interpolateUntransformed().


| void interpolateToSource | ( | const UList< Type > & | fld, |
| const CombineOp & | cop, | ||
| List< Type > & | result, | ||
| const UList< Type > & | defaultValues = UList<Type>::null() ) const |
Interpolate from target to source with supplied op to combine existing value with remote value and weight.
Definition at line 367 of file AMIInterpolationTemplates.C.
References addProfiling, b, fld(), and Foam::interpolate().
Referenced by interpolateToSource(), interpolateToSource(), interpolateToSource(), interpolateToSource(), interpolateToSource(), interpolateToSource(), interpolateToSource(), interpolateToSource(), cyclicAMIPolyPatch::interpolateUntransformed(), regionModel::mapRegionPatchField(), regionModel::mapRegionPatchField(), and regionModel::mapRegionPatchInternalField().


| tmp< Field< Type > > interpolateToSource | ( | const Field< Type > & | fld, |
| const CombineOp & | cop, | ||
| const UList< Type > & | defaultValues = UList< Type >::null() ) const |
Interpolate from target to source with supplied op.
References fld(), and interpolateToSource().

| tmp< Field< Type > > interpolateToSource | ( | const tmp< Field< Type > > & | tFld, |
| const CombineOp & | cop, | ||
| const UList< Type > & | defaultValues = UList< Type >::null() ) const |
Interpolate from target tmp field to source with supplied op.
References interpolateToSource().

| tmp< Field< Type > > interpolateToTarget | ( | const Field< Type > & | fld, |
| const CombineOp & | cop, | ||
| const UList< Type > & | defaultValues = UList< Type >::null() ) const |
Interpolate from source to target with supplied op.
References fld(), and interpolateToTarget().

| tmp< Field< Type > > interpolateToTarget | ( | const tmp< Field< Type > > & | tFld, |
| const CombineOp & | cop, | ||
| const UList< Type > & | defaultValues = UList< Type >::null() ) const |
Interpolate from source tmp field to target with supplied op.
References interpolateToTarget().

| tmp< Field< Type > > interpolateToSource | ( | const Field< Type > & | fld, |
| const UList< Type > & | defaultValues = UList< Type >::null() ) const |
Interpolate from target to source.
References fld(), and interpolateToSource().

| tmp< Field< Type > > interpolateToSource | ( | const tmp< Field< Type > > & | tFld, |
| const UList< Type > & | defaultValues = UList< Type >::null() ) const |
Interpolate from target tmp field.
References interpolateToSource().

| tmp< Field< Type > > interpolateToTarget | ( | const Field< Type > & | fld, |
| const UList< Type > & | defaultValues = UList< Type >::null() ) const |
Interpolate from source to target.
References fld(), and interpolateToTarget().

| tmp< Field< Type > > interpolateToTarget | ( | const tmp< Field< Type > > & | tFld, |
| const UList< Type > & | defaultValues = UList< Type >::null() ) const |
Interpolate from source tmp field.
References addToCache(), checkSymmetricWeights(), interpolateToTarget(), Foam::log(), n, os(), restoreCache(), srcAddress(), srcPointFace(), tgtPointFace(), write(), writeData(), and writeFaceConnectivity().

| Foam::label srcPointFace | ( | const primitivePatch & | srcPatch, |
| const primitivePatch & | tgtPatch, | ||
| const vector & | n, | ||
| const label | tgtFacei, | ||
| point & | tgtPoint ) const |
Return source patch face index of point on target patch face.
Definition at line 1354 of file AMIInterpolation.C.
References PointHit< PointType >::distance(), PointHit< PointType >::eligibleMiss(), f(), PointHit< PointType >::hit(), n, PointHit< PointType >::point(), PrimitivePatch< FaceList, PointField >::points(), PointHit< PointType >::setDistance(), tgtAddress_, and intersection::VISIBLE.
Referenced by interpolateToTarget().


| Foam::label tgtPointFace | ( | const primitivePatch & | srcPatch, |
| const primitivePatch & | tgtPatch, | ||
| const vector & | n, | ||
| const label | srcFacei, | ||
| point & | srcPoint ) const |
Return target patch face index of point on source patch face.
Definition at line 1402 of file AMIInterpolation.C.
References PointHit< PointType >::distance(), PointHit< PointType >::eligibleMiss(), f(), PointHit< PointType >::hit(), n, PointHit< PointType >::point(), PrimitivePatch< FaceList, PointField >::points(), PointHit< PointType >::setDistance(), srcAddress_, and intersection::VISIBLE.
Referenced by interpolateToTarget().


| bool restoreCache | ( | const point & | refPt | ) |
Restore AMI weights and addressing from the cache.
Definition at line 65 of file AMIInterpolation.C.
References cache_, DebugInfo, Foam::endl(), and upToDate_.
Referenced by interpolateToTarget().


| void addToCache | ( | const point & | refPt | ) |
Add AMI weights and addressing to the cache.
Definition at line 57 of file AMIInterpolation.C.
References cache_, DebugInfo, and Foam::endl().
Referenced by interpolateToTarget().


| bool checkSymmetricWeights | ( | const bool | log | ) | const |
Check if src addresses are present in tgt addresses and viceversa.
Definition at line 1451 of file AMIInterpolation.C.
References distributed(), Foam::endl(), forAll, found, Log, Foam::log(), Foam::nl, UPstream::parRun(), srcAddress_, and tgtAddress_.
Referenced by interpolateToTarget().


| void writeFaceConnectivity | ( | const primitivePatch & | srcPatch, |
| const primitivePatch & | tgtPatch, | ||
| const labelListList & | srcAddress ) const |
Write face connectivity as OBJ file.
Definition at line 1514 of file AMIInterpolation.C.
References Foam::endl(), PrimitivePatch< FaceList, PointField >::faceCentres(), forAll, UPstream::myProcNo(), Foam::name(), os(), srcAddress(), and Foam::meshTools::writeOBJ().
Referenced by interpolateToTarget().


|
virtual |
Write AMI as a dictionary.
Reimplemented in advancingFrontAMI, faceAreaWeightAMI2D, faceAreaWeightAMI, and nearestFaceAMI.
Definition at line 1546 of file AMIInterpolation.C.
References cache_, lowWeightCorrection_, os(), requireMatch_, reverseTarget_, and Foam::type().
Referenced by interpolateToTarget(), advancingFrontAMI::write(), and nearestFaceAMI::write().


|
virtual |
Write AMI raw.
Definition at line 1569 of file AMIInterpolation.C.
References cache_, comm(), distributed(), lowWeightCorrection(), os(), requireMatch(), reverseTarget(), singlePatchProc(), token::SPACE, srcAddress(), srcCentroids(), srcMagSf(), srcMap(), srcWeights(), srcWeightsSum(), tgtAddress(), tgtCentroids_, tgtMagSf(), tgtMap(), tgtWeights(), tgtWeightsSum(), and upToDate().
Referenced by interpolateToTarget().


|
inlinenoexcept |
Non-const access to the up-to-date flag.
Definition at line 956 of file AMIInterpolation.H.
References Foam::noexcept, upToDate(), and upToDate_.

| Foam::tmp< Foam::Field< Type > > interpolateToSource | ( | const Field< Type > & | fld, |
| const CombineOp & | cop, | ||
| const UList< Type > & | defaultValues ) const |
Definition at line 409 of file AMIInterpolationTemplates.C.
References fld(), interpolateToSource(), Foam::New(), srcAddress_, and Foam::Zero.

| Foam::tmp< Foam::Field< Type > > interpolateToSource | ( | const tmp< Field< Type > > & | tFld, |
| const CombineOp & | cop, | ||
| const UList< Type > & | defaultValues ) const |
Definition at line 431 of file AMIInterpolationTemplates.C.
References interpolateToSource().

| Foam::tmp< Foam::Field< Type > > interpolateToTarget | ( | const Field< Type > & | fld, |
| const CombineOp & | cop, | ||
| const UList< Type > & | defaultValues ) const |
Definition at line 443 of file AMIInterpolationTemplates.C.
References fld(), interpolateToTarget(), Foam::New(), tgtAddress_, and Foam::Zero.

| Foam::tmp< Foam::Field< Type > > interpolateToTarget | ( | const tmp< Field< Type > > & | tFld, |
| const CombineOp & | cop, | ||
| const UList< Type > & | defaultValues ) const |
Definition at line 465 of file AMIInterpolationTemplates.C.
References interpolateToTarget().

| Foam::tmp< Foam::Field< Type > > interpolateToSource | ( | const Field< Type > & | fld, |
| const UList< Type > & | defaultValues ) const |
Definition at line 477 of file AMIInterpolationTemplates.C.
References fld(), and interpolateToSource().

| Foam::tmp< Foam::Field< Type > > interpolateToSource | ( | const tmp< Field< Type > > & | tFld, |
| const UList< Type > & | defaultValues ) const |
Definition at line 488 of file AMIInterpolationTemplates.C.
References interpolateToSource().

| Foam::tmp< Foam::Field< Type > > interpolateToTarget | ( | const Field< Type > & | fld, |
| const UList< Type > & | defaultValues ) const |
Definition at line 499 of file AMIInterpolationTemplates.C.
References fld(), and interpolateToTarget().

| Foam::tmp< Foam::Field< Type > > interpolateToTarget | ( | const tmp< Field< Type > > & | tFld, |
| const UList< Type > & | defaultValues ) const |
Definition at line 510 of file AMIInterpolationTemplates.C.
References interpolateToTarget().

|
static |
Flag to store face-to-face intersection triangles; default = false.
Definition at line 79 of file AMIInterpolation.H.
Referenced by faceAreaWeightAMI::calcInterArea(), and faceAreaWeightAMI::overlaps().
|
static |
Control use of local communicator for AMI communication.
localComm : 0 : all processors (backwards compatible) localComm : 1 : only processors with patch faces localComm : 2 : like 1 but always include master (for messages)
Definition at line 88 of file AMIInterpolation.H.
Referenced by calcDistribution(), and registerOptSwitch().
|
static |
Tolerance used when caching the AMI to identify e.g. if the current rotation angle has already been captured.
Definition at line 94 of file AMIInterpolation.H.
|
protected |
Flag to indicate that the two patches must be matched/an overlap exists between them.
Definition at line 110 of file AMIInterpolation.H.
Referenced by AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), faceAreaWeightAMI2D::calculate(), faceAreaWeightAMI::calculate(), advancingFrontAMI::checkPatches(), advancingFrontAMI::initialiseWalk(), mustMatchFaces(), advancingFrontAMI::nonConformalCorrection(), requireMatch(), setRequireMatch(), and write().
|
protected |
Flag to indicate that the two patches are co-directional and that the orientation of the target patch should be reversed.
Definition at line 116 of file AMIInterpolation.H.
Referenced by AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), faceAreaWeightAMI::calcInterArea(), advancingFrontAMI::isCandidate(), faceAreaWeightAMI::overlaps(), reverseTarget(), and write().
|
protected |
Threshold weight below which interpolation is deactivated.
Definition at line 121 of file AMIInterpolation.H.
Referenced by AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), applyLowWeightCorrection(), interpolate(), lowWeightCorrection(), normaliseWeights(), weightedSum(), and write().
|
protected |
Index of processor that holds all of both sides. The value is -1 for distributed cases.
Definition at line 127 of file AMIInterpolation.H.
Referenced by AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), calculate(), distributed(), reset(), and singlePatchProc().
|
protected |
Communicator to use for parallel operations.
Definition at line 132 of file AMIInterpolation.H.
Referenced by AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), calculate(), comm(), and comm().
|
protected |
Communicator to use for geometry calculations. Not valid (-1) on processors that do not have faces.
Definition at line 138 of file AMIInterpolation.H.
Referenced by AMIInterpolation(), AMIInterpolation(), calculate(), and comm().
|
protected |
Source face areas.
Definition at line 146 of file AMIInterpolation.H.
Referenced by AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), append(), advancingFrontAMI::calculate(), calculate(), faceAreaWeightAMI2D::calculate(), nearestFaceAMI::calculate(), advancingFrontAMI::isCandidate(), normaliseWeights(), faceAreaWeightAMI::processSourceFace(), faceAreaWeightAMI::restartUncoveredSourceFace(), faceAreaWeightAMI::setNextFaces(), srcMagSf(), srcMagSf(), and faceAreaWeightAMI2D::storeInterArea().
|
protected |
Addresses of target faces per source face.
Definition at line 151 of file AMIInterpolation.H.
Referenced by AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), append(), advancingFrontAMI::calculate(), calculate(), faceAreaWeightAMI2D::calculate(), faceAreaWeightAMI::calculate(), nearestFaceAMI::calculate(), checkSymmetricWeights(), interpolate(), interpolateToSource(), normaliseWeights(), reset(), srcAddress(), srcAddress(), tgtPointFace(), and weightedSum().
|
protected |
Weights of target faces per source face.
Definition at line 156 of file AMIInterpolation.H.
Referenced by AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), append(), advancingFrontAMI::calculate(), calculate(), faceAreaWeightAMI2D::calculate(), faceAreaWeightAMI::calculate(), nearestFaceAMI::calculate(), interpolate(), normaliseWeights(), reset(), srcWeights(), srcWeights(), and weightedSum().
|
protected |
Sum of weights of target faces per source face.
Definition at line 161 of file AMIInterpolation.H.
Referenced by AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), append(), calculate(), nearestFaceAMI::calculate(), interpolate(), normaliseWeights(), reset(), srcWeightsSum(), srcWeightsSum(), and weightedSum().
|
protected |
Centroid of target faces per source face.
Definition at line 166 of file AMIInterpolation.H.
Referenced by AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), calculate(), faceAreaWeightAMI2D::calculate(), faceAreaWeightAMI::calculate(), srcCentroids(), and srcCentroids().
|
protected |
Source patch points if input points are manipulated, e.g. projected.
Definition at line 172 of file AMIInterpolation.H.
Referenced by AMIInterpolation(), AMIInterpolation(), and calculate().
|
protected |
Source patch using manipulated input points.
Definition at line 177 of file AMIInterpolation.H.
Referenced by calculate(), advancingFrontAMI::srcPatch(), and srcPatch0().
|
protected |
Source map pointer - parallel running only.
Definition at line 182 of file AMIInterpolation.H.
Referenced by AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), append(), faceAreaWeightAMI2D::calculate(), faceAreaWeightAMI::calculate(), nearestFaceAMI::calculate(), hasSrcMap(), interpolate(), reset(), and srcMap().
|
protected |
Target face areas.
Definition at line 190 of file AMIInterpolation.H.
Referenced by AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), append(), advancingFrontAMI::calculate(), calculate(), faceAreaWeightAMI2D::calculate(), faceAreaWeightAMI::calculate(), nearestFaceAMI::calculate(), advancingFrontAMI::isCandidate(), advancingFrontAMI::nonConformalCorrection(), normaliseWeights(), tgtMagSf(), and tgtMagSf().
|
protected |
Addresses of source faces per target face.
Definition at line 195 of file AMIInterpolation.H.
Referenced by AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), append(), advancingFrontAMI::calculate(), calculate(), faceAreaWeightAMI2D::calculate(), faceAreaWeightAMI::calculate(), nearestFaceAMI::calculate(), checkSymmetricWeights(), interpolate(), interpolateToTarget(), normaliseWeights(), reset(), srcPointFace(), tgtAddress(), tgtAddress(), and weightedSum().
|
protected |
Weights of source faces per target face.
Definition at line 200 of file AMIInterpolation.H.
Referenced by AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), append(), advancingFrontAMI::calculate(), calculate(), faceAreaWeightAMI2D::calculate(), faceAreaWeightAMI::calculate(), nearestFaceAMI::calculate(), interpolate(), normaliseWeights(), reset(), tgtWeights(), tgtWeights(), and weightedSum().
|
protected |
Sum of weights of source faces per target face.
Definition at line 205 of file AMIInterpolation.H.
Referenced by AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), append(), calculate(), nearestFaceAMI::calculate(), interpolate(), normaliseWeights(), reset(), tgtWeightsSum(), tgtWeightsSum(), and weightedSum().
|
protected |
Centroid of source faces per target face.
Definition at line 210 of file AMIInterpolation.H.
Referenced by AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), calculate(), and writeData().
|
protected |
Target patch points if input points are manipulated, e.g. projected.
Definition at line 216 of file AMIInterpolation.H.
Referenced by AMIInterpolation(), AMIInterpolation(), and calculate().
|
protected |
Target patch using manipulated input points.
Definition at line 221 of file AMIInterpolation.H.
Referenced by calculate(), advancingFrontAMI::tgtPatch(), and tgtPatch0().
|
protected |
Target map pointer - parallel running only.
Definition at line 226 of file AMIInterpolation.H.
Referenced by AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), append(), faceAreaWeightAMI2D::calculate(), faceAreaWeightAMI::calculate(), nearestFaceAMI::calculate(), hasTgtMap(), interpolate(), reset(), and tgtMap().
|
protected |
Up-to-date flag.
Definition at line 232 of file AMIInterpolation.H.
Referenced by AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), calculate(), faceAreaWeightAMI2D::calculate(), faceAreaWeightAMI::calculate(), nearestFaceAMI::calculate(), reset(), restoreCache(), upToDate(), upToDate(), and upToDate().
|
protected |
Cache.
Definition at line 237 of file AMIInterpolation.H.
Referenced by addToCache(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), AMIInterpolation(), cache(), cache(), cacheActive(), interpolate(), restoreCache(), write(), and writeData().