reacting*EulerFoam: PhaseTransferPhaseSystem: Added non uniform specie transfer support

This change extends phaseTransferModel and PhaseTransferPhaseSystem to
allow non-uniform specie transfer between phases.

A reactionDriven phaseTransfer model is added which represents change of
selected species from one phase to another due to a reaction occurring
within one of the phases.

Following the change, the reactionDriven nucleation models and the
phaseChange drift models in populationBalanceModel have been updated to
use the new functionality in PhaseTransferPhaseSystem. The
PopulationBalancePhaseSystem has been simplified significantly as a
result.

The functionality is demonstrated by a tutorial case simulating the
vapour phase synthesis of titania by titanium tetrachloride oxidation
where both nucleation and surface reactions models are active at the
same time.

Patch contributed by VTT Technical Research Centre of Finland Ltd and
Institute of Fluid Dynamics, Helmholtz-Zentrum Dresden - Rossendorf (HZDR).
This commit is contained in:
Will Bainbridge
2019-09-26 16:20:51 +03:00
parent 8c9e466e66
commit 7381f45d03
63 changed files with 1338 additions and 520 deletions

View File

@ -1,26 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object Ar.vapor;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 9.759118E-01;
boundaryField
{
}
// ************************************************************************* //

View File

@ -1,26 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object Cl2.vapor;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 0.0;
boundaryField
{
}
// ************************************************************************* //

View File

@ -1,26 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object N2.vapor;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 0.0;
boundaryField
{
}
// ************************************************************************* //

View File

@ -1,26 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object O2.vapor;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 1.551577E-02;
boundaryField
{
}
// ************************************************************************* //

View File

@ -1,25 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object T.particles;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField uniform 1400;
boundaryField
{
}
// ************************************************************************* //

View File

@ -1,25 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object T.vapor;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField uniform 1400;
boundaryField
{
}
// ************************************************************************* //

View File

@ -1,26 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object TiCl4.vapor;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 8.572434E-03;
boundaryField
{
}
// ************************************************************************* //

View File

@ -1,26 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object TiO2.particles;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 1.0;
boundaryField
{
}
// ************************************************************************* //

View File

@ -1,26 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object TiO2.vapor;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 0.0;
boundaryField
{
}
// ************************************************************************* //

View File

@ -1,25 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volVectorField;
object U.particles;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0 0 0];
internalField uniform (0 0 0);
boundaryField
{
}
// ************************************************************************* //

View File

@ -1,25 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volVectorField;
object U.vapor;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0 0 0];
internalField uniform (0 0 0);
boundaryField
{
}
// ************************************************************************* //

View File

@ -1,25 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object alpha.particles;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 0;
boundaryField
{
}
// ************************************************************************* //

View File

@ -1,25 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object alpha.particles;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 1.0;
boundaryField
{
}
// ************************************************************************* //

View File

@ -1,26 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object f.particles.aggregates;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 1.0;
boundaryField
{
}
// ************************************************************************* //

View File

@ -1,25 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -2 0 0 0 0];
internalField uniform 1e5;
boundaryField
{
}
// ************************************************************************* //

View File

@ -1,25 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object p_rgh;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -2 0 0 0 0];
internalField uniform 1e5;
boundaryField
{
}
// ************************************************************************* //

View File

@ -1,15 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
# Set application name
application=$(getApplication)
runApplication blockMesh
runApplication $application
( cd validation && ./createGraphs )
#------------------------------------------------------------------------------

View File

@ -1,42 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object chemistryProperties.gas;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
chemistryType
{
solver EulerImplicit;
}
chemistry on;
initialChemicalTimeStep 1e-07;
EulerImplicitCoeffs
{
cTauChem 1;
equilibriumRateLimiter off;
}
odeCoeffs
{
solver Rosenbrock43;
absTol 1e-8;
relTol 0.01;
}
#include "reactions.vapor"
// ************************************************************************* //

View File

@ -1,21 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object combustionProperties.vapor;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
combustionModel laminar;
// ************************************************************************* //

View File

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

View File

