diff --git a/src/dynamicFvMesh/dynamicMotionSolverListFvMesh/dynamicMotionSolverListFvMesh.C b/src/dynamicFvMesh/dynamicMotionSolverListFvMesh/dynamicMotionSolverListFvMesh.C index f9b0c7ba67c98d078e57a8b6b32b80cbfaeab1b0..4a45a1656685c9fa7472ed7c33838572e1f5620b 100644 --- a/src/dynamicFvMesh/dynamicMotionSolverListFvMesh/dynamicMotionSolverListFvMesh.C +++ b/src/dynamicFvMesh/dynamicMotionSolverListFvMesh/dynamicMotionSolverListFvMesh.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2016 OpenFOAM Foundation - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -119,12 +119,14 @@ bool Foam::dynamicMotionSolverListFvMesh::update() { if (motionSolvers_.size()) { + const pointField& initPoints = lookupObjectRef<pointField>("points0"); + // Accumulated displacement - pointField disp(motionSolvers_[0].newPoints() - fvMesh::points()); + pointField disp(motionSolvers_[0].newPoints() - initPoints); for (label i = 1; i < motionSolvers_.size(); i++) { - disp += motionSolvers_[i].newPoints() - fvMesh::points(); + disp += motionSolvers_[i].newPoints() - initPoints; } fvMesh::movePoints(points() + disp); diff --git a/src/dynamicMesh/motionSolvers/displacement/points0/points0MotionSolver.C b/src/dynamicMesh/motionSolvers/displacement/points0/points0MotionSolver.C index 9f57740a8e3afbf0250e279f56b9a5c7c6ed75f7..a4e3f8c2daeb71ffa17c823de8efeba67a2de48a 100644 --- a/src/dynamicMesh/motionSolvers/displacement/points0/points0MotionSolver.C +++ b/src/dynamicMesh/motionSolvers/displacement/points0/points0MotionSolver.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2012-2017 OpenFOAM Foundation - Copyright (C) 2015-2019 OpenCFD Ltd. + Copyright (C) 2015-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -56,8 +56,7 @@ Foam::IOobject Foam::points0MotionSolver::points0IO(const polyMesh& mesh) polyMesh::meshSubDir, mesh, IOobject::MUST_READ, - IOobject::NO_WRITE, - false + IOobject::NO_WRITE ); // If points0 are located in constant directory, verify their existence @@ -117,6 +116,7 @@ Foam::points0MotionSolver::points0MotionSolver ) << exit(FatalError); } + points0_.rename("points0"); }