
[Sponsors] 
February 1, 2011, 04:00 
NavierStokes Equation and icoFoam

#1 
New Member
Nick Mai
Join Date: Feb 2011
Posts: 5
Rep Power: 7 
I was wondering if anyone could help me answer a question related to the implementation of the icoFoam solver. According to the code presented here, the momentum equation as stated in the icoFoam solver is:
fvm::ddt(U) + fvm::div(phi, U)  fvm::laplacian(nu, U) == fvc::grad(p). I do not get where the term "fvm::div(phi,U)" is coming from, as the classic incompressible laminar equations typically have this term as "U.div(U)". How is the flux, phi, defined for this solver? Also, I looked at Dr. Jasak's explanation beginning in section 3.8 of his Ph.D. thesis, and there he writes "div(UU)". How is that related to the normal definition of "U.div(U)". Is one of the U's an implied scalar? Many thanks to all who help! I am just an undergrad, so much of this is beyond my knowledge and current understanding. 

February 1, 2011, 05:02 

#2 
Senior Member
Cyprien
Join Date: Feb 2010
Location: Stanford University
Posts: 251
Rep Power: 10 
Hi nickmai!
phi is the projection of the velocity field on the face of your cells. It is defined as : Code:
surfaceScalarField phi = linearInterpolation(U) & mesh.Sf() Code:
#include "createPhi.H" Cyp 

February 2, 2011, 04:14 

#3 
Senior Member
Kathrin Kissling
Join Date: Mar 2009
Location: Besigheim, Germany
Posts: 134
Rep Power: 9 
Hey,
in case you need a noncode reference you can find it in Hrvoje Jasak's thesis as well. The equation is on page 80 no (3.17) Best Kathrin 

February 2, 2011, 21:24 

#4  
Senior Member
Santiago Marquez Damian
Join Date: Aug 2009
Location: Santa Fe, Santa Fe, Argentina
Posts: 430
Rep Power: 16 
Quote:
dU/dt + U&grad(U) = grad(p)+nu*laplacian(U) Where & implies dot product. Written in this form this equation is vectorial but has tensorial terms behind it, the term grad(U) is a gradient of a vector, a tensor. Then U&grad(U) is done, which is a vector again. To do things easier we can decompose this equation in three scalar components: du/dt + U*grad(u) = dp/dx+nu*laplacian(u) dv/dt + U*grad(v) = dp/dy+nu*laplacian(v) dw/dt + U*grad(w) = dp/dz+nu*laplacian(w) where U=(u,v,w) Quote:
div(U tensorial U) which can be transformed in U & grad(U) The form used in icoFoam resembles the first one, but in order to avoid the nonlinearity arose from (U tensorial U) data from a previous timestep is used to assemble. Following equation in Hrv thesis p. 144, line 2, you have F=phi=U^0&S_f, and U_f=U_f^n. You are using U data from timestep 0 (past) and n (actual). Regards.
__________________
Santiago MÁRQUEZ DAMIÁN, Ph.D. Research Scientist Research Center for Computational Methods (CIMEC)  CONICET/UNL Tel: 543424511594 Int. 7032 Colectora Ruta Nac. 168 / Paraje El Pozo (3000) Santa Fe  Argentina. http://www.cimec.org.ar 

Thread Tools  
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
interFoam vs icoFoam on a singlephase case  nuovodna  OpenFOAM Running, Solving & CFD  1  May 1, 2014 09:37 
OpenFOAM wonbt solve the momentum U equation  sek  OpenFOAM Running, Solving & CFD  5  March 6, 2008 17:27 
Equation discretisation in icoFoam  kar  OpenFOAM Running, Solving & CFD  3  February 10, 2008 07:34 
Pressure Correction Equation  morteza  OpenFOAM Running, Solving & CFD  2  September 4, 2007 06:16 
IcoFOAM and Navier Stokes  juanduque  OpenFOAM Running, Solving & CFD  0  May 8, 2007 10:43 