@ -1,191 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object phaseProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
type populationBalanceTwoPhaseSystem;
phases (particles vapor);
populationBalances (aggregates);
particles
{
type multiComponentPhaseModel;
diameterModel velocityGroup;
velocityGroupCoeffs
{
populationBalance aggregates;
shapeModel fractal;
fractalCoeffs
{
sinteringModel KochFriedlander;
KochFriedlanderCoeffs
{
Cs 8.3e24;
n 4.0;
m 1.0;
Ta 3700.0;
}
}
sizeGroups
(
f01{dSph 4.000E-10; value 1.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f02{dSph 5.769E-10; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f03{dSph 8.320E-10; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f04{dSph 1.200E-09; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f05{dSph 1.731E-09; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f06{dSph 2.496E-09; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f07{dSph 3.600E-09; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f08{dSph 5.192E-09; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f09{dSph 7.488E-09; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f10{dSph 1.080E-08; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f11{dSph 1.558E-08; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f12{dSph 2.246E-08; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f13{dSph 3.240E-08; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f14{dSph 4.673E-08; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f15{dSph 6.739E-08; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f16{dSph 9.720E-08; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f17{dSph 1.402E-07; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f18{dSph 2.022E-07; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f19{dSph 2.916E-07; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f20{dSph 4.206E-07; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f21{dSph 6.066E-07; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f22{dSph 8.748E-07; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f23{dSph 1.262E-06; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f24{dSph 1.820E-06; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f25{dSph 2.624E-06; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f26{dSph 3.785E-06; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f27{dSph 5.459E-06; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f28{dSph 7.873E-06; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
f29{dSph 1.136E-05; value 0.0; kappa 1.5E+10; Df 1.8; alphaC 1;}
);
}
Sct 1.0;
residualAlpha 1e-15;
}
vapor
{
type reactingPhaseModel;
diameterModel constant;
constantCoeffs
{
d 1;
}
Sct 1.0;
residualAlpha 1e-5;
}
populationBalanceCoeffs
{
aggregates
{
continuousPhase vapor;
coalescenceModels
(
DahnekeInterpolation{}
);
binaryBreakupModels
();
breakupModels
();
driftModels
();
nucleationModels
(
reactionDriven
{
nucleationDiameter 4E-10;
velocityGroup particles;
reactingPhase vapor;
specie TiO2;
}
);
}
}
blending
{
default
{
type none;
continuousPhase vapor;
}
}
interfaceCompression
();
surfaceTension
();
aspectRatio
();
drag
();
virtualMass
();
heatTransfer
(
(particles in vapor)
{
type timeScaleFiltered;
minRelaxTime 1e-4;
heatTransferModel
{
type constantNu;
Nu 1;
}
}
);
phaseTransfer
();
lift
();
wallLubrication
();
turbulentDispersion
();
// Minimum allowable pressure
pMin 10000;
// ************************************************************************* //

View File

@ -1,39 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
-------------------------------------------------------------------------------
Reference:
Akhtar, M. K., Xiong, Y., & Pratsinis, S. E. (1991).
Vapor synthesis of titania powder by titanium tetrachloride oxidation.
AIChE Journal, 37(10), 1561-1570.
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object reactions.vapor;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
reactions
{
oxidation
{
type irreversibleArrheniusReaction;
reaction "O2^0 + TiCl4 = TiO2 + 2Cl2";
A 8.29e4;
beta 0.0;
Ta 10680;
}
}
// ************************************************************************* //

View File

@ -1,157 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object thermo.vapor;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
species
(
O2
TiCl4
TiO2
Cl2
Ar
N2
);
// Data from NASA Technical Memorandum 4513
Ar
{
specie
{
molWeight 39.948;
}
thermodynamics
{
Tlow 200;
Thigh 6000;
Tcommon 1000;
highCpCoeffs ( 2.50000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 -7.4537500e+02 4.37967491e+00 );
lowCpCoeffs ( 2.50000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 -7.4537500e+02 4.37967491e+00 );
}
transport
{
As 2.038169524e-06;
Ts 165;
}
}
N2
{
specie
{
molWeight 28.0134;
}
thermodynamics
{
Tlow 0;
Thigh 5000;
Tcommon 1000;
highCpCoeffs ( 2.92664 0.00148798 -5.68476e-07 1.0097e-10 -6.75335e-15 -922.798 5.98053 );
lowCpCoeffs ( 3.29868 0.00140824 -3.96322e-06 5.64152e-09 -2.44485e-12 -1020.9 3.95037 );
}
transport
{
As 1.406732195e-06;
Ts 111;
}
}
O2
{
specie
{
molWeight 31.99825;
}
thermodynamics
{
Tlow 200;
Thigh 6000;
Tcommon 1000;
highCpCoeffs ( 3.66096083e+00 6.56365523e-04 -1.41149485e-07 2.05797658e-11 -1.29913248e-15 -1.21597725e+03 3.41536184e+00 );
lowCpCoeffs ( 3.78245636e+00 -2.99673415e-03 9.84730200e-06 -9.68129508e-09 3.24372836e-12 -1.06394356e+03 3.65767573e+00 );
}
transport
{
As 1.6934113e-06;
Ts 127;
}
}
TiCl4
{
specie
{
molWeight 189.6908;
}
thermodynamics
{
Tlow 280;
Thigh 5000;
Tcommon 1000;
highCpCoeffs ( 1.71426430e+01 1.09370870e-03 -1.06903110e-09 2.66167570e-13 -2.27944800e-17 -1.01880270e+05 -6.76401420e+01 );
lowCpCoeffs ( 1.70660420e+01 1.57771680e-03 -1.08703760e-06 1.03903080e-09 -3.60225300e-13 -1.01871340e+05 -6.73082280e+01 );
}
transport
{
As 1.6934113e-06; // Taken from oxygen
Ts 127;
}
}
TiO2
{
specie
{
molWeight 79.87880;
}
thermodynamics
{
Tlow 280;
Thigh 5000;
Tcommon 1000;
highCpCoeffs ( 6.84891510e+00 4.24634610e-03 -3.00889840e-06 1.06025190e-09 -1.43795970e-13 -1.15992460e+05 -3.45141060e+01 );
lowCpCoeffs ( -1.61175170e-01 3.79666600e-02 -6.51547500e-05 5.25521360e-08 -1.62000510e-11 -1.14788970e+05 -1.88740350e+00 );
}
transport
{
As 1.6934113e-06; // Taken from oxygen
Ts 127;
}
}
Cl2
{
specie
{
molWeight 70.90540;
}
thermodynamics
{
Tlow 200;
Thigh 6000;
Tcommon 1000;
highCpCoeffs ( 4.74727508e+00 -4.88581710e-04 2.68444871e-07 -2.43476083e-11 -1.03683148e-15 -1.51101862e+03 -3.44551305e-01 );
lowCpCoeffs ( 2.73638114e+00 7.83525799e-03 -1.45104963e-05 1.25730834e-08 -4.13247145e-12 -1.05880114e+03 9.44555879e+00 );
}
transport
{
As 1.6934113e-06; // Taken from oxygen
Ts 127;
}
}
// ************************************************************************* //

View File

@ -1,59 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object thermophysicalProperties.particles;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType
{
type heRhoThermo;
mixture multiComponentMixture;
transport const;
thermo janaf;
equationOfState rhoConst;
specie specie;
energy sensibleInternalEnergy;
}
species (TiO2);
inertSpecie TiO2;
TiO2
{
specie
{
molWeight 79.87880;
}
equationOfState
{
rho 4230;
}
thermodynamics
{
Tlow 280;
Thigh 5000;
Tcommon 1000;
highCpCoeffs ( 6.84891510e+00 4.24634610e-03 -3.00889840e-06 1.06025190e-09 -1.43795970e-13 -1.15992460e+05 -3.45141060e+01 );
lowCpCoeffs ( -1.61175170e-01 3.79666600e-02 -6.51547500e-05 5.25521360e-08 -1.62000510e-11 -1.14788970e+05 -1.88740350e+00 ); // Check heat capacities
}
transport
{
mu 1e-7;
Pr 8.0e-6;
}
}
// ************************************************************************* //

View File

@ -1,34 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object thermophysicalProperties.vapor;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType
{
type heRhoThermo;
mixture multiComponentMixture;
transport sutherland;
thermo janaf;
equationOfState perfectGas;
specie specie;
energy sensibleEnthalpy;
}
inertSpecie Ar;
#include "$FOAM_CASE/constant/thermo.vapor"
// ************************************************************************* //

View File

@ -1,21 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object turbulenceProperties.particles;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
simulationType laminar;
// ************************************************************************* //

View File

@ -1,21 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object turbulenceProperties.vapor;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
simulationType laminar;
// ************************************************************************* //

View File

@ -1,48 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 1;
vertices
(
(0 0 0)
(1 0 0)
(1 1 0)
(0 1 0)
(0 0 1)
(1 0 1)
(1 1 1)
(0 1 1)
);
blocks
(
hex (0 1 2 3 4 5 6 7) (1 1 1) simpleGrading (1 1 1)
);
edges
(
);
patches
(
);
mergePatchPairs
(
);
// ************************************************************************* //

View File

@ -1,79 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application reactingTwoPhaseEulerFoam;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 1.0;
deltaT 1e-3;
writeControl runTime;
writeInterval 1.0;
purgeWrite 0;
writeFormat ascii;
writePrecision 9;
writeCompression off;
timeFormat general;
timePrecision 8;
runTimeModifiable yes;
adjustTimeStep no;
maxCo 0.8;
maxDeltaT 0.01;
functions
{
#includeFunc probes
numberConcentration
{
type sizeDistribution;
functionObjectLibs ("libreactingEulerFoamFunctionObjects.so");
writeControl outputTime;
writeInterval 1;
log yes;
regionType all;
populationBalance aggregates;
functionType number;
coordinateType projectedAreaDiameter;
densityFunction yes;
normalize yes;
geometric yes;
}
}
// ************************************************************************* //

View File

@ -1,66 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
default Euler;
}
gradSchemes
{
default Gauss linear;
}
divSchemes
{
default none;
"div\(phi,alpha.*\)" Gauss vanLeer;
"div\(phir,alpha.*\)" Gauss vanLeer;
"div\(alphaRhoPhi.*,U.*\)" Gauss limitedLinearV 1;
"div\(phi.*,U.*\)" Gauss limitedLinearV 1;
"div\(alphaRhoPhi.*,(k|epsilon|h|e).*\)" Gauss limitedLinear 1;
"div\(alphaRhoPhi.*,K.*\)" Gauss limitedLinear 1;
"div\(alphaRhoPhi.*,Y.*\)" Gauss limitedLinear 1;
"div\(alphaPhi.*,p\)" Gauss limitedLinear 1;
"div\(alphaRhoPhi.*,f.*\)" Gauss upwind;
"div\(fAlphaRhoPhi.*,kappa.*\)" Gauss limitedLinear 1;
"div\(\(\(\(alpha.*\*thermo:rho.*\)\*nuEff.*\)\*dev2\(T\(grad\(U.*\)\)\)\)\)" Gauss linear;
}
laplacianSchemes
{
default Gauss linear corrected;
}
interpolationSchemes
{
default linear;
fi upwind alphaRhoPhi.particles;
}
snGradSchemes
{
default corrected;
}
// ************************************************************************* //

View File

@ -1,99 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
"alpha.*"
{
nAlphaCorr 1;
nAlphaSubCycles 1;
}
aggregates
{
nCorr 1;
tolerance 1e-4;
scale true;
sourceUpdateInterval 1;
solveOnFinalIterOnly false;
}
p_rgh
{
solver PCG;
preconditioner DIC;
tolerance 1e-7;
relTol 0;
maxIter 20;
}
p_rghFinal
{
$p_rgh;
relTol 0;
}
"(h|e).*"
{
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-7;
relTol 0;
minIter 1;
maxIter 10;
}
"(k|epsilon).*"
{
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-5;
relTol 0;
minIter 1;
}
"(Yi|f|kappa).*"
{
solver PBiCGStab;
preconditioner DILU;
tolerance 1e-7;
relTol 0;
residualAlpha 1e-5;
}
}
PIMPLE
{
nOuterCorrectors 1;
nCorrectors 1;
nEnergyCorrectors 1;
nNonOrthogonalCorrectors 0;
pRefCell 0;
pRefValue 1e5;
}
relaxationFactors
{
equations
{
".*" 1.0;
}
}
// ************************************************************************* //

View File

@ -1,28 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
-------------------------------------------------------------------------------
Description
Writes out values of fields from cells nearest to specified locations.
\*---------------------------------------------------------------------------*/
#includeEtc "caseDicts/postProcessing/probes/probes.cfg"
fields
(
alpha.particles
TiCl4.vapor
O2.vapor
Cl2.vapor
);
probeLocations
(
(0.5 0.5 0.5)
);
// ************************************************************************* //

View File

@ -1,49 +0,0 @@
#!/bin/sh
if ! which gnuplot > /dev/null 2>&1
then
echo 'gnuplot not found - skipping graph creation' >&2
exit 1
fi
gnuplot<<EOF
set terminal postscript eps color enhanced font "Helvetica,20"
set output '../species.eps'
set xlabel 't (s)'
set ylabel 'Y (-)'
set y2label '{/Symbol a} (-)'
set ytics nomirror
set y2tics nomirror
set key center
dir = '../postProcessing/probes/0'
plot ''.dir.'/TiCl4.vapor' w l t 'TiCl4',\
''.dir.'/O2.vapor' w l t 'O2',\
''.dir.'/Cl2.vapor' w l t 'Cl2',\
''.dir.'/alpha.particles' axis x1y2 w l t '{/Symbol a}_{particles}'
EOF
gnuplot<<EOF
set terminal postscript eps color enhanced font "Helvetica,20"
set output '../sizeDistribution.eps'
set xlabel 'Mobility diameter ({/Symbol m}m)'
set ylabel 'N_i/N_t/{/Symbol D}ln d'
set y2label '{/Symbol k} (m^{-1})'
set logscale xyy2
set tics format '%1.e'
set ytics nomirror
set y2tics nomirror
set xrange [1e-3:1]
set yrange [1e-3:3]
result = system("ls ../postProcessing/numberConcentration/$(foamListTimes -case .. | tail -1)/numberConcentration.dat")
plot result u (\$3/1e-6):4 w lp t 'Size distribution',\
result u (\$3/1e-6):(\$2/\$1) axis x1y2 w l t '{/Symbol k}',\
result u (\$3/1e-6):(6./((6./pi*\$1)**(1./3.))) axis x1y2 w l t '{/Symbol k} lower bound'
EOF
#------------------------------------------------------------------------------