tutorials/multiphaseEuler: Added boilingBed tutorial

This tutorial serves as an example of a boiling transfer between two
phases, which occurs on the surface of a third stationary phase. See
commit 32edc48d for details of this modelling and its specification.

Patch contributed by Juho Peltola, VTT.
This commit is contained in:
Will Bainbridge
2023-09-28 16:01:23 +01:00
parent 9181a699f2
commit 8b2e6b9758
39 changed files with 2209 additions and 0 deletions

View File

@ -0,0 +1,50 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volScalarField;
location "0";
object T.gas;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField uniform 350;
boundaryField
{
inlet
{
type fixedValue;
value $internalField;
}
outlet
{
type inletOutlet;
phi phi.gas;
inletValue $internalField;
value $internalField;
}
wall
{
type zeroGradient;
}
front
{
type wedge;
}
back
{
type wedge;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,50 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volScalarField;
location "0";
object T.liquid;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [ 0 0 0 1 0 0 0 ];
internalField uniform 350;
boundaryField
{
inlet
{
type fixedValue;
value $internalField;
}
outlet
{
type inletOutlet;
phi phi.liquid;
inletValue $internalField;
value $internalField;
}
wall
{
type zeroGradient;
}
front
{
type wedge;
}
back
{
type wedge;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,46 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volScalarField;
location "0";
object T.solid;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [ 0 0 0 1 0 0 0 ];
internalField uniform 350;
boundaryField
{
inlet
{
type zeroGradient;
}
outlet
{
type zeroGradient;
}
wall
{
type zeroGradient;
}
front
{
type wedge;
}
back
{
type wedge;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,49 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volVectorField;
location "0";
object U.gas;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0 0 0];
internalField uniform (0.3 0 0);
boundaryField
{
inlet
{
type fixedValue;
value uniform (0.3 0 0);
}
outlet
{
type pressureInletOutletVelocity;
phi phi.gas;
value uniform (0.3 0 0);
}
wall
{
type noSlip;
}
front
{
type wedge;
}
back
{
type wedge;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,49 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volVectorField;
location "0";
object U.liquid;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0 0 0];
internalField uniform (0.3 0 0);
boundaryField
{
inlet
{
type fixedValue;
value uniform (0.3 0 0);
}
outlet
{
type pressureInletOutletVelocity;
phi phi.liquid;
value uniform (0.3 0 0);
}
wall
{
type noSlip;
}
front
{
type wedge;
}
back
{
type wedge;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,50 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volScalarField;
location "0";
object alpha.gas;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 0;
boundaryField
{
inlet
{
type fixedValue;
value uniform 0;
}
outlet
{
type inletOutlet;
phi phi.gas;
inletValue uniform 0;
value uniform 0;
}
wall
{
type zeroGradient;
}
front
{
type wedge;
}
back
{
type wedge;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,50 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volScalarField;
location "0";
object alpha.liquid;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 1;
boundaryField
{
inlet
{
type fixedValue;
value uniform 1;
}
outlet
{
type inletOutlet;
phi phi.liquid;
inletValue uniform 1;
value uniform 1;
}
wall
{
type zeroGradient;
}
front
{
type wedge;
}
back
{
type wedge;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,47 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volScalarField;
location "0";
object alpha.solid;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 0;
boundaryField
{
inlet
{
type fixedValue;
value uniform 0;
}
outlet
{
type zeroGradient;
}
wall
{
type zeroGradient;
}
front
{
type wedge;
}
back
{
type wedge;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,57 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volScalarField;
location "0";
object alphat.gas;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -1 0 0 0 0];
internalField uniform 1e-8;
boundaryField
{
inlet
{
type calculated;
value uniform 1e-8;
}
outlet
{
type calculated;
value uniform 1e-8;
}
wall
{
type compressible::alphatWallBoilingWallFunction;
otherPhase liquid;
phaseType vapour;
Prt 0.85;
partitioningModel
{
type Lavieville;
alphaCrit 0.2;
}
value uniform 0;
}
front
{
type wedge;
}
back
{
type wedge;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,76 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volScalarField;
location "0";
object alphat.liquid;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [ 1 -1 -1 0 0 0 0 ];
internalField uniform 1e-08;
boundaryField
{
inlet
{
type fixedValue;
value uniform 0;
}
outlet
{
type calculated;
value uniform 1e-08;
}
wall
{
type compressible::alphatWallBoilingWallFunction;
otherPhase gas;
phaseType liquid;
Prt 0.85;
partitioningModel
{
type Lavieville;
alphaCrit 0.2;
}
nucleationSiteModel
{
type LemmertChawla;
Cn 1;
NRef 30000000;
deltaTRef 10;
}
departureDiameterModel
{
type TolubinskiKostanchuk;
dRef 0.00024;
dMax 0.0014;
dMin 1e-06;
}
departureFrequencyModel
{
type KocamustafaogullariIshii;
Cf 1.18;
}
value uniform 0.01;
}
front
{
type wedge;
}
back
{
type wedge;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,52 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volScalarField;
location "0";
object k.gas;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
internalField uniform 0.01;
boundaryField
{
inlet
{
type mappedInternalValue;
interpolationScheme cell;
value uniform 0.01;
}
outlet
{
type inletOutlet;
phi phi.gas;
inletValue uniform 0.01;
value uniform 0.01;
}
wall
{
type kqRWallFunction;
value uniform 0.01;
}
front
{
type wedge;
}
back
{
type wedge;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,52 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volScalarField;
location "0";
object k.liquid;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
internalField uniform 0.01;
boundaryField
{
inlet
{
type mappedInternalValue;
interpolationScheme cell;
value uniform 0.01;
}
outlet
{
type inletOutlet;
phi phi.liquid;
inletValue uniform 3.75e-05;
value uniform 0.01;
}
wall
{
type kqRWallFunction;
value uniform 0.01;
}
front
{
type wedge;
}
back
{
type wedge;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,52 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volScalarField;
location "0";
object nut.gas;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -1 0 0 0 0];
internalField uniform 0.0001;
boundaryField
{
inlet
{
type calculated;
value uniform 0.0001;
}
outlet
{
type calculated;
value uniform 0.0001;
}
wall
{
type nutkWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 0;
}
front
{
type wedge;
}
back
{
type wedge;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,52 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volScalarField;
location "0";
object nut.liquid;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -1 0 0 0 0];
internalField uniform 0.0001;
boundaryField
{
inlet
{
type calculated;
value uniform 0.0001;
}
outlet
{
type calculated;
value uniform 0.0001;
}
wall
{
type nutkWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 0;
}
front
{
type wedge;
}
back
{
type wedge;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,52 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volScalarField;
location "0";
object omega.liquid;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 -1 0 0 0 0];
internalField uniform 0.01;
boundaryField
{
inlet
{
type mappedInternalValue;
interpolationScheme cell;
value uniform 0.01;
}
outlet
{
type inletOutlet;
phi phi.liquid;
inletValue uniform 0.0015;
value uniform 0.01;
}
wall
{
type omegaWallFunction;
value uniform 0.001;
}
front
{
type wedge;
}
back
{
type wedge;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,52 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volScalarField;
location "0";
object omega.liquid;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 -1 0 0 0 0];
internalField uniform 0.01;
boundaryField
{
inlet
{
type mappedInternalValue;
interpolationScheme cell;
value uniform 0.01;
}
outlet
{
type inletOutlet;
phi phi.liquid;
inletValue uniform 0.0015;
value uniform 0.01;
}
wall
{
type omegaWallFunction;
value uniform 0.001;
}
front
{
type wedge;
}
back
{
type wedge;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,49 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volScalarField;
location "0";
object p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [ 1 -1 -2 0 0 0 0 ];
internalField uniform 1e5;
boundaryField
{
inlet
{
type calculated;
value $internalField;
}
outlet
{
type calculated;
value $internalField;
}
wall
{
type calculated;
value $internalField;
}
front
{
type wedge;
}
back
{
type wedge;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,50 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class volScalarField;
location "0";
object p_rgh;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -2 0 0 0 0];
internalField uniform 1e5;
boundaryField
{
inlet
{
type fixedFluxPressure;
}
outlet
{
type prghTotalPressure;
p0 $internalField;
p $internalField;
U U.liquid;
value $internalField;
}
wall
{
type fixedFluxPressure;
}
front
{
type wedge;
}
back
{
type wedge;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,17 @@
#!/bin/sh
cd ${0%/*} || exit 1 # run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
runApplication blockMesh
runApplication extrudeMesh
runApplication topoSet
runApplication setFields
runApplication decomposePar
runParallel $(getApplication)
runApplication reconstructPar -latestTime
#------------------------------------------------------------------------------

View File

@ -0,0 +1,64 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "constant";
object fvModels;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
phaseTurbulenceStabilisationGas
{
type phaseTurbulenceStabilisation;
libs ("libmultiphaseEulerFvModels.so");
phase gas;
alphaInversion 0.1;
}
phaseTurbulenceStabilisationLiquid
{
type phaseTurbulenceStabilisation;
libs ("libmultiphaseEulerFvModels.so");
phase liquid;
alphaInversion 0.1;
}
bedHeat
{
type semiImplicitSource;
selectionMode cellZone;
cellZone bed;
volumeMode absolute;
sources
{
e.solid
{
explicit
{
type scale;
value 2.3e4;
scale
{
type linearRamp;
start 0.05;
duration 0.1;
}
}
implicit 0;
}
}
}
// ************************************************************************* //

View File

@ -0,0 +1,21 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class uniformDimensionedVectorField;
location "constant";
object g;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -2 0 0 0 0];
value (-9.81 0 0);
// ************************************************************************* //

View File

@ -0,0 +1,29 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "constant";
object momentumTransport.air;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
simulationType RAS;
RAS
{
model kOmegaSST;
turbulence on;
printCoeffs on;
}
// ************************************************************************* //

View File

@ -0,0 +1,29 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "constant";
object momentumTransport.liquid;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
simulationType RAS;
RAS
{
model kOmegaSSTSato;
turbulence on;
printCoeffs on;
}
// ************************************************************************* //

View File

@ -0,0 +1,234 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "constant";
object phaseProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
type thermalPhaseChangeMultiphaseSystem;
phases (gas liquid solid);
gas
{
type purePhaseModel;
diameterModel constant;
constantCoeffs
{
d 0.001;
}
residualAlpha 1e-6;
}
liquid
{
type purePhaseModel;
diameterModel residualDiameter;
residualDiameterCoeffs
{
d 0.003;
dResidual 0.0001;
}
residualAlpha 1e-6;
}
solid
{
type pureStationaryPhaseModel;
diameterModel constant;
constantCoeffs
{
d 0.01;
}
residualAlpha 1e-6;
}
blending
{
default
{
type linear;
minFullyContinuousAlpha.gas 0.7;
minPartlyContinuousAlpha.gas 0.5;
minFullyContinuousAlpha.liquid 0.5;
minPartlyContinuousAlpha.liquid 0.3;
minFullyContinuousAlpha.solid none;
minPartlyContinuousAlpha.solid none;
}
}
surfaceTension
{
liquid_gas
{
type constant;
sigma 0.0589;
}
}
drag
{
gas_dispersedIn_liquid
{
type IshiiZuber;
residualRe 1e-3;
}
liquid_dispersedIn_gas
{
type WenYu;
residualRe 1e-3;
}
solid_dispersedIn_gas
{
type GidaspowErgunWenYu;
residualRe 1e-3;
}
solid_dispersedIn_liquid
{
type GidaspowErgunWenYu;
residualRe 1e-3;
}
}
virtualMass
{
gas_dispersedIn_liquid
{
type constantCoefficient;
Cvm 0.5;
}
liquid_dispersedIn_gas
{
type constantCoefficient;
Cvm 0.5;
}
}
heatTransfer
{
gas_dispersedIn_liquid_inThe_gas
{
type spherical;
}
liquid_dispersedIn_gas_inThe_gas
{
type RanzMarshall;
}
solid_dispersedIn_gas_inThe_gas
{
type Gunn;
}
gas_dispersedIn_liquid_inThe_liquid
{
type RanzMarshall;
}
liquid_dispersedIn_gas_inThe_liquid
{
type spherical;
}
solid_dispersedIn_liquid_inThe_liquid
{
type wallBoiling;
vapourPhase gas;
liquidPhase liquid;
partitioningModel
{
type Lavieville;
alphaCrit 0.2;
}
nucleationSiteModel
{
type LemmertChawla;
}
departureDiameterModel
{
type TolubinskiKostanchuk;
}
departureFrequencyModel
{
type KocamustafaogullariIshii;
Cf 1.18;
}
heatTransferModel
{
type Gunn;
}
}
solid_dispersedIn_liquid_inThe_solid
{
type nonSpherical;
factor 5;
}
solid_dispersedIn_gas_inThe_solid
{
type nonSpherical;
factor 5;
}
}
lift
{}
wallLubrication
{}
turbulentDispersion
{}
saturationTemperature
{
gas_liquid
{
type function1;
function scale;
xScale 1e-5;
scale 1;
value
{
type table;
format csv;
nHeaderLine 1;
refColumn 1;
componentColumns (0);
mergeSeparators no;
file "constant/water-saturation.csv";
outOfBounds clamp;
interpolationScheme linear;
}
}
}
phaseTransfer
{}
// ************************************************************************* //

View File

@ -0,0 +1,52 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "constant";
object physicalProperties.gas;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType
{
type heRhoThermo;
mixture pureMixture;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleEnthalpy;
}
pressureWorkAlphaLimit 0.01;
mixture
{
specie
{
molWeight 18.0153;
}
thermodynamics
{
Hf 0;
Cp 2078.4;
Tref 372.76;
Hsref 2675500;
}
transport
{
mu 1.2256e-5;
Pr 2.289;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,57 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "constant";
object physicalProperties.liquid;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType
{
type heRhoThermo;
mixture pureMixture;
transport const;
thermo eConst;
equationOfState rPolynomial;
specie specie;
energy sensibleInternalEnergy;
}
pressureWorkAlphaLimit 0.01;
mixture
{
specie
{
molWeight 18.0153;
}
equationOfState
{
C (0.001278 -2.1055e-06 3.9689e-09 4.3772e-13 -2.0225e-16);
}
thermodynamics
{
Hf 0;
Cv 4195;
Tref 372.76;
Esref 417500;
}
transport
{
mu 2.8291e-4;
Pr 2.289;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,50 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "constant";
object thermophysicalProperties.solid;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType
{
type heRhoThermo;
mixture pureMixture;
transport const;
thermo eConst;
equationOfState rhoConst;
specie specie;
energy sensibleInternalEnergy;
}
mixture
{
specie
{
molWeight 55.85;
}
equationOfState
{
rho 8072;
}
thermodynamics
{
Hf 0;
Cv 520;
}
transport
{
mu 1;
kappa 16.7;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,24 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "constant";
object thermophysicalTransport;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
RAS
{
model eddyDiffusivity;
Prt 1;
}
// ************************************************************************* //

View File

@ -0,0 +1,24 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "constant";
object thermophysicalTransport;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
RAS
{
model eddyDiffusivity;
Prt 1;
}
// ************************************************************************* //

View File

@ -0,0 +1,47 @@
Temperature (K),Pressure (bar)
354.46689,0.5
359.076,0.6
363.08173,0.7
366.63554,0.8
369.83715,0.9
372.75593,1
375.44217,1.1
377.93355,1.2
380.25908,1.3
382.44159,1.4
384.49938,1.5
386.44738,1.6
388.2979,1.7
390.06127,1.8
391.74619,1.9
393.36009,2
394.90938,2.1
396.3996,2.2
397.83559,2.3
399.2216,2.4
400.56141,2.5
401.85833,2.6
403.11535,2.7
404.33515,2.8
405.52011,2.9
406.67242,3
407.79404,3.1
408.88675,3.2
409.9522,3.3
410.99188,3.4
412.00715,3.5
412.99928,3.6
413.96943,3.7
414.91868,3.8
415.84801,3.9
416.75836,4
417.65058,4.1
418.52547,4.2
419.38378,4.3
420.22621,4.4
421.0534,4.5
421.86597,4.6
422.6645,4.7
423.44953,4.8
424.22156,4.9
424.98108,5
1 Temperature (K) Pressure (bar)
2 354.46689 0.5
3 359.076 0.6
4 363.08173 0.7
5 366.63554 0.8
6 369.83715 0.9
7 372.75593 1
8 375.44217 1.1
9 377.93355 1.2
10 380.25908 1.3
11 382.44159 1.4
12 384.49938 1.5
13 386.44738 1.6
14 388.2979 1.7
15 390.06127 1.8
16 391.74619 1.9
17 393.36009 2
18 394.90938 2.1
19 396.3996 2.2
20 397.83559 2.3
21 399.2216 2.4
22 400.56141 2.5
23 401.85833 2.6
24 403.11535 2.7
25 404.33515 2.8
26 405.52011 2.9
27 406.67242 3
28 407.79404 3.1
29 408.88675 3.2
30 409.9522 3.3
31 410.99188 3.4
32 412.00715 3.5
33 412.99928 3.6
34 413.96943 3.7
35 414.91868 3.8
36 415.84801 3.9
37 416.75836 4
38 417.65058 4.1
39 418.52547 4.2
40 419.38378 4.3
41 420.22621 4.4
42 421.0534 4.5
43 421.86597 4.6
44 422.6645 4.7
45 423.44953 4.8
46 424.22156 4.9
47 424.98108 5

View File

@ -0,0 +1,97 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "system";
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
backgroundMesh
{
length 1.5;
rA 0.3;
lengthCells 150;
rAcells 40;
}
convertToMeters 1;
vertices
(
( 0 0 -1)
($!backgroundMesh/length 0 -1)
( 0 $!backgroundMesh/rA -1)
($!backgroundMesh/length $!backgroundMesh/rA -1)
( 0 0 0)
($!backgroundMesh/length 0 0)
( 0 $!backgroundMesh/rA 0)
($!backgroundMesh/length $!backgroundMesh/rA 0)
);
blocks
(
hex (0 1 3 2 4 5 7 6)
($!backgroundMesh/lengthCells $!backgroundMesh/rAcells 1)
simpleGrading (1 0.5 1)
);
boundary
(
inlet
{
type mappedInternal;
offset (0.05 0 0);
faces
(
(0 4 6 2)
);
}
outlet
{
type patch;
faces
(
(1 5 7 3)
);
}
front
{
type symmetry;
faces
(
(4 5 7 6)
);
}
back
{
type symmetry;
faces
(
(0 1 3 2)
);
}
wall
{
type wall;
faces
(
(3 2 6 7)
(1 0 4 5)
);
}
);
// ************************************************************************* //

View File

@ -0,0 +1,170 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "system";
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application foamRun;
solver multiphaseEuler;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 7;
deltaT 0.0001;
writeControl adjustableRunTime;
writeInterval 0.2;
purgeWrite 0;
writeFormat ascii;
writePrecision 9;
writeCompression off;
timeFormat general;
timePrecision 6;
runTimeModifiable yes;
adjustTimeStep yes;
maxCo 0.5;
maxDeltaT 0.005;
functions
{
#includeFunc cellMinMag
(
name=fieldMin,
executeAtStart=no,
continuityError.gas,
continuityError.liquid,
log=yes
)
#includeFunc cellMaxMag
(
name=fieldMax,
executeAtStart=no,
continuityError.gas,
continuityError.liquid,
log=yes
)
#includeFunc writeObjects
(
continuityError.gas,
continuityError.liquid
)
outflow
{
type surfaceFieldValue;
libs ("libfieldFunctionObjects.so");
log yes;
writeFields false;
select patch;
patch outlet;
operation sum;
fields (alphaRhoPhi.gas alphaRhoPhi.liquid);
}
inflow
{
type surfaceFieldValue;
libs ("libfieldFunctionObjects.so");
log yes;
writeFields false;
select patch;
patch inlet;
operation sum;
fields (alphaRhoPhi.gas alphaRhoPhi.liquid);
}
outletGas
{
type surfaceFieldValue;
libs ("libfieldFunctionObjects.so");
log yes;
writeFields false;
select patch;
patch outlet;
operation sum;
weightField alphaRhoPhi.gas;
fields (h.gas);
}
outletLiquid
{
type surfaceFieldValue;
libs ("libfieldFunctionObjects.so");
log yes;
writeFields false;
select patch;
patch outlet;
operation sum;
weightField alphaRhoPhi.liquid;
fields (e.liquid);
}
inletGas
{
type surfaceFieldValue;
libs ("libfieldFunctionObjects.so");
log yes;
writeFields false;
select patch;
patch inlet;
operation sum;
weightField alphaRhoPhi.gas;
fields (h.gas);
}
inletLiquid
{
type surfaceFieldValue;
libs ("libfieldFunctionObjects.so");
log yes;
writeFields false;
select patch;
patch inlet;
operation sum;
weightField alphaRhoPhi.liquid;
fields (e.liquid);
}
contError
{
type volFieldValue;
libs ("libfieldFunctionObjects.so");
log yes;
writeFields false;
select all;
operation volIntegrate;
fields (continuityError.gas continuityError.liquid);
}
}
// ************************************************************************* //

View File

@ -0,0 +1,22 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "system";
object decomposeParDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
numberOfSubdomains 4;
method scotch;
// ************************************************************************* //

View File

@ -0,0 +1,38 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "system";
object extrudeMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
constructFrom patch;
sourceCase "$FOAM_CASE";
sourcePatches (front);
exposedPatchName back;
extrudeModel wedge;
sectorCoeffs
{
axisPt (0 0 0);
axis (1 0 0);
angle 1;
}
flipNormals false;
mergeFaces false;
// ************************************************************************* //

View File

@ -0,0 +1,54 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "system";
object fvConstraints;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
limitTgas
{
type limitTemperature;
active yes;
selectionMode all;
min 290;
max 1000;
phase gas;
}
limitTliquid
{
type limitTemperature;
active yes;
selectionMode all;
min 290;
max 1000;
phase liquid;
}
limitTsolid
{
type limitTemperature;
active yes;
selectionMode all;
min 290;
max 1000;
phase solid;
}
limitp
{
type limitPressure;
min 10000;
}
// ************************************************************************* //

View File

@ -0,0 +1,74 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "system";
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
default Euler;
}
gradSchemes
{
default Gauss linear;
limited cellLimited Gauss linear 1;
}
divSchemes
{
default none;
div(phi,alpha) Gauss vanLeer;
div(phir,alpha) Gauss vanLeer;
div(alphaRhoPhi,U) Gauss linearUpwind limited;
div(phi,U) Gauss linearUpwind limited;
div(alphaRhoPhi,Yi) Gauss linearUpwind limited;
"div\(alphaRhoPhi,(h|e)\)" Gauss linearUpwind limited;
div(alphaRhoPhi,K) Gauss linearUpwind limited;
div(alphaRhoPhi,(p|rho)) Gauss linearUpwind limited;
"div\(alphaRhoPhi,(k|omega)\)" Gauss linearUpwind limited;
div((((alpha*rho)*nuEff)*dev2(T(grad(U))))) Gauss linear;
}
laplacianSchemes
{
default Gauss linear corrected;
}
interpolationSchemes
{
default linear;
}
snGradSchemes
{
default corrected;
}
fluxRequired
{
default no;
}
wallDist
{
method meshWave;
nRequired yes;
}
// ************************************************************************* //

View File

@ -0,0 +1,104 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "system";
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
"alpha.*"
{
nAlphaCorr 1;
nAlphaSubCycles 1;
}
p_rgh
{
solver GAMG;
smoother DIC;
tolerance 1e-8;
relTol 0.01;
minIter 2;
maxIter 20;
}
p_rghFinal
{
$p_rgh;
relTol 0;
}
"(e|h).*"
{
solver PBiCGStab;
preconditioner DILU;
tolerance 1e-12;
relTol 0.001;
minIter 1;
maxIter 20;
}
"(e|h)\.solid.*"
{
solver PBiCGStab;
preconditioner DIC;
tolerance 1e-12;
relTol 0.001;
minIter 1;
maxIter 20;
}
"(k|omega).*"
{
solver PBiCGStab;
preconditioner DILU;
tolerance 1e-8;
relTol 0;
minIter 1;
}
}
PIMPLE
{
nOuterCorrectors 3;
nCorrectors 2;
nNonOrthogonalCorrectors 0;
nEnergyCorrectors 1;
transportPredictionFirst false;
transportCorrectionFinal true;
faceMomentum no;
VmDdtCorrection yes;
dragCorrection yes;
}
relaxationFactors
{
fields
{
thermalPhaseChange:dmdtf 1;
}
equations
{
".*" 1;
"h\..*" 1;
"e\..*" 1;
"k.*" 1;
"omega.*" 1;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,39 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "system";
object setFieldsDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
defaultFieldValues
(
volScalarFieldValue alpha.gas 0
volScalarFieldValue alpha.liquid 1
volScalarFieldValue alpha.solid 0
);
regions
(
zoneToCell
{
zone bed;
fieldValues
(
volScalarFieldValue alpha.gas 0
volScalarFieldValue alpha.liquid 0.4
volScalarFieldValue alpha.solid 0.6
);
}
);
// ************************************************************************* //

View File

@ -0,0 +1,28 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
location "system";
object topoSetDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
actions
(
{
name bed;
type cellZoneSet;
action new;
source boxToCell;
box (0.5 -0.3 -0.3) (1 0.3 0.3);
}
);
// ************************************************************************* //