MRFSimpleFoam implementation questions
Hello,
I''m digging into the MRF implementation of MRFSimpleFoam. For understanding the mathematics I've found [1] and [2]. The MRFSimpleFoam source code [3]. The rhs of the momentum equation is added a sources term for coriolis forces. pEqn.H calls mrfZones.relativeFlux(phi); which "makes the given absolute mass/vol flux relative within the MRF region". So we are working with relative velocity, correct? In MRFZone.C [4] Foam::MRFZone::addCoriolis(fvVectorMatrix& UEqn) is called. It adds the source term Usource[celli] = V[celli]*(Omega ^ U[celli]); to every cell within the MRF zone. U is relative velocity, V is the cell volume, Omega the rotating axis/frequency, ^ the cross product.  If we're using relative velocity, doesn't the coriolis term needs to be 2 * omega ^ Urel ?  Where is the centripetal force term omega ^ omega ^ r? Is is contained in fvm::laplacian(rAU, p) in pEqn?  Why the cell volume? The compressible addCoriolis function uses V * rho which is mass... Thanks for any clarifications! Florian [1] http://openfoamwiki.net/index.php/Se...RF_development [2] http://openfoamwiki.net/index.php/Si...ry_MRF_Library [3] http://foam.sourceforge.net/docs/cpp...e79dad982.html [4] http://foam.sourceforge.net/docs/cpp/a03948_source.html 
Dare to bump that...

Quote:
The equation used is Eqn. 6 at http://openfoamwiki.net/index.php/Se...RF_development . Correct? There is the expression The dyadic product of relative and absolute velocity. I still don't really understand where this expression has gone in the source code? Thanks! Florian 
Florian,
Glancing at other CFD packages documentation and the formulation for MRF solvers, I do see this term as well and seems that it would make sense that the advection term , should in fact be in there somewhere. If the absolute velocity is the variable of interest, then U_R is related to phi and coupled explicitly through some phi adjustment. If you look further in the MRFSimpleFoam, you will see the pEqn.H. In that file there is a method that is called that adjusts the flux for this: Code:
mrfZones.relativeFlux(phi) Code:
$FOAM_SRC/finiteVolume/cfdTools/general/MRF Code:
relativeFlux() 
I have one question regarding the unsteady term of Eq. 6 in [1]. There, the relative velocity appears in the time derivative.
Am I correct, that OpenFOAM computes the absolute velocity in all zones? If that is the case: why is the relative velocity in the unsteady term? Maybe one of you can elaborate. Cheers, [1] http://openfoamwiki.net/index.php/Se...RF_development 
Hi guys.
I have a question regarding MRF. I have printed the output of UEqn.source() (meaning Usource[celli] = V[celli]*(Omega ^ U[celli]) ) before and after adding coriolis term ( mrfzones.addCoriolis(rho, UEqn) ), and it prints the same. Why isnt the UEqn being updated?? Thanks 
Quote:
Quote:
Best regards Julian 
All times are GMT 4. The time now is 00:05. 