Introduction Case set-up Theory Post-processing Description of twoPhaseEulerFoam Project in the course ’CFD with OpenSource Software’ Sandra Busch 2014-12-01 Sandra Busch twoPhaseEulerFoam 2014-12-01 1 / 25
Introduction Case set-up Theory Post-processing Contents Introduction Case set-up Theory Post-processing Sandra Busch twoPhaseEulerFoam 2014-12-01 2 / 25
Introduction Case set-up Theory Post-processing twoPhaseEulerFoam Application twoPhaseEulerFoam Description Solver for a system of 2 compressible fluid phases with one phase dispersed, e.g. gas bubbles in a liquid including heat-transfer. Sandra Busch twoPhaseEulerFoam 2014-12-01 3 / 25
Introduction Case set-up Theory Post-processing Copy tutorial Two tutorials available for the twoPhaseEulerFoam treating fluidized beds: laminar and RAS. Start by copying the directory in the run directory: cp -r $FOAM_TUTORIALS/multiphase/twoPhaseEulerFoam/ RAS/fluidisedBed $FOAM_RUN cd $FOAM_RUN/fluidisedBed Sandra Busch twoPhaseEulerFoam 2014-12-01 4 / 25
Introduction Case set-up Theory Post-processing Mesh Adapt mesh to the new geometry and run BlockMesh vertices ( (0 0 0) (0.28 0 0) (0.28 1 0) (0 1 0) (0 0 0.025) (0.28 0 0.025) (0.28 1 0.025) (0 1 0.025) ); blocks ( hex (0 1 2 3 4 5 6 7) (28 100 1) simpleGrading (1 1 1) ); Sandra Busch twoPhaseEulerFoam 2014-12-01 5 / 25
Introduction Case set-up Theory Post-processing Definition of static bed height Defined in system/setFieldsDict defaultFieldValues define static height of the ( volScalarFieldValue alpha.air 1 bed volScalarFieldValue alpha.particles 0 ); default volume fraction of regions air α air = 1 ( boxToCell solids volume fraction in { bed α particles = 0 . 4% box ( 0 0 0 ) ( 0.28 0.4 0.025 ); fieldValues ( volScalarFieldValue alpha.air 0.60 volScalarFieldValue alpha.particles 0.40 ); } ); Sandra Busch twoPhaseEulerFoam 2014-12-01 6 / 25
Introduction Case set-up Theory Post-processing Set fields Before running setFields , 0/alpha.air.org and 0/alpha.particles.org have to be copied since they are backup files: cp 0/alpha.air.org 0/alpha.air cp 0/alpha.particles.org 0/alpha.particles Now setFields can be run from the case directory. Sandra Busch twoPhaseEulerFoam 2014-12-01 7 / 25
Introduction Case set-up Theory Post-processing Boundary conditions The inlet velocity can be set in 0/U.air , the outlet will be defined as pressure outlet. dimensions [0 1 -1 0 0 0 0]; internalField uniform (0 0.46 0); boundaryField { inlet { type interstitialInletVelocity; inletVelocity uniform (0 0.46 0); alpha alpha.air; value $internalField; } } Sandra Busch twoPhaseEulerFoam 2014-12-01 8 / 25
Introduction Case set-up Theory Post-processing Phase properties Particle diameter defined in constant/phaseProperties phases (particles air); particles { diameterModel constant; constantCoeffs { d 275e-6; } alphaMax 0.62; } blending { default { type none; continuousPhase air; } } Sandra Busch twoPhaseEulerFoam 2014-12-01 9 / 25
Introduction Case set-up Theory Post-processing Drag models Drag model also defined in constant/phaseProperties drag ( other models that can be set: (particles in air) { added mass type WenYu; heat transfer residualAlpha 1e-6; residualRe 1e-3; lift swarmCorrection wall lubrication { turbulent dispersion type none; } } ); Sandra Busch twoPhaseEulerFoam 2014-12-01 10 / 25
Introduction Case set-up Theory Post-processing Drag models Available drag models for twoPhaseEulerFoam: Ergun Gibilaro GidaspowErgunWenYu GidaspowSchillerNaumann Lain SchillerNaumann SyamlalOBrien TomiyamaAnalytic TomiyamaCorrelated WenYu segregated Sandra Busch twoPhaseEulerFoam 2014-12-01 11 / 25
Introduction Case set-up Theory Post-processing Turbulence Turbulence modelling can be set in constant/turbulenceProperties.air and constant/turbulenceProperties.particles . RAS { RASModel kineticTheory; turbulence on; printCoeffs on; Sandra Busch twoPhaseEulerFoam 2014-12-01 12 / 25
Introduction Case set-up Theory Post-processing Other properties Define direction and value of the gravity in constant/g : dimensions [0 1 -2 0 0 0 0]; value ( 0 -9.81 0 ); Sandra Busch twoPhaseEulerFoam 2014-12-01 13 / 25
Introduction Case set-up Theory Post-processing ControlDict application twoPhaseEulerFoam; startFrom startTime; startTime 0; stopAt endTime; endTime 2; deltaT 0.0002; Sandra Busch twoPhaseEulerFoam 2014-12-01 14 / 25
Introduction Case set-up Theory Post-processing Run solver Run the solver : twoPhaseEulerFoam >& log & Sandra Busch twoPhaseEulerFoam 2014-12-01 15 / 25
Introduction Case set-up Theory Post-processing Multiphase solver Some changes from earlier OpenFOAM versions: Phase property naming: alpha.<phase_name> denotes phase fraction of phase <phase_name> <property>.<phase name> denotes property <property> of phase <phase_name> Turbulence modeling for multiphase systems (different from single phase due to volume fraction) Different models for twoPhaseEulerFoam (drag, added mass, lift, heat transfer, turbulent dispersion and wall lubrication models) Sandra Busch twoPhaseEulerFoam 2014-12-01 16 / 25
Introduction Case set-up Theory Post-processing Multiphase equations (Eulerian-Eulerian) Continuity equation ∂tα k ρ k + ∂ ∂ α k ρ k U k,i = 0 ∂x i Momentum equation � ∂ ∂ � ∂P l − ∂τ k,ij α k ρ k ∂tU k,i + U k,j U k,i = α k ρ k g i − α k + I k,i ∂x i ∂x i ∂x j Sandra Busch twoPhaseEulerFoam 2014-12-01 17 / 25
Introduction Case set-up Theory Post-processing Syamlal-O’Brien drag model Drag force: 1 F D = 2 ρ 2 AC D | V r | V r $FOAM_APP/solvers/multiphase/twoPhaseEulerFoam/ interfacialModels/dragModels/SyamlalOBrien Sandra Busch twoPhaseEulerFoam 2014-12-01 18 / 25
Introduction Case set-up Theory Post-processing Syamlal-O’Brien drag model Foam::tmp<Foam::volScalarField> Foam::dragModels::SyamlalOBrien::CdRe() const { volScalarField alpha2(max(scalar(1) - pair_.dispersed(), residualAlpha_)); volScalarField A(pow(alpha2, 4.14)); volScalarField B ( neg(alpha2 - 0.85)*(0.8*pow(alpha2, 1.28)) + pos(alpha2 - 0.85)*(pow(alpha2, 2.65)) ); volScalarField Re(pair_.Re()); α 4 . 14 A = 2 0 . 8 α 1 . 28 B = if α 2 ≤ 0 . 85 2 α 2 . 65 B = if α 2 > 0 . 85 2 Sandra Busch twoPhaseEulerFoam 2014-12-01 19 / 25
Introduction Case set-up Theory Post-processing Syamlal-O’Brien Drag model volScalarField Vr ( 0.5 *( A - 0.06*Re + sqrt(sqr(0.06*Re) + 0.12*Re*(2.0*B - A) + sqr(A)) ) ); volScalarField CdsRe(sqr(0.63*sqrt(Re) + 4.8*sqrt(Vr))); return CdsRe *max(pair_.continuous(), residualAlpha_) /sqr(Vr); } � � � (0 . 06 Re ) 2 + 0 . 12 Re (2 B − A ) + A 2 V r = 0 . 5 A − 0 . 06 Re + 2 4 . 8 C D = 0 . 63 + � Re V r Sandra Busch twoPhaseEulerFoam 2014-12-01 20 / 25
Introduction Case set-up Theory Post-processing paraFoam The case can be opened in paraFoam: paraFoam Sandra Busch twoPhaseEulerFoam 2014-12-01 21 / 25
Introduction Case set-up Theory Post-processing paraFoam Bed after 2.4 seconds of simulation showing symmetric behaviour: Sandra Busch twoPhaseEulerFoam 2014-12-01 22 / 25
Introduction Case set-up Theory Post-processing paraFoam Bed after 20 sec of simulation time showing the volume fraction of the solids phase: Syamlal-O’Brien Schiller-Naumann Wen-Yu Sandra Busch twoPhaseEulerFoam 2014-12-01 23 / 25
Introduction Case set-up Theory Post-processing paraFoam Plot of the averaged volume fraction of the solids phase at different y-positions Schiller-Naumann Syamlal-O’Brien Sandra Busch twoPhaseEulerFoam 2014-12-01 24 / 25
Introduction Case set-up Theory Post-processing The end Thank you for your attention! Sandra Busch twoPhaseEulerFoam 2014-12-01 25 / 25
Recommend
More recommend