compressibleInterDyMFoam and interPhaseChangeDyMFoam: cache divU before time advancement to ensure the old-time meshPhi are used to make phi absolute
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1531
This commit is contained in:
@ -73,17 +73,19 @@ int main(int argc, char *argv[])
|
|||||||
while (runTime.run())
|
while (runTime.run())
|
||||||
{
|
{
|
||||||
#include "readControls.H"
|
#include "readControls.H"
|
||||||
#include "CourantNo.H"
|
|
||||||
|
|
||||||
#include "setDeltaT.H"
|
|
||||||
|
|
||||||
runTime++;
|
|
||||||
|
|
||||||
Info<< "Time = " << runTime.timeName() << nl << endl;
|
|
||||||
|
|
||||||
{
|
{
|
||||||
// Store divU from the previous mesh for the correctPhi
|
// Store divU from the previous mesh so that it can be mapped
|
||||||
volScalarField divU(fvc::div(fvc::absolute(phi, U)));
|
// and used in correctPhi to ensure the corrected phi has the
|
||||||
|
// same divergence
|
||||||
|
volScalarField divU("divU0", fvc::div(fvc::absolute(phi, U)));
|
||||||
|
|
||||||
|
#include "CourantNo.H"
|
||||||
|
#include "setDeltaT.H"
|
||||||
|
|
||||||
|
runTime++;
|
||||||
|
|
||||||
|
Info<< "Time = " << runTime.timeName() << nl << endl;
|
||||||
|
|
||||||
scalar timeBeforeMeshUpdate = runTime.elapsedCpuTime();
|
scalar timeBeforeMeshUpdate = runTime.elapsedCpuTime();
|
||||||
|
|
||||||
|
|||||||
@ -94,6 +94,12 @@ int main(int argc, char *argv[])
|
|||||||
while (runTime.run())
|
while (runTime.run())
|
||||||
{
|
{
|
||||||
#include "../interFoam/interDyMFoam/readControls.H"
|
#include "../interFoam/interDyMFoam/readControls.H"
|
||||||
|
|
||||||
|
// Store divU from the previous mesh so that it can be mapped
|
||||||
|
// and used in correctPhi to ensure the corrected phi has the
|
||||||
|
// same divergence
|
||||||
|
volScalarField divU("divU0", fvc::div(fvc::absolute(phi, U)));
|
||||||
|
|
||||||
#include "CourantNo.H"
|
#include "CourantNo.H"
|
||||||
#include "setDeltaT.H"
|
#include "setDeltaT.H"
|
||||||
|
|
||||||
@ -106,9 +112,6 @@ int main(int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
if (pimple.firstIter() || moveMeshOuterCorrectors)
|
if (pimple.firstIter() || moveMeshOuterCorrectors)
|
||||||
{
|
{
|
||||||
// Store divU from the previous mesh for the correctPhi
|
|
||||||
volScalarField divU("divU0", fvc::div(fvc::absolute(phi, U)));
|
|
||||||
|
|
||||||
scalar timeBeforeMeshUpdate = runTime.elapsedCpuTime();
|
scalar timeBeforeMeshUpdate = runTime.elapsedCpuTime();
|
||||||
|
|
||||||
mesh.update();
|
mesh.update();
|
||||||
|
|||||||
Reference in New Issue
Block a user