|
[Sponsors] |
March 12, 2019, 12:27 |
reactingMultiphaseEulerFoam
|
#1 |
Member
Join Date: Oct 2016
Posts: 31
Rep Power: 10 |
Hello to everyone,
As I've mentioned in my previous thread (chtMultiRegionFoam with multiple liquid regions) I am using OF6 for my research project, aims of which to model gas-water interaction involving heat transfer, chemical kinetics, mass transport. I was trying to use chtMultiRegionFoam and got stuck with multiple problems: 1. Gas doesn't drag water. Tried various BC between regions. 2. Chemical species can't diffuse into neighbor region. 3. Can't have inter-region chemical reactions. 4. Pressure and velocity diverging. What bothers me most. So, currently (with the advice of Robin.Kamenicky) I have switched to reactingTwoPhaseEulerFoam. Which should be able to solve my case correctly. Simulation domain consists of two fluids: gas, flowing from left to right with defined velocity, on top of the water, that is still initially and dragged by gas. Dimensions of whole domain are 60mm x 30 mm x 0.1 mm. Inlet velocity is 0.1 m/s. Reynolds number in my case is quite high ~ 20400. Future steps will be adding chemical species in phases and reactions. But, my simulations are diverging. Schematics and case files are included. I have several assumptions about causes that I am checking: 1. The way I defined mesh as consisting of two blocks. 2. Sharp interface between gas and flow causing divergence. 3. Incorrect BCs. Any help/hints/advises will be appreciated, thanks in advance! Initial fields: T.water: dimensions [0 0 0 1 0 0 0]; internalField uniform 360; boundaryField { inlet_gas { type fixedValue; value $internalField; } outlet_gas { type inletOutlet; phi phi.water; inletValue $internalField; value $internalField; } inlet_liquid { type fixedValue; value $internalField; } outlet_liquid { type inletOutlet; phi phi.water; inletValue $internalField; value $internalField; } top_gas { type zeroGradient; } bottom_liquid { type zeroGradient; } } T.steam: dimensions [0 0 0 1 0 0 0]; internalField uniform 360;//372.76; boundaryField { inlet_gas { type fixedValue; value $internalField; } outlet_gas { type inletOutlet; phi phi.steam; inletValue $internalField; value $internalField; } inlet_liquid { type fixedValue; value $internalField; } outlet_liquid { type inletOutlet; phi phi.steam; inletValue $internalField; value $internalField; } top_gas { type zeroGradient; } bottom_liquid { type zeroGradient; } } U.water: dimensions [0 1 -1 0 0 0 0]; internalField uniform (0.1 0 0); boundaryField { inlet_gas { type fixedValue; value uniform (0.1 0 0); } outlet_gas { type pressureInletOutletVelocity; phi phi.water; value $internalField; } inlet_liquid { type fixedValue; value uniform (0.1 0 0); } outlet_liquid { type pressureInletOutletVelocity; phi phi.water; value $internalField; } top_gas { type noSlip; } bottom_liquid { type noSlip; } } U.steam: dimensions [0 1 -1 0 0 0 0]; internalField uniform (0.1 0 0); boundaryField { inlet_gas { type fixedValue; value uniform (0.1 0 0); } outlet_gas { type pressureInletOutletVelocity; phi phi.steam; value $internalField; } inlet_liquid { type fixedValue; value uniform (0.1 0 0); } outlet_liquid { type pressureInletOutletVelocity; phi phi.steam; value $internalField; } top_gas { type noSlip; } bottom_liquid { type noSlip; } } p: dimensions [ 1 -1 -2 0 0 0 0 ]; internalField uniform 1e5; boundaryField { inlet_gas { type calculated; value $internalField; } outlet_gas { type calculated; value $internalField; } inlet_liquid { type calculated; value $internalField; } outlet_liquid { type calculated; value $internalField; } top_gas { type calculated; value $internalField; } bottom_liquid { type calculated; value $internalField; } } p_rgh: dimensions [ 1 -1 -2 0 0 0 0 ]; internalField uniform 1e5; boundaryField { inlet_gas { type fixedFluxPressure; value $internalField; } outlet_gas { type prghPressure; p $internalField; value $internalField; } inlet_liquid { type fixedFluxPressure; value $internalField; } outlet_liquid { type prghPressure; p $internalField; value $internalField; } top_gas { type fixedFluxPressure; value $internalField; } bottom_liquid { type fixedFluxPressure; value $internalField; } } water.water: dimensions [0 0 0 0 0 0 0]; internalField uniform 1; boundaryField { inlet_gas { type fixedValue; value uniform 0; } outlet_gas { type inletOutlet; phi phi.water; inletValue uniform 0; // value $internalField; } inlet_liquid { type fixedValue; value uniform 1; } outlet_liquid { type inletOutlet; phi phi.water; inletValue $internalField; value $internalField; } top_gas { type zeroGradient; } bottom_liquid { type zeroGradient; } } water.steam: dimensions [0 0 0 0 0 0 0]; internalField uniform 1; boundaryField { inlet_gas { type fixedValue; value uniform 1; } outlet_gas { type inletOutlet; phi phi.steam; inletValue $internalField; value $internalField; } inlet_liquid { type fixedValue; value uniform 0; } outlet_liquid { type inletOutlet; phi phi.steam; inletValue uniform 0; // value $internalField; } top_gas { type zeroGradient; } bottom_liquid { type zeroGradient; } } alpha.water: dimensions [0 0 0 0 0 0 0]; internalField uniform 0; boundaryField { inlet_gas { type fixedValue; value uniform 0; } outlet_gas { type inletOutlet; phi phi.water; inletValue uniform 0; value uniform 0; } inlet_liquid { type fixedValue; value uniform 1; } outlet_liquid { type inletOutlet; phi phi.water; inletValue uniform 1; value uniform 1; } top_gas { type zeroGradient; } bottom_liquid { type zeroGradient; } } alpha.steam: dimensions [0 0 0 0 0 0 0]; internalField uniform 1; boundaryField { inlet_gas { type fixedValue; value uniform 1; } outlet_gas { type inletOutlet; phi phi.steam; inletValue uniform 1; value uniform 1; } inlet_liquid { type fixedValue; value uniform 0; } outlet_liquid { type inletOutlet; phi phi.steam; inletValue uniform 0; value uniform 0; } top_gas { type zeroGradient; } bottom_liquid { type zeroGradient; } } nut: dimensions [0 2 -1 0 0 0 0]; internalField uniform 1e-8; boundaryField { inlet_gas { type calculated; value $internalField; } outlet_gas { type calculated; value $internalField; } inlet_liquid { type calculated; value $internalField; } outlet_liquid { type calculated; value $internalField; } top_gas { type nutkWallFunction; value $internalField; } bottom_liquid { type nutkWallFunction; value $internalField; } } |
|
March 13, 2019, 15:04 |
|
#2 |
Member
Join Date: Oct 2016
Posts: 31
Rep Power: 10 |
I think I found an answer to my question from this Boundary conditions for Two-phase Flow with Different Inlet Pressures thread.
As I've been imposing different BC for two regions there is always the gradient of field. Therefore, my simulations kept diverging. Now, I moved to formulation of single region (as single 2D pipe), and took the injection and fluidisedBed tutorials from multiphase/reactingTwoPhaseEulerFoam/laminar in OF6. Hope that will help someone. |
|
June 15, 2020, 03:09 |
|
#3 | |
New Member
yizzfaa
Join Date: Jan 2020
Posts: 1
Rep Power: 0 |
Quote:
|
||
Tags |
chemistry, multiphase flow, reactingtwophaseeulerfoam |
|
|