1
$\begingroup$

I am currently solving PDEs using the finite volume method. The surface integrals of the equations that I am solving involves computing face gradients. The current algorithm that we use to compute face gradients is $$\nabla\phi_{face}=\frac{1}{2}(\nabla\phi_L + \nabla\phi_R) - \boldsymbol{\hat{d}}(\frac{1}{2}(\nabla\phi_L + \nabla\phi_R)\cdot\boldsymbol{\hat{d}})+(\phi_L-\phi_R)\frac{\boldsymbol{\hat{d}}}{|\boldsymbol{d}|}$$ The LHS is the face gradient of some quantity $\phi$. $\nabla\phi_L$ and $\nabla\phi_R$ are the cell gradients at the left and right neighboring cells of the face, respectively. $\boldsymbol{\hat{d}}$ and $\boldsymbol{d}$ are the unit distance and distance vector between the left and right cell centers, respectively. The RHS consists of 3 terms. The latter 2 terms are the "odd-even decoupling" correction terms that are applied to avoid numerical oscillations that would otherwise arise if the computation of the face gradient was a simple averaging (i.e., just the first term on the RHS).

I have some questions regarding odd-even decoupling: (1) Is odd-even decoupling also necessary for computing non-gradient values at the face? For example, if instead of computing the temperature gradient at the face, I instead wanted the temperature at that face. (2) Is there a variant of this equation for non-gradient terms? For example, what if I just want to compute a face value? This equation can almost be duplicated for a plain $\phi$, non-gradient, term if it weren't for the 3rd term on the RHS.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.