I'm trying to implement a second order solver for incomresssible flows which uses Crank-Nicolson (CN) method for the diffusive term and Adams-Bashfort method for the convective term.
I am confused about how CN method is implemented in OpenFOAM, as I don't see any coefficient like 1/2 on the convective and viscous term. How can you apply CN scheme without using these coefficients? As far as I see it is only covered by ddt(U) term.
The intention for implementing a second order solver is that PisoFOAM is only FIRST order accurate in time whatever scheme you use for time discretization. The reason for this is the explicit treatment of the flux phi in the convective term. They limit the accuracy in time to first order and this is not preferred in turbulent flow simulations.
I don't understand why nobody cares about this, and I read a lot of papers Openfoam users claiming they have second order accuracy. It confuses me a lot. Am I missing something?
I don't think it's the explicit treatment of the flux in the convective terms which reduces the order of the pisoFoam algorithm. In fact, even by doing everything explicitly you should be able to retrieve second order accuracy. It will however impact stability as your time integration is no longer purely implicit.
But I think (and I've also heard via-via from developpers) that the main issue comes from the Rhie-Chow flux correction ddtPhiCorr in:
And as for the second order claim in papers.. Well.. A 'small' distortion of the truth perhaps? :p
|All times are GMT -4. The time now is 13:14.|