
[Sponsors] 
May 30, 2016, 17:35 
rhoCentralFoam: Diffusion correction scheme?

#1  
Member
W. Schuyler Hinman
Join Date: Apr 2013
Location: Calgary, Alberta, Canada
Posts: 38
Rep Power: 12 
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 postprocessing 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 

November 18, 2016, 23:41 

#2 
Senior Member
Join Date: Sep 2015
Location: Singapore
Posts: 102
Rep Power: 9 
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 

November 19, 2016, 12:58 

#3 
Member
W. Schuyler Hinman
Join Date: Apr 2013
Location: Calgary, Alberta, Canada
Posts: 38
Rep Power: 12 
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 

November 19, 2016, 21:22 

#4 
Senior Member
Join Date: Sep 2015
Location: Singapore
Posts: 102
Rep Power: 9 
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 

November 20, 2016, 18:57 

#5  
Member
W. Schuyler Hinman
Join Date: Apr 2013
Location: Calgary, Alberta, Canada
Posts: 38
Rep Power: 12 
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 

November 22, 2016, 04:05 

#6 
Senior Member
Join Date: Sep 2015
Location: Singapore
Posts: 102
Rep Power: 9 
Thanks Schuyler.
This has given me a new way of thinking about it. USV 

Tags 
code, ddt, ddtscheme, predictor corrector, rhocentralfoam 
Thread Tools  Search this Thread 
Display Modes  


Similar Threads  
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 
Expertparam:: 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 