|
[Sponsors] |
April 2, 2013, 23:22 |
Drag model implementation
|
#1 |
Member
Chris L
Join Date: Sep 2012
Posts: 53
Rep Power: 14 |
I just wanted to check some code with the community to see if its doing what I think it should.
I want to Implement the following Drag model (based on Roghair, 2011). http://fcre.tnw.utwente.nl/people/ni...oghair2011.pdf Cd/[Cinf*(1-alpha)] = ( 1 + 18/Eo*alpha ) Where Eo is the Eotvos # (1.4 for the system in question) Cinf is the drag coefficient for a single bubble in pure liquid Cd is the swarm corrected coefficient alpha is the gas phase fraction (gas-liquid system) This is for twoPhaseEulerFoam (OF version 2.2.0) Code:
volScalarField Re(max(Ur*phase1_.d()/phase2_.nu(), scalar(1.0e-3))); volScalarField Cds ( neg(Re - 1000)*(24.0*(1.0 + 0.15*pow(Re, 0.687))/Re) + pos(Re - 1000)*0.44 ); volScalarField Cde ( (Cds + Cds*(18/1.4)*alpha1_)*(scalar(1)-alpha1_) ); return 0.75*Cde*phase2_.rho()*Ur/phase1_.d(); |
|
March 31, 2015, 09:28 |
|
#2 |
Member
Join Date: May 2014
Location: Germany
Posts: 32
Rep Power: 12 |
Hello Chris,
I know the answer is a bit late. I think your implementation is not correct. I implemented the model after Roghair myself in OF 2.3.0. Roghair calculates the Cd for a single bubble after Eq. 12- 14 in his paper. You used the Schiller-Naumann model instead. I don't think this will work. Also, its' a bad idea to put a number for the Eötvös number in the equation, it's much better to look it up. This way you can use the drag model for different systems. This is how I implemented the model. I use values for residualRe and residualEo, which I define in my constant/ directory, to make sure Re and Eo never become zero. Code:
residualRe_("residualRe", dimless, dict.lookup("residualRe")), residualEo_("residualEo", dimless, dict.lookup("residualEo")) Code:
Foam::tmp<Foam::volScalarField> Foam::dragModels::Roghair::CdRe() const { volScalarField Eo(max(pair_.Eo(), residualEo_)); volScalarField Re(max(pair_.Re(), residualRe_)); volScalarField alpha(pair_.dispersed()); volScalarField CdRe = 16./Re * (1. + 2./(1. + 16./Re + 3.315/sqrt(Re))); volScalarField CdEo = 4.* Eo/(Eo + 9.5); volScalarField Cdsingle = sqrt(pow(CdRe, 2.) + pow(CdEo, 2.)); volScalarField Cd = Cdsingle * (1. - alpha) * (1. + 18./Eo *alpha); return Cd * Re; } Regards, hester |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Free CFD code with implementation of Menter's k-omega SST model | nikola_m | Main CFD Forum | 2 | May 8, 2020 13:13 |
Cavitation: implementation of Schnerr-Sauer model | luftraudi | Main CFD Forum | 1 | November 21, 2013 23:52 |
Implementation of wall model to LES | saeedi | Main CFD Forum | 3 | August 24, 2012 15:51 |
Problems with own LES Model Implementation | fs82 | OpenFOAM | 1 | October 9, 2009 11:31 |
A reference on implementation of Spalart-Alam. Turbulence Model? | Mohammad Kermani | Main CFD Forum | 2 | December 26, 1999 03:56 |