BUG: displacementLaplacianMotionSolver: startup evaluation of point bcs (since not solved for)

This commit is contained in:
mattijs
2013-11-16 20:09:33 +00:00
parent c3a1724684
commit 5dea505798

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -88,6 +88,24 @@ Foam::displacementLaplacianFvMotionSolver::displacementLaplacianFvMotionSolver
: -1 : -1
) )
{ {
if (debug)
{
Info<< "displacementLaplacianFvMotionSolver:" << nl
<< " diffusivity : " << diffusivityPtr_().type() << nl
<< " frozenPoints zone : " << frozenPointsZone_ << endl;
}
// Weird one: if using bc on pointDisplacement that updateCoeffs()
// at construction time:
// - read pointDisplacement, some bcs do updateCoeffs
// - time gets incremented
// - laplacianMotionSolver::solve() : now uses (old!) bc values
// - laplacianMotionSolver::curPoints() : finally does
// pointDisplacement::correctBoundaryConditions
// So first iteration uses old values (but future ones are ok)
// So:
pointDisplacement_.correctBoundaryConditions();
IOobject io IOobject io
( (
"pointLocation", "pointLocation",
@ -97,13 +115,6 @@ Foam::displacementLaplacianFvMotionSolver::displacementLaplacianFvMotionSolver
IOobject::AUTO_WRITE IOobject::AUTO_WRITE
); );
if (debug)
{
Info<< "displacementLaplacianFvMotionSolver:" << nl
<< " diffusivity : " << diffusivityPtr_().type() << nl
<< " frozenPoints zone : " << frozenPointsZone_ << endl;
}
if (io.headerOk()) if (io.headerOk())
{ {