# pEqn.flux()

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

 November 17, 2012, 19:09 pEqn.flux() #1 Member   Charlie Join Date: Dec 2010 Location: 415 Kinross Dr. Newark, DE 19711 Posts: 78 Rep Power: 6 Hi Foamers, I've got a little confusion here about the pEqn.flux(). So, what does it really mean, say we want to solve the following momentum equation: ddt(voidfraction*U) + convection_terms == -voidfraction * grad(p) + Other terms. As the first step, in OpenFOAM, the following UEqn is solved: ddt(voidfraction*U) + convection_terms == Other terms. and discretise this equation into linear system, we could obtain the following form, that is: A() *[U] = H(). and we can define phi = fvc::interpolate (U) & mesh.Sf(); which is the surface mass flux. and the "real" velocity field should be : A() *U = H() -voidfraction * grad(p) . To satisfy the continuity equation, we have: ddt(voidfraction) + div(voidfraction*U) = 0 Thus the pressure equation becomes: pEqn == { laplacian(voidfraction*voidfraction/A(), p) = ddt(voidfraction) + div(voidfraction*phi) } then, my question is, pEqn.flux() = SnGrad(p) or pEqn.flux() = (voidfraction*voidfraction/A())*SnGrad(p) how could we update the phi after we solved the pressure equation, which of the following is right? (1) phi -= pEqn.flux(); (2) phi -= (1/A()) * (voidfraction*pEqn.flux()/(voidfraction*voidfraction/A())); this could make a big difference is we want to model the flow through a porous media, and I still don't quite get the exact meaning of pEqn.flux(), though it is stated in the following link that The .flux method includes contributions from all implicit terms of the pEqn (the Laplacian) http://openfoamwiki.net/index.php/IcoFoam Could anybody help me with this problem? Thanks!

 November 21, 2012, 09:46 #2 Senior Member     Santiago Marquez Damian Join Date: Aug 2009 Location: Santa Fe, Santa Fe, Argentina Posts: 418 Rep Power: 14 Hi, the pEqn you're assembling is: Code: fvScalarMatrix pEqn ( fvm::laplacian(rUA, p) == fvc::div(phi) ); which means: so that the method pEqn.flux() gives you the discrete version of the flux of p, which is this is not calculated by explicit operators like fvc::grad but directly using the matrix's coefficients. Regards. cheng1988sjtu likes this. __________________ Santiago MÁRQUEZ DAMIÁN, Ph.D. Post-doctoral Fellow Research Center for Computational Mechanics (CIMEC) - CONICET/FICH-UNL T.E.: 54-342-4511594 Ext. 1005 Güemes 3450 - (3000) Santa Fe Santa Fe - Argentina http://www.cimec.org.ar Last edited by santiagomarquezd; November 21, 2012 at 16:16.

 November 21, 2012, 15:08 That's great, Thanks! #3 Member   Charlie Join Date: Dec 2010 Location: 415 Kinross Dr. Newark, DE 19711 Posts: 78 Rep Power: 6 Hi, Santiago, Thanks very much for your kind reply. That's great, it really helps me a lot to understand the code. According to your explaination, then I guess, my option (2) should be the right way to correct the phi, right? (2) phi -= (1/A()) * (voidfraction*pEqn.flux()/(voidfraction*voidfraction/A())); Regards, Charlie

 November 21, 2012, 15:51 #4 Senior Member     Santiago Marquez Damian Join Date: Aug 2009 Location: Santa Fe, Santa Fe, Argentina Posts: 418 Rep Power: 14 Looking at the equation you want to solve it seems to be (2), please check lines 78-93 of https://github.com/OpenFOAM/OpenFOAM...lerFoam/pEqn.H which is the code for pEqn.H in twoPhaseEulerFoam. This solver has the kind of momentum equations that you dealing with. Regards. __________________ Santiago MÁRQUEZ DAMIÁN, Ph.D. Post-doctoral Fellow Research Center for Computational Mechanics (CIMEC) - CONICET/FICH-UNL T.E.: 54-342-4511594 Ext. 1005 Güemes 3450 - (3000) Santa Fe Santa Fe - Argentina http://www.cimec.org.ar Last edited by santiagomarquezd; November 21, 2012 at 16:16.

 November 21, 2012, 16:08 Thanks! #5 Member   Charlie Join Date: Dec 2010 Location: 415 Kinross Dr. Newark, DE 19711 Posts: 78 Rep Power: 6 Thanks! My first clue of my doubt also comes from the twoPhaseEulerFoam, I think, right now, I have a clear understanding of how the pressure is corrected, Thanks again! Regards, Charlie

 Thread Tools Display Modes Linear Mode

 Posting Rules You may not post new threads You may not post replies You may not post attachments You may not edit your posts BB code is On Smilies are On [IMG] code is On HTML code is OffTrackbacks are On Pingbacks are On Refbacks are On Forum Rules

 Similar Threads Thread Thread Starter Forum Replies Last Post santiagomarquezd OpenFOAM Programming & Development 32 June 12, 2014 01:50 ata OpenFOAM 6 August 25, 2013 22:31 ata OpenFOAM 2 January 24, 2011 23:31

All times are GMT -4. The time now is 05:12.