diff --git a/src/meshTools/AMIInterpolation/AMIInterpolation/AMIInterpolation.H b/src/meshTools/AMIInterpolation/AMIInterpolation/AMIInterpolation.H index 0b7633035536627ff5134a06e76589f5fd63eb89..9f94fa41169965fbd12bece06b9c0afc0edb6563 100644 --- a/src/meshTools/AMIInterpolation/AMIInterpolation/AMIInterpolation.H +++ b/src/meshTools/AMIInterpolation/AMIInterpolation/AMIInterpolation.H @@ -469,7 +469,7 @@ public: ) const; - //- Interpolate from target to source with supplied binary op + //- Interpolate from target to source with supplied op template<class Type, class CombineOp> tmp<Field<Type> > interpolateToSource ( @@ -477,8 +477,7 @@ public: const CombineOp& cop ) const; - //- Interpolate from target tmp field to source with supplied - // binary op + //- Interpolate from target tmp field to source with supplied op template<class Type, class CombineOp> tmp<Field<Type> > interpolateToSource ( diff --git a/src/sampling/meshToMeshInterpolation/meshToMeshNew/calcMapNearest.C b/src/sampling/meshToMeshInterpolation/meshToMeshNew/calcMapNearest.C index 3fe7b315d3d340fee5696fb96ce4e27f3f3ddad3..110979532fcd9c3152d3d2c357c652b9fde5bd5d 100644 --- a/src/sampling/meshToMeshInterpolation/meshToMeshNew/calcMapNearest.C +++ b/src/sampling/meshToMeshInterpolation/meshToMeshNew/calcMapNearest.C @@ -52,12 +52,11 @@ void Foam::meshToMeshNew::calcMapNearest do { - srcToTgt[srcCellI].append(tgtCellI); - // find nearest tgt cell findNearestCell(src, tgt, srcCellI, tgtCellI); // store src/tgt cell pair + srcToTgt[srcCellI].append(tgtCellI); tgtToSrc[tgtCellI].append(srcCellI); // mark source cell srcCellI and tgtCellI as matched @@ -108,12 +107,7 @@ void Foam::meshToMeshNew::calcMapNearest forAll(tgtToSrcCellAddr_, i) { scalar v = tgtVc[i]; - scalarList w(tgtToSrc[i].size(), v); - forAll(w, j) - { - w[j] /= w.size(); - } - tgtToSrcCellWght_[i] = scalarList(w, v); + tgtToSrcCellWght_[i] = scalarList(tgtToSrc[i].size(), v); tgtToSrcCellAddr_[i].transfer(tgtToSrc[i]); } } @@ -239,4 +233,5 @@ Foam::label Foam::meshToMeshNew::findMappedSrcCell return -1; } + // ************************************************************************* // diff --git a/src/sampling/meshToMeshInterpolation/meshToMeshNew/meshToMeshNew.H b/src/sampling/meshToMeshInterpolation/meshToMeshNew/meshToMeshNew.H index 6ea844626e637e72468f10073addeb2b11837e45..8404ce7b9fa077ecc07ea02671d4673dfeb6981c 100644 --- a/src/sampling/meshToMeshInterpolation/meshToMeshNew/meshToMeshNew.H +++ b/src/sampling/meshToMeshInterpolation/meshToMeshNew/meshToMeshNew.H @@ -27,6 +27,15 @@ Class Description Class to calculate the cell-addressing between two overlapping meshes + Three methods are currently available: + - direct : 1-to-1 mapping between meshes + - mapNearest : assign nearest cell values without interpolation + - cellVolumeWeight : volume consistent mapping + + The \c direct and \c cellVolumeWeight options are volume conservative, + whereas mapNearest is non-conservative. + + SourceFiles calcDirect.C calcMapNearest.C