diff --git a/src/dynamicMesh/motionSmoother/motionSmoother.C b/src/dynamicMesh/motionSmoother/motionSmoother.C index 1f94c7582a..5c3d79a978 100644 --- a/src/dynamicMesh/motionSmoother/motionSmoother.C +++ b/src/dynamicMesh/motionSmoother/motionSmoother.C @@ -774,7 +774,8 @@ Foam::tmp Foam::motionSmoother::movePoints newPoints, minEqOp(), // combine op vector(GREAT,GREAT,GREAT), // null - true // separation + true, // separation + 1E-6*mesh_.bounds().mag() ); } @@ -925,7 +926,8 @@ bool Foam::motionSmoother::scaleMesh totalDisplacement, maxMagEqOp(), vector::zero, // null value - false // separation + false, // separation + 1E-6*mesh_.bounds().mag() ); } diff --git a/src/dynamicMesh/motionSmoother/motionSmoother.H b/src/dynamicMesh/motionSmoother/motionSmoother.H index f5df37e677..ee306dd3c9 100644 --- a/src/dynamicMesh/motionSmoother/motionSmoother.H +++ b/src/dynamicMesh/motionSmoother/motionSmoother.H @@ -208,7 +208,8 @@ class motionSmoother const Field&, const CombineOp& cop, const Type& zero, - const bool separation + const bool separation, + const scalar maxMag ) const; //- Assemble tensors for multi-patch constraints diff --git a/src/dynamicMesh/motionSmoother/motionSmootherTemplates.C b/src/dynamicMesh/motionSmoother/motionSmootherTemplates.C index aec66f951f..97d125318c 100644 --- a/src/dynamicMesh/motionSmoother/motionSmootherTemplates.C +++ b/src/dynamicMesh/motionSmoother/motionSmootherTemplates.C @@ -293,6 +293,7 @@ void Foam::motionSmoother::testSyncField const CombineOp& cop, const Type& zero, const bool separation + const scalar maxMag ) const { if (debug) @@ -315,6 +316,7 @@ void Foam::motionSmoother::testSyncField forAll(syncedFld, i) { if (syncedFld[i] != fld[i]) + if (mag(syncedFld[i] - fld[i]) > maxMag) { FatalErrorIn (