
[Sponsors] 
add a phase diffusion term in both continuity and monmentum equations for twoPhEuler 

LinkBack  Thread Tools  Search this Thread  Display Modes 
February 6, 2020, 10:33 

#21 
Senior Member
kimy
Join Date: Mar 2019
Posts: 150
Rep Power: 4 
It is so weird. When I used the mesh with larger boundary layer thickness, the result is reasonable and accurate. After I decreased the boundary layer thickness, it was crashed cause the bounding k and epsilon were infinite. Who can give me some suggestions? Thanks!


February 7, 2020, 03:22 

#22  
Senior Member
Cyprien
Join Date: Feb 2010
Location: Stanford University
Posts: 299
Rep Power: 15 
Quote:
__________________
www.cypriensoulaine.com/openfoam 

February 7, 2020, 03:40 

#23  
Senior Member
kimy
Join Date: Mar 2019
Posts: 150
Rep Power: 4 
Quote:
 fvc::div(fvc::grad(alpha1)*rho1*phase2.turbulence( ).nut()/sigma*U1) this code is reasonable or not? After I added this code in the equation, it can be compiled and run well for the corse mesh. However, when I use a lower thickness of boundary layer, the simulation crashed. 

February 7, 2020, 03:59 

#24 
Senior Member
kimy
Join Date: Mar 2019
Posts: 150
Rep Power: 4 
fvm::div(fvc::snGrad(alpha1)*mesh.magSf()*fvc::int erpolate(rho1*phase2.turbulence().nut())/sigma, U1)
I changed it to be like this, it compiled. But the simulation is also crashed for the fine boundary layer mesh. 

February 7, 2020, 04:23 

#25  
Senior Member
kimy
Join Date: Mar 2019
Posts: 150
Rep Power: 4 
Quote:
Please help me to verify the codes I wrote are right or not? In Uequation I wrote like this: U1Eqn = ( fvm::div(alphaRhoPhi1, U1)  fvm::Sp(fvc::div(alphaRhoPhi1), U1) + MRF.DDt(alpha1*rho1, U1) +  fvm::laplacian(alpha1*rho1*phase2.turbulence().nuE ff(), U1)  fvc::div(fvc::grad(alpha1)*rho1*phase2.turbulence( ).nut()/sigma*U1) While in p equation I added one code in p equacomp1 and equacomp2: pEqnComp1 = ( contErr1  fvc::Sp(fvc::ddt(alpha1) + fvc::div(alphaPhi1), rho1) )/rho1 + (alpha1*psi1/rho1)*correction(fvm::ddt(p_rgh))  fvc::laplacian(phase2.turbulence().nut()/sigma,alpha1); 

February 8, 2020, 23:30 

#26 
Senior Member
Dongyue Li
Join Date: Jun 2012
Location: Beijing, China
Posts: 783
Rep Power: 14 
The equation looks not correct. Perhaps the first term should be a \nabla\cdot instead of \nabla. Meanwhile, 1) to add a diffusion term, you better to add that after MULES to ensure boundedness. See how it does in driftFluxFoam. 2) There is already a turbulent dispersion force in EE model and it was implemented already, see "turbulent dispersion force". 3) The momentum interfacial exchange term needs to be addressed in UEqn, not pEqn. 4) div(grad()) employs an extended stencil instead of a compact stencil, which means it may introduce possible oscillations.
__________________
My OpenFOAM algorithm website: http://dyfluid.com By far the largest Chinese CFDbased forum: http://www.cfdchina.com/category/6/openfoam By far the largest WECHAT CFD media ID: cfdresearch 

February 10, 2020, 03:37 

#27 
Senior Member
kimy
Join Date: Mar 2019
Posts: 150
Rep Power: 4 
Thanks a lot Dongyue. The equations that I wrote here are not accurate and you are right.
We will not use the dispersion force defined in the openfoam because our group provided a new two fluid model that add two dispersion terms in both continuity and momentum equations which makes numerical stability and fast calculating. In terms of "div(grad()) employs an extended stencil instead of a compact stencil", how to solve the problem you mentioned. However we have to add the div(grad(alpha)) 

Tags 
multiphaseflow, twophaseeulerfoam 
Thread Tools  Search this Thread 
Display Modes  

