# pressure corrector turbFoam

 Register Blogs Members List Search Today's Posts Mark Forums Read

 July 8, 2009, 14:25 pressure corrector turbFoam #1 New Member   Join Date: Jun 2009 Location: Belgium Posts: 3 Rep Power: 15 Dear all, I have a question concerning the pressure correction in turbFoam: Code: fvScalarMatrix pEqn ( fvm::laplacian(rUA, p) == fvc::div(phi) ); The right hand side is implemented using phi instead of U to avoid an extra interpolation of U to Uf (see http://www.tfd.chalmers.se/~hani/kur...7/rhiechow.pdf). This confuses me a little bit as I expected the right hand side to be fvc::div(H/A)=sumOverFaces(Hf/Af.Sf) and with phi=Uf.Sf and Uf=H/A at this point in the algorithm, I assume the code does the following: fvc::div(phi)=fvc::div(Hf/Af.Sf)=sumOverFaces(Hf/Af.Sf.Sf) with one Sf too many I probably overlook something, can someone tell me what? Thanks in advance, Sara Last edited by Sara D; July 9, 2009 at 04:26.

July 12, 2009, 14:38
#2
Senior Member

Henrik Rusche
Join Date: Mar 2009
Location: Göttingen, Niedersachsen, Germany
Posts: 280
Rep Power: 16
Sara,

I think what you are missing is that fvc::div(phi) DOES a simple sum over all cell faces and DOES NEITHER dot-product with the face area vectors NOR interpolate to the face.

Yes, this is not intuitive, but it makes a lot of sense when you think about it.

Unfortunately, on page P-39 the Programmer's Guide says:
Quote:
 The fvc::div function can take as its argument either a surfaceField, in which case is specified directly, or a volField which is interpolated to the face by central differencing as described in Section 2.4.10:
where - I think - it should read:
Quote:
 The fvc::div function can take as its argument either a surfaceField, in which case is specified directly, or a volField which is interpolated to the face by central differencing as described in Section 2.4.10:
Henrik

 July 13, 2009, 04:34 thanks #3 New Member   Join Date: Jun 2009 Location: Belgium Posts: 3 Rep Power: 15 Henrik, Thank you, now I understand. That is indeed a pitfall and the programmers guide doesn't help in this case. Thanks a lot for clarifying, Sara