|
[Sponsors] |
![]() |
![]() |
#1 | |
Member
W. Schuyler Hinman
Join Date: Apr 2013
Location: Calgary, Alberta, Canada
Posts: 38
Rep Power: 13 ![]() |
Can someone please direct me to a good literature resource on diffusion correction predictor corrector scheme? I am having difficulty with understanding the one implemented in rhoCentralFoam.
I am doing extensive analysis using OpenFOAM, and rhoCentralFOAM in my research. Some of this analysis requires post-processing the transport equations themselves (the details of why are not important for my inquiry). This means regenerating the equations used by the solver. I am having some trouble understanding the implementation. When I compare the corrector equation (below) to the equation from Greenshields: Quote:
Similarly in the energy equation, both an implicit and explicit term are included. Some explanation from those wiser than I would be hugely appreciated. Schuyler |
||
![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Join Date: Sep 2015
Location: Singapore
Posts: 102
Rep Power: 10 ![]() |
Hi there,
The 'fvc::ddt(rho,U)' implicit term is the remnant of the predictor step. This is how I understand it. The predictor step solves for: Code:
fvm::ddt(rhoU) + fvc::div(phiUp) == 0 Code:
- fvc::ddt(rho*U) = fvc::div(phiUp) Please correct me if I'm wrong, though. USV |
|
![]() |
![]() |
![]() |
![]() |
#3 |
Member
W. Schuyler Hinman
Join Date: Apr 2013
Location: Calgary, Alberta, Canada
Posts: 38
Rep Power: 13 ![]() |
Completely forgot about this post!
Thanks for the reply! Yeah I figured this out while studying for my PhD candidacy exam. The predictor is: Code:
solve(fvm::ddt(rhoU) + fvc::div(phiUp)); Then the corrector is: Code:
solve ( fvm::ddt(rho, U) - fvc::ddt(rho, U) - fvm::laplacian(muEff, U) - fvc::div(tauMC) ); Schuyler |
|
![]() |
![]() |
![]() |
![]() |
#4 |
Senior Member
Join Date: Sep 2015
Location: Singapore
Posts: 102
Rep Power: 10 ![]() |
No problem.
Do you happen to know why they include the viscous term sigmaDotU in the predictor step of the energy equation? Isn't this supposed to be the inviscid predictor step? I am not able yo reconcile the fact that they are interpolating the U in this term using: Code:
a_pos*U_pos + a_neg*U_neg I was able to follow the calculation of phi, phiUp and phiEp as the implementation of the Kurganov flux scheme but this little piece above threw me off. I think I'm missing something important here. USV |
|
![]() |
![]() |
![]() |
![]() |
#5 | |
Member
W. Schuyler Hinman
Join Date: Apr 2013
Location: Calgary, Alberta, Canada
Posts: 38
Rep Power: 13 ![]() |
Quote:
I'm not sure if I totally understand the other part of the question... but the a_pos and a_neg are the flux weighting factors calculated by Equation 9 in the rhoCentralFoam paper (linked in my original post). Hopefully I was helpful. Schuyler |
||
![]() |
![]() |
![]() |
![]() |
#6 |
Senior Member
Join Date: Sep 2015
Location: Singapore
Posts: 102
Rep Power: 10 ![]() |
Thanks Schuyler.
This has given me a new way of thinking about it. USV |
|
![]() |
![]() |
![]() |
Tags |
code, ddt, ddtscheme, predictor corrector, rhocentralfoam |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Moving mesh | Niklas Wikstrom (Wikstrom) | OpenFOAM Running, Solving & CFD | 122 | June 15, 2014 06:20 |
numerical scheme without artificial diffusion artifact | mpeti | OpenFOAM Running, Solving & CFD | 2 | October 26, 2011 11:36 |
Expert-param:: Cht diffusion scheme | PCFD | CFX | 4 | July 12, 2010 13:49 |
pressure correction scheme vs density based scheme | PCFD | Main CFD Forum | 0 | May 18, 2009 15:57 |