Inexplicable behaviour of Crank-Nicholson Scheme
when I run transientSimpleFoam (without any turbulence models, codes are attached) on a very trivial case where the flow is just going through a 2D friction-free channel
(blockMeshDict and boundary condition files etc. are attached too), I observe unphysical uniform pressure gradient in the direction of the flow.
As the calculation proceeds in time, the pressure gradient tends to vanish, but even after 100 Flow-Through-Time it still stays there.
Another thing is that when I edit icoFoam as the following,
phi = (fvc::interpolate(U) & mesh.Sf());
// + fvc::ddtPhiCorr(rUA, U, phi);
I obtain the same unphysical pressure gradient. As far as I know, the term I omitted is for the calculation with a very small time step width and not supposed to behave like this.
Let me also note that the pressure gradient appears even when the calculation starts from the uniform velocity field with the inlet velocity magnitude which can be obtained by another solver or whatever.
When I run this icoFoam with the implicit Euler scheme, the unphysical pressure gradient does not appear. Unstability is, however, no excuse on this very trivial case (Courant number was set less than 1, just for info).
If anyone would tell me why this happens, I deeply appreciate it.
Starting from some reasonable initial field and avoiding a "rocket-start" solution, Crank-Nicholson was all right. My deepest appologies.
|All times are GMT -4. The time now is 09:51.|