pimpleFoam and pisoFoam deltaT not respecting controlDict value when running SPDP (but does for DP)
Summary
deltaT is not being respected by pimpleFoam and pisoFoam when in SPDP. This is for a deltaT of 7.5e-05, so not an issue of being too small for single precision. When solving in DP, deltaT is as expected.
Steps to reproduce
Simply run pimpleFoam, both in SPDP and DP to see how DP respects the deltaT prescribed in controlDict, while SPDP generates a random value. The random value is not even very close to the controlDict deltaT (it's off by ~20%), and it varies with each iteration. This prevents endTime writing on the last iteration, makes results processing difficult, etc.
Example case
https://www.dropbox.com/s/bmfxslcx7lj3wec/issue2227_deltaT_SPDP.tar.xz?dl=0 I have a solved (steady state) 500k cell case which is about ~50Mb. I can send it through another channel if you prefer.
What is the current bug behaviour?
Random deltaT - differing from controlDict value by up to 20% - being applied to each iteration when running SPDP
What is the expected correct behavior?
deltaT per controlDict, as is the case when running DP
Relevant logs and/or images
controlDict
startFrom startTime;
**startTime 400;**
stopAt endTime;
endTime 400.20025;
**deltaT 7.5e-05;**
writeControl timeStep;
writeInterval 267;
monStart 400.1002;
purgeWrite 100;
writeFormat ascii;
writeCompression on;
writePrecision 7;
timeFormat general;
timePrecision 11;
runTimeModifiable yes;
DP - expected behavior
Build : f4ccdec894-20210902 OPENFOAM=2012 patch=210618
Arch : "LSB;label=32;scalar=64"
Starting time loop
Courant Number mean: 0.007378641 max: 2.702994
**Time = 400.000075**
PIMPLE: iteration 1
velocityDampingConstraint damp damped 3 (0.000564893%) of cells
smoothSolver: Solving for Ux, Initial residual = 4.640301e-07, Final residual = 1.441689e-08, No Iterations 1
smoothSolver: Solving for Uy, Initial residual = 4.99919e-05, Final residual = 5.043536e-08, No Iterations 3
smoothSolver: Solving for Uz, Initial residual = 6.165809e-06, Final residual = 1.953994e-08, No Iterations 2
GAMG: Solving for p, Initial residual = 0.3755113, Final residual = 0.02669367, No Iterations 1
GAMG: Solving for p, Initial residual = 0.02671251, Final residual = 0.001826018, No Iterations 3
time step continuity errors : sum local = 1.271702e-09, global = 1.048906e-11, cumulative = 1.048906e-11
GAMG: Solving for p, Initial residual = 0.01341298, Final residual = 0.000939755, No Iterations 2
GAMG: Solving for p, Initial residual = 0.001842091, Final residual = 9.379453e-07, No Iterations 28
time step continuity errors : sum local = 6.500214e-13, global = 2.663773e-17, cumulative = 1.048909e-11
smoothSolver: Solving for omega, Initial residual = 2.509855e-07, Final residual = 1.21354e-08, No Iterations 1
bounding omega, min: -5721.012 max: 283395.7 average: 3373.21
smoothSolver: Solving for k, Initial residual = 7.494289e-06, Final residual = 1.253224e-08, No Iterations 2
bounding k, min: -36.23042 max: 384.4423 average: 11.56855
ExecutionTime = 2.98 s ClockTime = 3 s
Courant Number mean: 0.007378645 max: 2.242397
**Time = 400.00015**
SPDP - strange time step which is different from DP and controlDict specification
Build : 4245909efb-20210203 OPENFOAM=2012
Arch : "LSB;label=32;scalar=32;solveScalar=64"
Starting time loop
Courant Number mean: 0.007378641 max: 2.703078
**Time = 400.00006104**
PIMPLE: iteration 1
velocityDampingConstraint damp damped 3 (0.000564893%) of cells
smoothSolver: Solving for Ux, Initial residual = 5.07782e-07, Final residual = 1.456293e-08, No Iterations 1
smoothSolver: Solving for Uy, Initial residual = 4.999212e-05, Final residual = 5.043533e-08, No Iterations 3
smoothSolver: Solving for Uz, Initial residual = 6.165838e-06, Final residual = 1.953989e-08, No Iterations 2
GAMG: Solving for p, Initial residual = 0.3754919, Final residual = 0.02666569, No Iterations 1
GAMG: Solving for p, Initial residual = 0.02669024, Final residual = 0.00183339, No Iterations 3
time step continuity errors : sum local = 1.534634e-09, global = 7.045955e-12, cumulative = 7.045955e-12
GAMG: Solving for p, Initial residual = 0.01344812, Final residual = 0.0009438513, No Iterations 2
GAMG: Solving for p, Initial residual = 0.001842122, Final residual = 9.032984e-07, No Iterations 29
time step continuity errors : sum local = 3.146365e-10, global = 1.095093e-12, cumulative = 8.141048e-12
smoothSolver: Solving for omega, Initial residual = 2.511907e-07, Final residual = 1.21357e-08, No Iterations 1
bounding omega, min: -5721.12 max: 283415 average: 3373.219
smoothSolver: Solving for k, Initial residual = 7.494291e-06, Final residual = 1.253221e-08, No Iterations 2
bounding k, min: -36.23087 max: 384.4427 average: 11.56855
ExecutionTime = 2.36 s ClockTime = 3 s
Courant Number mean: 0.007378645 max: 2.242493
**Time = 400.00012207**
Environment information
- OpenFOAM version : v2012 & v2106
- Operating system : ubuntu1804
- Hardware info : x86
- Compiler : gcc