ENH: mappedPatchBase: support topo changes. Fixes #1676

This commit is contained in:
mattijs
2020-04-20 08:25:03 +01:00
parent 04fc529589
commit 302b4443e8

View File

@ -145,6 +145,14 @@ inline bool Foam::mappedPatchBase::sameRegion() const
inline const Foam::mapDistribute& Foam::mappedPatchBase::map() const
{
const polyMesh& thisMesh = patch_.boundaryMesh().mesh();
bool topoChange = sampleMesh().topoChanging() || thisMesh.topoChanging();
if (topoChange)
{
mapPtr_.clear();
}
if (mapPtr_.empty())
{
calcMapping();
@ -159,7 +167,15 @@ inline const Foam::AMIPatchToPatchInterpolation& Foam::mappedPatchBase::AMI
bool forceUpdate
) const
{
if (forceUpdate || AMIPtr_.empty())
const polyMesh& thisMesh = patch_.boundaryMesh().mesh();
bool topoChange = sampleMesh().topoChanging() || thisMesh.topoChanging();
if (topoChange || forceUpdate)
{
AMIPtr_.clear();
}
if (AMIPtr_.empty())
{
calcAMI();
}