CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Programming & Development (http://www.cfd-online.com/Forums/openfoam-programming-development/)
-   -   Need Confirmation - Eulerian solver for tiny particules (http://www.cfd-online.com/Forums/openfoam-programming-development/106454-need-confirmation-eulerian-solver-tiny-particules.html)

fredo490 August 29, 2012 10:26

Need Confirmation - Eulerian solver for tiny particules
 
Hi everyone, it would be nice if somebody can give me some confirmations on the general aspect of my algorithm and the "code" that follows (especially the translation of the equations). I want to setup an unsteady Eulerian solver to compute the behavior of tiny particles in a fluid (only the fluid impact the particules motion through the drag).

Nomenclature :
- \alpha volume fraction of the particles
- \vec{u} velocity of the particles
- f(Re) function of the relative Reynolds number
- \tau time respond of the particle
- \vec{V} velocity of the fluid


Continuity equation :
\frac{\partial \alpha}{\partial t} + {\nabla \alpha \vec{u}} = 0

Momentum equation
\frac{\partial \alpha \vec{u}}{\partial t} + {\nabla \alpha \vec{u} \vec{u}} = \frac{f(Re)}{\tau } \alpha (\vec{V} -\vec{u})

The algorithm I have in mind :
1) setup a "phi_alpha" flux equal to \alpha \vec{u}
2) initialize this flux in the createfield with:
Code:

"linearInterpolate(alpha)*linearInterpolate(u) & mesh.Sf()"
3) solve the continuity equation using the following code:
Code:

fvScalarMatrix cEqn
(
fvm::ddt(alpha)
+ fvc::div(alpha_phi)
);
cEqn.solve()

4) update the flux phi_alpha with:
Code:

alpha_phi -= cEqn.flux();
5) compute the relative Reynolds number, the function f(Re) and \tau
6) solve the momentum equation using:
Code:

fvVectorMatrix uEqn
(
fvm::ddt(alpha, u)
+ fvm::div(alpha_phi, u)
==
fRe / Tau * alpa * (V – u)
);
uEqn.solve()

My questions are:
i) I'm not sure of the step 4... I kind of reproduce the simpleFoam code. Is there any documentation somewhere about the command ".flux" ?
ii) I'm not sure of the translation of the momentum equation step 6. Do I need to use a specific formulation for the source term ? Does the solver identify the last "u" by itself ?

Thank you in advance for reading this.

GerhardHolzinger September 13, 2012 02:24

have a look into twoPhaseEulerFoam or bubbleFoam and the thesis of H. Rusche. They all deal with a Eulerian formulation of two-phase fluid flows.

I would recommend to get into bubbleFoam or twoPhaseEulerFoam and remove everything you don't need. Particles with constant diameter and only drag as momentum exchange should not be a big problem.


All times are GMT -4. The time now is 13:55.