mirror of
https://github.com/ParticulateFlow/CFDEMcoupling-PFM.git
synced 2025-12-08 06:37:44 +00:00
Modify Case for GOD0k1 30CO6H2
..updated it to the latest version of LIGGGHTS and CFDEMcoupling.
This commit is contained in:
@ -1,8 +1,9 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
#===================================================================#
|
#===================================================================#
|
||||||
# allrun script for testcase
|
# allrun script for testcase as part of test routine
|
||||||
# M. Efe Kinaci - Sep 2018
|
# run settlingTest
|
||||||
|
# Christoph Goniva - Sept. 2010
|
||||||
#===================================================================#
|
#===================================================================#
|
||||||
|
|
||||||
#- source CFDEM env vars
|
#- source CFDEM env vars
|
||||||
|
|||||||
@ -17,7 +17,7 @@ FoamFile
|
|||||||
|
|
||||||
dimensions [0 0 0 0 0 0 0];
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
internalField uniform 0.31018; // 30%;
|
internalField uniform 0.3101580355;
|
||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
@ -38,8 +38,8 @@ boundaryField
|
|||||||
|
|
||||||
inlet
|
inlet
|
||||||
{
|
{
|
||||||
type fixedValue;
|
type fixedValue;
|
||||||
value uniform 0.31018;
|
value uniform 0.3101580355;
|
||||||
}
|
}
|
||||||
|
|
||||||
outlet
|
outlet
|
||||||
|
|||||||
@ -17,7 +17,7 @@ FoamFile
|
|||||||
|
|
||||||
dimensions [0 0 0 0 0 0 0];
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
internalField uniform 0.064981; // 4%;
|
internalField uniform 0.0649770565;
|
||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
@ -38,8 +38,8 @@ boundaryField
|
|||||||
|
|
||||||
inlet
|
inlet
|
||||||
{
|
{
|
||||||
type fixedValue;
|
type fixedValue;
|
||||||
value uniform 0.064981;
|
value uniform 0.0649770565;
|
||||||
}
|
}
|
||||||
|
|
||||||
outlet
|
outlet
|
||||||
|
|||||||
@ -17,7 +17,7 @@ FoamFile
|
|||||||
|
|
||||||
dimensions [0 0 0 0 0 0 0];
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
internalField uniform 0.0044638; //6%;
|
internalField uniform 0.0044735397;
|
||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
@ -38,8 +38,8 @@ boundaryField
|
|||||||
|
|
||||||
inlet
|
inlet
|
||||||
{
|
{
|
||||||
type fixedValue;
|
type fixedValue;
|
||||||
value uniform 0.0044638;
|
value uniform 0.0044735397;
|
||||||
}
|
}
|
||||||
|
|
||||||
outlet
|
outlet
|
||||||
|
|||||||
@ -17,7 +17,7 @@ FoamFile
|
|||||||
|
|
||||||
dimensions [0 0 0 0 0 0 0];
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
internalField uniform 0.00001;
|
internalField uniform 0.0;
|
||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
@ -38,8 +38,7 @@ boundaryField
|
|||||||
|
|
||||||
inlet
|
inlet
|
||||||
{
|
{
|
||||||
type fixedValue;
|
type zeroGradient;
|
||||||
value uniform 0.00001;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
outlet
|
outlet
|
||||||
|
|||||||
@ -17,7 +17,7 @@ FoamFile
|
|||||||
|
|
||||||
dimensions [0 0 0 0 0 0 0];
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
internalField uniform 0.62036; //60 %;
|
internalField uniform 0.6203913683;
|
||||||
|
|
||||||
boundaryField
|
boundaryField
|
||||||
{
|
{
|
||||||
@ -39,7 +39,7 @@ boundaryField
|
|||||||
inlet
|
inlet
|
||||||
{
|
{
|
||||||
type fixedValue;
|
type fixedValue;
|
||||||
value uniform 0.62036;
|
value uniform 0.6203913683;
|
||||||
}
|
}
|
||||||
|
|
||||||
outlet
|
outlet
|
||||||
|
|||||||
@ -38,7 +38,8 @@ boundaryField
|
|||||||
|
|
||||||
inlet
|
inlet
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type fixedValue;
|
||||||
|
value uniform 1223.15;
|
||||||
}
|
}
|
||||||
|
|
||||||
outlet
|
outlet
|
||||||
|
|||||||
@ -23,15 +23,15 @@ boundaryField
|
|||||||
{
|
{
|
||||||
top
|
top
|
||||||
{
|
{
|
||||||
type slip;
|
type zeroGradient;
|
||||||
}
|
}
|
||||||
bottom
|
bottom
|
||||||
{
|
{
|
||||||
type slip;
|
type zeroGradient;
|
||||||
}
|
}
|
||||||
side-walls
|
side-walls
|
||||||
{
|
{
|
||||||
type slip;
|
type zeroGradient;
|
||||||
}
|
}
|
||||||
inlet
|
inlet
|
||||||
{
|
{
|
||||||
|
|||||||
@ -23,15 +23,15 @@ boundaryField
|
|||||||
{
|
{
|
||||||
top
|
top
|
||||||
{
|
{
|
||||||
type slip;
|
type zeroGradient;
|
||||||
}
|
}
|
||||||
bottom
|
bottom
|
||||||
{
|
{
|
||||||
type slip;
|
type zeroGradient;
|
||||||
}
|
}
|
||||||
side-walls
|
side-walls
|
||||||
{
|
{
|
||||||
type slip;
|
type zeroGradient;
|
||||||
}
|
}
|
||||||
inlet
|
inlet
|
||||||
{
|
{
|
||||||
|
|||||||
@ -23,17 +23,17 @@ boundaryField
|
|||||||
{
|
{
|
||||||
top
|
top
|
||||||
{
|
{
|
||||||
type slip;
|
type zeroGradient;
|
||||||
}
|
}
|
||||||
|
|
||||||
bottom
|
bottom
|
||||||
{
|
{
|
||||||
type slip;
|
type zeroGradient;
|
||||||
}
|
}
|
||||||
|
|
||||||
side-walls
|
side-walls
|
||||||
{
|
{
|
||||||
type slip;
|
type zeroGradient;
|
||||||
}
|
}
|
||||||
|
|
||||||
inlet
|
inlet
|
||||||
|
|||||||
@ -38,7 +38,8 @@ boundaryField
|
|||||||
|
|
||||||
inlet
|
inlet
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type fixedValue;
|
||||||
|
value $internalField;
|
||||||
}
|
}
|
||||||
|
|
||||||
outlet
|
outlet
|
||||||
|
|||||||
@ -17,6 +17,7 @@ FoamFile
|
|||||||
|
|
||||||
chemistry off; //on;
|
chemistry off; //on;
|
||||||
|
|
||||||
|
/*
|
||||||
chemistryType
|
chemistryType
|
||||||
{
|
{
|
||||||
chemistrySolver ode;
|
chemistrySolver ode;
|
||||||
@ -35,7 +36,7 @@ odeCoeffs
|
|||||||
{
|
{
|
||||||
solver seulex;
|
solver seulex;
|
||||||
eps 0.05;
|
eps 0.05;
|
||||||
}
|
} */
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -15,7 +15,7 @@ FoamFile
|
|||||||
}
|
}
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
combustionModel PaSR<rhoChemistryCombustion>;
|
combustionModel noCombustion<rhoThermoCombustion>; //PaSR<rhoChemistryCombustion>; //PaSR<psiChemistryCombustion>;
|
||||||
|
|
||||||
active false; //true;
|
active false; //true;
|
||||||
|
|
||||||
@ -23,6 +23,7 @@ noCombustionCoeffs
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
PaSRCoeffs
|
PaSRCoeffs
|
||||||
{
|
{
|
||||||
Cmix 1.0;
|
Cmix 1.0;
|
||||||
|
|||||||
@ -26,16 +26,13 @@ FoamFile
|
|||||||
//===========================================================================//
|
//===========================================================================//
|
||||||
// sub-models & settings
|
// sub-models & settings
|
||||||
|
|
||||||
//syncMode false;
|
|
||||||
//verbose;
|
|
||||||
|
|
||||||
modelType "A"; // A or B
|
modelType "A"; // A or B
|
||||||
|
|
||||||
couplingInterval 100;
|
couplingInterval 50;
|
||||||
|
|
||||||
voidFractionModel divided;//centre;//
|
voidFractionModel divided;//centre;//
|
||||||
|
|
||||||
locateModel engine;//turboEngineM2M;//
|
locateModel engine; //turboEngineM2M;//
|
||||||
|
|
||||||
meshMotionModel noMeshMotion;
|
meshMotionModel noMeshMotion;
|
||||||
|
|
||||||
@ -49,36 +46,24 @@ dataExchangeModel twoWayMPI;//twoWayM2M;//twoWayFiles;//oneWayVTK;//
|
|||||||
|
|
||||||
averagingModel dilute; //dense;////
|
averagingModel dilute; //dense;////
|
||||||
|
|
||||||
clockModel off; //standardClock;//off;
|
clockModel off;//standardClock;//off;
|
||||||
|
|
||||||
smoothingModel off; //localPSizeDiffSmoothing;// constDiffSmoothing; //
|
smoothingModel off;// localPSizeDiffSmoothing;// constDiffSmoothing; //
|
||||||
|
|
||||||
forceModels
|
forceModels
|
||||||
(
|
(
|
||||||
//GidaspowDrag
|
GidaspowDrag
|
||||||
//BeetstraDrag
|
|
||||||
//DiFeliceDrag
|
|
||||||
gradPForce
|
gradPForce
|
||||||
viscForce
|
viscForce
|
||||||
// KochHillDrag
|
|
||||||
//DEMbasedDrag
|
|
||||||
//RongDrag
|
|
||||||
//Archimedes
|
|
||||||
//volWeightedAverage
|
|
||||||
//totalMomentumExchange
|
|
||||||
//particleCellVolume
|
|
||||||
//fieldTimeAverage
|
|
||||||
//LaEuScalarTemp
|
|
||||||
);
|
);
|
||||||
|
|
||||||
energyModels
|
energyModels
|
||||||
(
|
(
|
||||||
//energyModel
|
heatTransferGunn
|
||||||
//heatTransferGunn
|
reactionHeat
|
||||||
//reactionHeat
|
|
||||||
);
|
);
|
||||||
|
|
||||||
thermCondModel off;//SyamlalThermCond;//thermCondModel;
|
thermCondModel SyamlalThermCond;
|
||||||
|
|
||||||
chemistryModels
|
chemistryModels
|
||||||
(
|
(
|
||||||
@ -100,19 +85,33 @@ turbulenceModelType "turbulenceProperties";//"LESProperties";//
|
|||||||
reactionHeatProps
|
reactionHeatProps
|
||||||
{
|
{
|
||||||
reactionHeatName "reactionHeat";
|
reactionHeatName "reactionHeat";
|
||||||
|
verbose false;
|
||||||
|
}
|
||||||
|
|
||||||
|
heatTransferGunnProps
|
||||||
|
{
|
||||||
|
partTempName "Temp";
|
||||||
|
partHeatFluxName "convectiveHeatFlux";
|
||||||
|
calcPartTempField true;
|
||||||
|
partRefTemp 1223.15;
|
||||||
|
implicit true;
|
||||||
|
verbose false;
|
||||||
|
interpolation false;
|
||||||
}
|
}
|
||||||
|
|
||||||
speciesProps
|
speciesProps
|
||||||
{
|
{
|
||||||
ChemistryFile "$FOAM_CASE/constant/foam.inp";
|
ChemistryFile "$casePath/CFD/constant/foam.inp";
|
||||||
Nevery 1;
|
Nevery 1;
|
||||||
verbose true;
|
verbose false;
|
||||||
|
interpolation false;
|
||||||
}
|
}
|
||||||
|
|
||||||
diffusionCoefficientsProps
|
diffusionCoefficientsProps
|
||||||
{
|
{
|
||||||
verbose false;
|
verbose false;
|
||||||
ChemistryFile "$FOAM_CASE/constant/foam.inp";
|
interpolation false;
|
||||||
|
ChemistryFile "$casePath/CFD/constant/foam.inp";
|
||||||
diffusantGasNames ( CO
|
diffusantGasNames ( CO
|
||||||
H2
|
H2
|
||||||
);
|
);
|
||||||
@ -121,8 +120,14 @@ diffusionCoefficientsProps
|
|||||||
massTransferCoeffProps
|
massTransferCoeffProps
|
||||||
{
|
{
|
||||||
verbose false;
|
verbose false;
|
||||||
|
interpolation false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
reactantPerParticleProps
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
SyamlalThermCondProps
|
SyamlalThermCondProps
|
||||||
{
|
{
|
||||||
voidfractionFieldName "voidfraction";
|
voidfractionFieldName "voidfraction";
|
||||||
@ -207,9 +212,32 @@ GidaspowDragProps
|
|||||||
{
|
{
|
||||||
verbose true;
|
verbose true;
|
||||||
velFieldName "U";
|
velFieldName "U";
|
||||||
|
granVelFieldName "Us";
|
||||||
voidfractionFieldName "voidfraction";
|
voidfractionFieldName "voidfraction";
|
||||||
interpolation true;
|
interpolation true; //interpolation is on
|
||||||
phi 1;
|
phi 1;
|
||||||
|
//implForceDEM true;
|
||||||
|
//implForceDEMaccumulated true;
|
||||||
|
//explicitCorr true;
|
||||||
|
}
|
||||||
|
|
||||||
|
BeetstraDragProps
|
||||||
|
{
|
||||||
|
velFieldName "U";
|
||||||
|
granVelFieldName "Us";
|
||||||
|
gravityFieldName "g";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
interpolation false;
|
||||||
|
useFilteredDragModel ;
|
||||||
|
useParcelSizeDependentFilteredDrag ;
|
||||||
|
rhoP 4630.;
|
||||||
|
dPrim 0.00022;
|
||||||
|
rho 1.58;
|
||||||
|
nuf 1.126e-05;
|
||||||
|
g 9.81;
|
||||||
|
k 0.05;
|
||||||
|
aLimit 0.0;
|
||||||
|
verbose false;
|
||||||
}
|
}
|
||||||
|
|
||||||
DEMbasedDragProps
|
DEMbasedDragProps
|
||||||
@ -224,7 +252,7 @@ DiFeliceDragProps
|
|||||||
velFieldName "U";
|
velFieldName "U";
|
||||||
voidfractionFieldName "voidfraction";
|
voidfractionFieldName "voidfraction";
|
||||||
granVelFieldName "Us";
|
granVelFieldName "Us";
|
||||||
interpolation true;
|
interpolation false;
|
||||||
}
|
}
|
||||||
|
|
||||||
KochHillDragProps
|
KochHillDragProps
|
||||||
@ -232,7 +260,7 @@ KochHillDragProps
|
|||||||
verbose true;
|
verbose true;
|
||||||
velFieldName "U";
|
velFieldName "U";
|
||||||
voidfractionFieldName "voidfraction";
|
voidfractionFieldName "voidfraction";
|
||||||
interpolation true;
|
interpolation false;
|
||||||
//forceSubModels
|
//forceSubModels
|
||||||
//(
|
//(
|
||||||
// ImExCorr
|
// ImExCorr
|
||||||
@ -242,26 +270,12 @@ KochHillDragProps
|
|||||||
//explicitCorr true;
|
//explicitCorr true;
|
||||||
}
|
}
|
||||||
|
|
||||||
BeetstraDragProps
|
|
||||||
{
|
|
||||||
velFieldName "U";
|
|
||||||
gravityFieldName "g";
|
|
||||||
rhoParticle 2000.;
|
|
||||||
voidfractionFieldName "voidfraction";
|
|
||||||
interpolation ;
|
|
||||||
useFilteredDragModel ;
|
|
||||||
useParcelSizeDependentFilteredDrag ;
|
|
||||||
k 0.05;
|
|
||||||
aLimit 0.0;
|
|
||||||
// verbose true;
|
|
||||||
}
|
|
||||||
|
|
||||||
RongDragProps
|
RongDragProps
|
||||||
{
|
{
|
||||||
verbose true;
|
verbose true;
|
||||||
velFieldName "U";
|
velFieldName "U";
|
||||||
voidfractionFieldName "voidfraction";
|
voidfractionFieldName "voidfraction";
|
||||||
interpolation true;
|
interpolation false;
|
||||||
implForceDEM true;
|
implForceDEM true;
|
||||||
implForceDEMaccumulated true;
|
implForceDEMaccumulated true;
|
||||||
granVelFieldName "Us";
|
granVelFieldName "Us";
|
||||||
@ -312,6 +326,11 @@ engineProps
|
|||||||
treeSearch true;
|
treeSearch true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
turboEngineProps
|
||||||
|
{
|
||||||
|
treeSearch true;
|
||||||
|
}
|
||||||
|
|
||||||
turboEngineM2MProps
|
turboEngineM2MProps
|
||||||
{
|
{
|
||||||
turboEngineProps
|
turboEngineProps
|
||||||
|
|||||||
@ -23,18 +23,52 @@ H2
|
|||||||
}
|
}
|
||||||
thermodynamics
|
thermodynamics
|
||||||
{
|
{
|
||||||
Tlow 200;
|
Cp 15016.8;
|
||||||
Thigh 1700;
|
Hf 2.544e+06;
|
||||||
Tcommon 1000;
|
|
||||||
highCpCoeffs ( 2.932831E+00 8.265980E-04 -1.464006E-07 1.540985E-11 -6.887962E-16 -8.130558E+02 -1.024316E+00);
|
|
||||||
lowCpCoeffs ( 2.344303E+00 7.980425E-03 -1.947792E-05 2.015697E-08 -7.376029E-12 -9.179241E+02 6.830022E-01);
|
|
||||||
}
|
}
|
||||||
transport
|
transport
|
||||||
{
|
{
|
||||||
As 1.67212e-06;
|
mu 8.42e-05;
|
||||||
Ts 170.672;
|
Pr 0.76;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
H2O
|
||||||
|
{
|
||||||
|
specie
|
||||||
|
{
|
||||||
|
nMoles 1;
|
||||||
|
molWeight 18.015;
|
||||||
|
}
|
||||||
|
thermodynamics
|
||||||
|
{
|
||||||
|
Cp 2304.1;
|
||||||
|
Hf 2.544e+06;
|
||||||
|
}
|
||||||
|
transport
|
||||||
|
{
|
||||||
|
mu 1.7e-05;
|
||||||
|
Pr 0.99;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
CO
|
||||||
|
{
|
||||||
|
specie
|
||||||
|
{
|
||||||
|
nMoles 1;
|
||||||
|
molWeight 28.01;
|
||||||
|
}
|
||||||
|
thermodynamics
|
||||||
|
{
|
||||||
|
Cp 1189.14;
|
||||||
|
Hf 2.544e+06;
|
||||||
|
}
|
||||||
|
transport
|
||||||
|
{
|
||||||
|
mu 1.66e-05;
|
||||||
|
Pr 0.792;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
CO2
|
CO2
|
||||||
{
|
{
|
||||||
@ -45,38 +79,13 @@ CO2
|
|||||||
}
|
}
|
||||||
thermodynamics
|
thermodynamics
|
||||||
{
|
{
|
||||||
Tlow 200;
|
Cp 1239.98;
|
||||||
Thigh 6000;
|
Hf 2.544e+06;
|
||||||
Tcommon 1000;
|
|
||||||
highCpCoeffs ( 4.636511E+00 2.741457E-03 -9.958976E-07 1.603867E-10 -9.161986E-15 -4.902490E+04 -1.934896E+00 );
|
|
||||||
lowCpCoeffs ( 2.356813E+00 8.984130E-03 -7.122063E-06 2.457301E-09 -1.428855E-13 -4.837197E+04 9.900904E+00 );
|
|
||||||
}
|
}
|
||||||
transport
|
transport
|
||||||
{
|
{
|
||||||
As 1.67212e-06;
|
mu 1.37e-05;
|
||||||
Ts 170.672;
|
Pr 0.69;
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
O2
|
|
||||||
{
|
|
||||||
specie
|
|
||||||
{
|
|
||||||
nMoles 1;
|
|
||||||
molWeight 31.9988;
|
|
||||||
}
|
|
||||||
thermodynamics
|
|
||||||
{
|
|
||||||
Tlow 200;
|
|
||||||
Thigh 5000;
|
|
||||||
Tcommon 1000;
|
|
||||||
highCpCoeffs ( 3.28254 0.00148309 -7.57967e-07 2.09471e-10 -2.16718e-14 -1088.46 5.45323 );
|
|
||||||
lowCpCoeffs ( 3.78246 -0.00299673 9.8473e-06 -9.6813e-09 3.24373e-12 -1063.94 3.65768 );
|
|
||||||
}
|
|
||||||
transport
|
|
||||||
{
|
|
||||||
As 1.67212e-06;
|
|
||||||
Ts 170.672;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -89,62 +98,14 @@ N2
|
|||||||
}
|
}
|
||||||
thermodynamics
|
thermodynamics
|
||||||
{
|
{
|
||||||
Tlow 200;
|
Cp 1171.6;
|
||||||
Thigh 6000;
|
Hf 2.544e+06;
|
||||||
Tcommon 1000;
|
|
||||||
highCpCoeffs ( 2.952541E+00 1.396884E-03 -4.926258E-07 7.860009E-11 -4.607498E-15 -9.239375E+02 5.871822E+00 );
|
|
||||||
lowCpCoeffs ( 3.530963E+00 -1.236595E-04 -5.029934E-07 2.435277E-09 -1.408795E-12 -1.046964E+03 2.967439E+00 );
|
|
||||||
}
|
}
|
||||||
transport
|
transport
|
||||||
{
|
{
|
||||||
As 1.67212e-06;
|
mu 1.66e-05;
|
||||||
Ts 170.672;
|
Pr 0.69;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// added CO - Thermo data from combustion.berkeley.edu/gri-mech/data/species/thermo.dat
|
|
||||||
CO
|
|
||||||
{
|
|
||||||
specie
|
|
||||||
{
|
|
||||||
nMoles 1;
|
|
||||||
molWeight 28.01;
|
|
||||||
}
|
|
||||||
thermodynamics
|
|
||||||
{
|
|
||||||
Tlow 200;
|
|
||||||
Thigh 6000;
|
|
||||||
Tcommon 1000;
|
|
||||||
highCpCoeffs ( 3.048486E+00 1.351728E-03 -4.857941E-07 7.885364E-11 -4.698075E-15 -1.426612E+04 6.017098E+00 );
|
|
||||||
lowCpCoeffs ( 3.579534E+00 -6.103537E-04 1.016814E-06 9.070059E-10 -9.044245E-13 -1.434409E+04 3.508409E+00 );
|
|
||||||
}
|
|
||||||
transport
|
|
||||||
{
|
|
||||||
As 1.67212e-06;
|
|
||||||
Ts 170.672;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
H2O
|
|
||||||
{
|
|
||||||
specie
|
|
||||||
{
|
|
||||||
nMoles 1;
|
|
||||||
molWeight 18.015;
|
|
||||||
}
|
|
||||||
thermodynamics
|
|
||||||
{
|
|
||||||
Tlow 200;
|
|
||||||
Thigh 1700;
|
|
||||||
Tcommon 1000;
|
|
||||||
highCpCoeffs ( 3.03399249E+00 2.17691804E-03 -1.64072518E-07 -9.70419870E-11 1.68200992E-14 -3.00042971E+04 4.96677010E+00);
|
|
||||||
lowCpCoeffs ( 4.19864056E+00 -2.03643410E-03 6.52040211E-06 -5.48797062E-09 1.77197817E-12 -3.02937267E+04 -8.49032208E-01 );
|
|
||||||
}
|
|
||||||
transport
|
|
||||||
{
|
|
||||||
As 1.67212e-06;
|
|
||||||
Ts 170.672;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -16,7 +16,7 @@ FoamFile
|
|||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
dimensions [0 1 -2 0 0 0 0];
|
dimensions [0 1 -2 0 0 0 0];
|
||||||
value ( 0 0 0 ); //value ( 0 -9.81 0 );
|
value ( 0 -9.81 0 );
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -37,7 +37,7 @@ liggghtsCommandModels
|
|||||||
|
|
||||||
writeLiggghtsProps
|
writeLiggghtsProps
|
||||||
{
|
{
|
||||||
writeLast off;
|
writeLast on;
|
||||||
writeName "post/restart/liggghts.restartCFDEM";
|
writeName "post/restart/liggghts.restartCFDEM";
|
||||||
overwrite on;
|
overwrite on;
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
@ -0,0 +1,153 @@
|
|||||||
|
// blockMesh : Block mesh description file
|
||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.3.0 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "constant/polyMesh";
|
||||||
|
object blockMeshDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
changecom(//)changequote([,])
|
||||||
|
define(calc, [esyscmd(perl -e 'printf ($1)')])
|
||||||
|
define(VCOUNT, 0)
|
||||||
|
define(vlabel, [[// ]Vertex $1 = VCOUNT define($1, VCOUNT)define([VCOUNT], incr(VCOUNT))])
|
||||||
|
|
||||||
|
|
||||||
|
meshGenApp blockMesh;
|
||||||
|
convertToMeters 1;
|
||||||
|
|
||||||
|
define(D, 0.075) //75 mm column diameter
|
||||||
|
define(L, 0.15) //150 mm length
|
||||||
|
define(PI, 3.14159265)
|
||||||
|
|
||||||
|
define(R, calc(D/2))
|
||||||
|
define(CW, calc(D/4)) //Width of middle square section
|
||||||
|
|
||||||
|
define(CX, calc(R*cos((PI/180)*45)))
|
||||||
|
define(CZ, calc(R*sin((PI/180)*45)))
|
||||||
|
|
||||||
|
define(NPS, 4) //how many cells in the square section
|
||||||
|
define(NPD, 2) //how many cells from square section to perimeter
|
||||||
|
define(NPY, 15) // how many cells from top to bottom
|
||||||
|
|
||||||
|
vertices
|
||||||
|
(
|
||||||
|
( CW 0.0 CW) vlabel(fiveoclocksqb)
|
||||||
|
(-CW 0.0 CW) vlabel(sevenoclocksqb)
|
||||||
|
(-CW 0.0 -CW) vlabel(elevenoclocksqb)
|
||||||
|
( CW 0.0 -CW) vlabel(oneoclocksqb)
|
||||||
|
|
||||||
|
( CX 0.0 CZ) vlabel(fiveoclockcb)
|
||||||
|
(-CX 0.0 CZ) vlabel(sevenoclockcb)
|
||||||
|
(-CX 0.0 -CZ) vlabel(elevenoclockcb)
|
||||||
|
( CX 0.0 -CZ) vlabel(oneoclockcb)
|
||||||
|
|
||||||
|
( CW L CW) vlabel(fiveoclocksqt)
|
||||||
|
(-CW L CW) vlabel(sevenoclocksqt)
|
||||||
|
(-CW L -CW) vlabel(elevenoclocksqt)
|
||||||
|
( CW L -CW) vlabel(oneoclocksqt)
|
||||||
|
|
||||||
|
( CX L CZ) vlabel(fiveoclockct)
|
||||||
|
(-CX L CZ) vlabel(sevenoclockct)
|
||||||
|
(-CX L -CZ) vlabel(elevenoclockct)
|
||||||
|
( CX L -CZ) vlabel(oneoclockct)
|
||||||
|
);
|
||||||
|
|
||||||
|
blocks
|
||||||
|
(
|
||||||
|
//square block
|
||||||
|
hex (
|
||||||
|
sevenoclocksqb fiveoclocksqb oneoclocksqb elevenoclocksqb
|
||||||
|
sevenoclocksqt fiveoclocksqt oneoclocksqt elevenoclocksqt
|
||||||
|
)
|
||||||
|
(NPS NPS NPY)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
//slice1
|
||||||
|
hex (
|
||||||
|
sevenoclockcb fiveoclockcb fiveoclocksqb sevenoclocksqb
|
||||||
|
sevenoclockct fiveoclockct fiveoclocksqt sevenoclocksqt
|
||||||
|
)
|
||||||
|
(NPS NPD NPY)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
//slice2
|
||||||
|
hex (
|
||||||
|
sevenoclocksqb elevenoclocksqb elevenoclockcb sevenoclockcb
|
||||||
|
sevenoclocksqt elevenoclocksqt elevenoclockct sevenoclockct
|
||||||
|
)
|
||||||
|
(NPS NPD NPY)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
//slice3
|
||||||
|
hex (
|
||||||
|
elevenoclocksqb oneoclocksqb oneoclockcb elevenoclockcb
|
||||||
|
elevenoclocksqt oneoclocksqt oneoclockct elevenoclockct
|
||||||
|
)
|
||||||
|
(NPS NPD NPY)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
//slice4
|
||||||
|
hex (
|
||||||
|
oneoclocksqb fiveoclocksqb fiveoclockcb oneoclockcb
|
||||||
|
oneoclocksqt fiveoclocksqt fiveoclockct oneoclockct
|
||||||
|
)
|
||||||
|
(NPS NPD NPY)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
//create the quarter circles
|
||||||
|
edges
|
||||||
|
(
|
||||||
|
arc fiveoclockcb sevenoclockcb (0.0 0.0 R)
|
||||||
|
arc sevenoclockcb elevenoclockcb (-R 0.0 0.0)
|
||||||
|
arc elevenoclockcb oneoclockcb (0.0 0.0 -R)
|
||||||
|
arc oneoclockcb fiveoclockcb (R 0.0 0.0)
|
||||||
|
|
||||||
|
arc fiveoclockct sevenoclockct (0.0 L R)
|
||||||
|
arc sevenoclockct elevenoclockct (-R L 0.0)
|
||||||
|
arc elevenoclockct oneoclockct (0.0 L -R)
|
||||||
|
arc oneoclockct fiveoclockct (R L 0.0)
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
patches
|
||||||
|
(
|
||||||
|
patch inlet
|
||||||
|
(
|
||||||
|
(fiveoclocksqb oneoclocksqb elevenoclocksqb sevenoclocksqb)
|
||||||
|
(fiveoclocksqb fiveoclockcb oneoclockcb oneoclocksqb)
|
||||||
|
(fiveoclockcb fiveoclocksqb sevenoclocksqb sevenoclockcb)
|
||||||
|
(sevenoclocksqb elevenoclocksqb elevenoclockcb sevenoclockcb)
|
||||||
|
(oneoclocksqb oneoclockcb elevenoclockcb elevenoclocksqb)
|
||||||
|
)
|
||||||
|
|
||||||
|
patch outlet
|
||||||
|
(
|
||||||
|
(fiveoclocksqt oneoclocksqt elevenoclocksqt sevenoclocksqt)
|
||||||
|
(fiveoclocksqt fiveoclockct oneoclockct oneoclocksqt)
|
||||||
|
(fiveoclockct fiveoclocksqt sevenoclocksqt sevenoclockct)
|
||||||
|
(sevenoclocksqt elevenoclocksqt elevenoclockct sevenoclockct)
|
||||||
|
(oneoclocksqt oneoclockct elevenoclockct elevenoclocksqt)
|
||||||
|
)
|
||||||
|
|
||||||
|
wall wall
|
||||||
|
(
|
||||||
|
(sevenoclockcb fiveoclockcb fiveoclockct sevenoclockct)
|
||||||
|
(sevenoclockcb sevenoclockct elevenoclockct elevenoclockcb)
|
||||||
|
(elevenoclockcb elevenoclockct oneoclockct oneoclockcb)
|
||||||
|
(oneoclockcb oneoclockct fiveoclockct fiveoclockcb)
|
||||||
|
)
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
@ -17,50 +17,21 @@ FoamFile
|
|||||||
|
|
||||||
thermoType
|
thermoType
|
||||||
{
|
{
|
||||||
type heRhoThermo;
|
type heRhoThermo; //hePsiThermo; //
|
||||||
mixture reactingMixture; //species and reactions are listed in chemistry file
|
mixture reactingMixture; //species and reactions are listed in chemistry file
|
||||||
transport sutherland; //calcualtes viscosity as a function of temperature from Stuherland coefficient As and Ts
|
transport const; //sutherland; //calcualtes viscosity as a function of temperature from Stuherland coefficient As and Ts
|
||||||
thermo janaf;
|
thermo hConst; //janaf;
|
||||||
energy sensibleEnthalpy; //uses enthaly in the solution
|
equationOfState perfectGas;
|
||||||
equationOfState perfectGas;
|
energy sensibleInternalEnergy; //sensibleEnthalpy; //uses enthaly in the solution
|
||||||
specie specie;
|
specie specie;
|
||||||
}
|
}
|
||||||
|
|
||||||
chemistryReader foamChemistryReader;
|
chemistryReader foamChemistryReader;
|
||||||
|
|
||||||
foamChemistryThermoFile "$FOAM_CASE/constant/foam.dat";
|
foamChemistryThermoFile "$casePath/CFD/constant/foam.dat";
|
||||||
|
|
||||||
foamChemistryFile "$FOAM_CASE/constant/foam.inp";
|
foamChemistryFile "$casePath/CFD/constant/foam.inp";
|
||||||
|
|
||||||
inertSpecie N2;
|
inertSpecie N2;
|
||||||
/*liquids
|
|
||||||
{
|
|
||||||
H2O
|
|
||||||
{
|
|
||||||
defaultCoeffs yes;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
solids
|
|
||||||
{
|
|
||||||
C
|
|
||||||
{
|
|
||||||
defaultCoeffs no;
|
|
||||||
// if defaultCoeffs no properties should be :
|
|
||||||
CCoeffs
|
|
||||||
{
|
|
||||||
rho 2010;
|
|
||||||
Cp 710;
|
|
||||||
K 0.04;
|
|
||||||
Hf 0;
|
|
||||||
emissivity 1.0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ash
|
|
||||||
{
|
|
||||||
defaultCoeffs yes;
|
|
||||||
}
|
|
||||||
} */
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -19,9 +19,10 @@ transportModel Newtonian;
|
|||||||
|
|
||||||
nu nu [ 0 2 -1 0 0 0 0 ] 1.4117e-05; // kinematic viscosity of gas mixture
|
nu nu [ 0 2 -1 0 0 0 0 ] 1.4117e-05; // kinematic viscosity of gas mixture
|
||||||
|
|
||||||
kf kf [ 1 1 -3 -1 0 0 0 ] 0; // comes from energy model
|
kf kf [ 1 1 -3 -1 0 0 0 ] 0.0507; // comes from energy model
|
||||||
|
|
||||||
|
Cp Cp [ 0 2 -2 -1 0 0 0 ] 1118.15; // comes from energy model
|
||||||
|
|
||||||
Cp Cp [ 0 2 -2 -1 0 0 0 ] 1; // comes from energy model
|
|
||||||
|
|
||||||
// ******* Non-Newtonian transport properties ************************ //
|
// ******* Non-Newtonian transport properties ************************ //
|
||||||
/*CrossPowerLawCoeffs
|
/*CrossPowerLawCoeffs
|
||||||
|
|||||||
@ -19,23 +19,23 @@ application cfdemSolverRhoPimpleChem;
|
|||||||
|
|
||||||
startFrom startTime;
|
startFrom startTime;
|
||||||
|
|
||||||
startTime 0;
|
startTime 0.0;
|
||||||
|
|
||||||
stopAt endTime;
|
stopAt endTime;
|
||||||
|
|
||||||
endTime 11000.0;
|
endTime 1200.0;
|
||||||
|
|
||||||
deltaT 1;
|
deltaT 1;
|
||||||
|
|
||||||
writeControl runTime;
|
writeControl timeStep;
|
||||||
|
|
||||||
writeInterval 1000;
|
writeInterval 50;
|
||||||
|
|
||||||
purgeWrite 0;
|
purgeWrite 10;
|
||||||
|
|
||||||
writeFormat ascii;
|
writeFormat ascii;
|
||||||
|
|
||||||
writePrecision 10;
|
writePrecision 6;
|
||||||
|
|
||||||
writeCompression off;
|
writeCompression off;
|
||||||
|
|
||||||
@ -43,7 +43,7 @@ timeFormat general;
|
|||||||
|
|
||||||
timePrecision 6;
|
timePrecision 6;
|
||||||
|
|
||||||
runTimeModifiable false;
|
runTimeModifiable true;
|
||||||
|
|
||||||
adjustTimeStep no;
|
adjustTimeStep no;
|
||||||
|
|
||||||
@ -53,62 +53,62 @@ maxDeltaT 0.1;
|
|||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
libs
|
libs (
|
||||||
(
|
"libfieldFunctionObjects.so"
|
||||||
"libfieldFunctionObjects.so"
|
);
|
||||||
);
|
|
||||||
|
|
||||||
functions
|
functions
|
||||||
{
|
{
|
||||||
moleFrac
|
moleFrac
|
||||||
{
|
{
|
||||||
type rhoReactionThermoMoleFractions;
|
type rhoReactionThermoMoleFractions;
|
||||||
}
|
}
|
||||||
|
|
||||||
probes1
|
probes1
|
||||||
{
|
{
|
||||||
type probes;
|
type probes;
|
||||||
|
|
||||||
functionObjectLibs ("libsampling.so");
|
functionObjectLibs ("libsampling.so");
|
||||||
|
#include "probesDict";
|
||||||
name probes1;
|
|
||||||
|
|
||||||
fields
|
|
||||||
(
|
|
||||||
rho
|
|
||||||
p
|
|
||||||
T
|
|
||||||
N2
|
|
||||||
CO2
|
|
||||||
CO
|
|
||||||
H2
|
|
||||||
H2O
|
|
||||||
X_CO
|
|
||||||
X_CO2
|
|
||||||
X_H2
|
|
||||||
X_N2
|
|
||||||
X_H2O
|
|
||||||
);
|
|
||||||
|
|
||||||
writeControl timeStep;
|
|
||||||
writeInterval 10;
|
|
||||||
|
|
||||||
// Locations to be probed
|
|
||||||
probeLocations
|
|
||||||
(
|
|
||||||
(7.0 2.5 2.5)
|
|
||||||
(8.0 2.5 2.5)
|
|
||||||
(1.0 2.5 2.5)
|
|
||||||
);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
globalMassFrac
|
|
||||||
|
fieldMinMax_T
|
||||||
{
|
{
|
||||||
|
type fieldMinMax;
|
||||||
|
libs ("libfieldFunctionObjects.so");
|
||||||
|
fields (T);
|
||||||
|
// Report the location of the field extrema
|
||||||
|
location yes;
|
||||||
|
// Type of extrema for rank > 0 primitives
|
||||||
|
mode magnitude; // magnitude | component
|
||||||
|
}
|
||||||
|
|
||||||
|
fieldMinMax_Cpv
|
||||||
|
{
|
||||||
|
type fieldMinMax;
|
||||||
|
libs ("libfieldFunctionObjects.so");
|
||||||
|
fields (Cpv);
|
||||||
|
// Report the location of the field extrema
|
||||||
|
location yes;
|
||||||
|
// Type of extrema for rank > 0 primitives
|
||||||
|
mode magnitude; // magnitude | component
|
||||||
|
}
|
||||||
|
|
||||||
|
fieldMinMax_partTemp
|
||||||
|
{
|
||||||
|
type fieldMinMax;
|
||||||
|
libs ("libfieldFunctionObjects.so");
|
||||||
|
fields (partTemp);
|
||||||
|
location yes;
|
||||||
|
mode magnitude;
|
||||||
|
}
|
||||||
|
|
||||||
|
globalMassFrac
|
||||||
|
{
|
||||||
type volRegion;
|
type volRegion;
|
||||||
libs ("libfieldFunctionObjects.so");
|
libs ("libfieldFunctionObjects.so");
|
||||||
writeControl timeStep;//outputTime;
|
writeControl timeStep;//outputTime;
|
||||||
writeInterval 1;
|
writeInterval 1;
|
||||||
log true;
|
log true;
|
||||||
writeFields false;
|
writeFields false;
|
||||||
regionType all;
|
regionType all;
|
||||||
@ -122,14 +122,14 @@ functions
|
|||||||
CO
|
CO
|
||||||
N2
|
N2
|
||||||
H2O
|
H2O
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
globalMass
|
globalMass
|
||||||
{
|
{
|
||||||
type volRegion;
|
type volRegion;
|
||||||
libs ("libfieldFunctionObjects.so");
|
libs ("libfieldFunctionObjects.so");
|
||||||
writeControl timeStep;//outputTime;
|
writeControl timeStep;//outputTime;
|
||||||
writeInterval 1;
|
writeInterval 1;
|
||||||
log true;
|
log true;
|
||||||
writeFields false;
|
writeFields false;
|
||||||
@ -142,6 +142,6 @@ functions
|
|||||||
rho
|
rho
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -1,147 +0,0 @@
|
|||||||
/*--------------------------------*- C++ -*----------------------------------*\
|
|
||||||
| ========= | |
|
|
||||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
|
||||||
| \\ / O peration | Version: 2.3.0 |
|
|
||||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
|
||||||
| \\/ M anipulation | |
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
FoamFile
|
|
||||||
{
|
|
||||||
version 2.0;
|
|
||||||
format ascii;
|
|
||||||
class dictionary;
|
|
||||||
location "system";
|
|
||||||
object controlDict;
|
|
||||||
}
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
application cfdemSolverRhoPimpleChem;
|
|
||||||
|
|
||||||
startFrom startTime;
|
|
||||||
|
|
||||||
startTime 0;
|
|
||||||
|
|
||||||
stopAt endTime;
|
|
||||||
|
|
||||||
endTime 1500.0;
|
|
||||||
|
|
||||||
deltaT 1;
|
|
||||||
|
|
||||||
writeControl runTime;
|
|
||||||
|
|
||||||
writeInterval 500;
|
|
||||||
|
|
||||||
purgeWrite 0;
|
|
||||||
|
|
||||||
writeFormat ascii;
|
|
||||||
|
|
||||||
writePrecision 10;
|
|
||||||
|
|
||||||
writeCompression off;
|
|
||||||
|
|
||||||
timeFormat general;
|
|
||||||
|
|
||||||
timePrecision 6;
|
|
||||||
|
|
||||||
runTimeModifiable false;
|
|
||||||
|
|
||||||
adjustTimeStep no;
|
|
||||||
|
|
||||||
maxCo 0.5;
|
|
||||||
|
|
||||||
maxDeltaT 0.1;
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
libs
|
|
||||||
(
|
|
||||||
"libfieldFunctionObjects.so"
|
|
||||||
);
|
|
||||||
|
|
||||||
functions
|
|
||||||
{
|
|
||||||
moleFrac
|
|
||||||
{
|
|
||||||
type rhoReactionThermoMoleFractions;
|
|
||||||
}
|
|
||||||
|
|
||||||
probes1
|
|
||||||
{
|
|
||||||
type probes;
|
|
||||||
|
|
||||||
functionObjectLibs ("libsampling.so");
|
|
||||||
|
|
||||||
name probes1;
|
|
||||||
|
|
||||||
fields
|
|
||||||
(
|
|
||||||
rho
|
|
||||||
p
|
|
||||||
T
|
|
||||||
N2
|
|
||||||
CO2
|
|
||||||
CO
|
|
||||||
H2
|
|
||||||
H2O
|
|
||||||
X_CO
|
|
||||||
X_CO2
|
|
||||||
X_H2
|
|
||||||
X_N2
|
|
||||||
X_H2O
|
|
||||||
);
|
|
||||||
|
|
||||||
writeControl timeStep;
|
|
||||||
writeInterval 10;
|
|
||||||
|
|
||||||
// Locations to be probed
|
|
||||||
probeLocations
|
|
||||||
(
|
|
||||||
(7.0 2.5 2.5)
|
|
||||||
(8.0 2.5 2.5)
|
|
||||||
(1.0 2.5 2.5)
|
|
||||||
);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
globalMassFrac
|
|
||||||
{
|
|
||||||
type volRegion;
|
|
||||||
libs ("libfieldFunctionObjects.so");
|
|
||||||
writeControl timeStep;//outputTime;
|
|
||||||
writeInterval 1;
|
|
||||||
log true;
|
|
||||||
writeFields false;
|
|
||||||
regionType all;
|
|
||||||
name c0;
|
|
||||||
operation weightedVolAverage;
|
|
||||||
weightField rhoeps;
|
|
||||||
fields
|
|
||||||
(
|
|
||||||
H2
|
|
||||||
CO2
|
|
||||||
CO
|
|
||||||
N2
|
|
||||||
H2O
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
globalMass
|
|
||||||
{
|
|
||||||
type volRegion;
|
|
||||||
libs ("libfieldFunctionObjects.so");
|
|
||||||
writeControl timeStep;//outputTime;
|
|
||||||
writeInterval 1;
|
|
||||||
log true;
|
|
||||||
writeFields false;
|
|
||||||
regionType all;
|
|
||||||
name c1;
|
|
||||||
operation volIntegrate;
|
|
||||||
fields
|
|
||||||
(
|
|
||||||
rhoeps
|
|
||||||
rho
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -0,0 +1,30 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.3.0 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "system";
|
||||||
|
object fvOptions;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
limitedTemperature
|
||||||
|
{
|
||||||
|
type limitTemperature;
|
||||||
|
active yes;
|
||||||
|
limitTemperatureCoeffs
|
||||||
|
{
|
||||||
|
active yes;
|
||||||
|
selectionMode all;
|
||||||
|
Tmin 1200;
|
||||||
|
Tmax 2500;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -23,39 +23,54 @@ ddtSchemes
|
|||||||
gradSchemes
|
gradSchemes
|
||||||
{
|
{
|
||||||
default Gauss linear;
|
default Gauss linear;
|
||||||
|
grad(p) cellMDLimited leastSquares 0.5;
|
||||||
|
grad(U) cellMDLimited leastSquares 0.5; //cellLimited Gauss linear 1; //
|
||||||
|
grad(h) cellMDLimited leastSquares 0.5;
|
||||||
|
grad(e) cellMDLimited leastSquares 0.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
divSchemes
|
divSchemes
|
||||||
{
|
{
|
||||||
default none;
|
default Gauss linear;
|
||||||
|
|
||||||
div(phi,U) Gauss linear; //Gauss upwind;
|
div(phi,U) Gauss limitedLinear 1; //Gauss linear; //Gauss limitedLinear 1; // //Gauss limitedLinearV 1; //
|
||||||
div(phid,p) Gauss linear; //Gauss upwind;
|
div(phid,p) Gauss limitedLinear 1; //Gauss upwind; //Gauss limitedLinearV 1;
|
||||||
div(phi,K) Gauss linear;
|
div(phi,K) Gauss limitedLinear 1;
|
||||||
div(phi,h) Gauss upwind;
|
div(phi,h) Gauss limitedLinear 1; //Gauss upwind;
|
||||||
div(phi,k) Gauss upwind;
|
div(phi,k) Gauss limitedLinear 1; //Gauss upwind;
|
||||||
div(phi,epsilon) Gauss upwind;
|
div(phi,epsilon) Gauss limitedLinear 1; //Gauss upwind;
|
||||||
div(U) Gauss linear;
|
div(U) Gauss limitedLinear 1;
|
||||||
div(phi,Yi_h) Gauss upwind;
|
div(phi,Yi_h) Gauss multivariateSelection
|
||||||
|
{
|
||||||
|
CO limitedLinear01 1;
|
||||||
|
H2 limitedLinear01 1;
|
||||||
|
N2 limitedLinear01 1;
|
||||||
|
H2O limitedLinear01 1;
|
||||||
|
CO2 limitedLinear01 1;
|
||||||
|
h limitedLinear 1;
|
||||||
|
e limitedLinear 1;
|
||||||
|
}
|
||||||
// div((muEff*dev2(T(grad(U))))) Gauss linear;
|
// div((muEff*dev2(T(grad(U))))) Gauss linear;
|
||||||
div((viscousTerm*dev2(grad(U).T()))) Gauss linear;
|
div((viscousTerm*dev2(grad(U).T()))) Gauss linear;
|
||||||
div((thermo:mu*dev(grad(U).T()))) Gauss linear;
|
div((thermo:mu*dev(grad(U).T()))) Gauss linear;
|
||||||
div((nuEff*dev2(T(grad(U))))) Gauss linear;
|
div((nuEff*dev2(T(grad(U))))) Gauss linear;
|
||||||
|
div(phi,T) Gauss limitedLinear 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
laplacianSchemes
|
laplacianSchemes
|
||||||
{
|
{
|
||||||
default Gauss linear orthogonal;
|
default Gauss linear corrected; //Gauss linear orthogonal;
|
||||||
}
|
}
|
||||||
|
|
||||||
interpolationSchemes
|
interpolationSchemes
|
||||||
{
|
{
|
||||||
default linear;
|
default linear;
|
||||||
|
interpolate(U) linear;
|
||||||
}
|
}
|
||||||
|
|
||||||
snGradSchemes
|
snGradSchemes
|
||||||
{
|
{
|
||||||
default orthogonal;
|
default corrected; //orthogonal;
|
||||||
}
|
}
|
||||||
|
|
||||||
fluxRequired
|
fluxRequired
|
||||||
|
|||||||
@ -14,27 +14,15 @@ FoamFile
|
|||||||
object fvSolution;
|
object fvSolution;
|
||||||
}
|
}
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
solvers
|
solvers
|
||||||
{
|
{
|
||||||
"(rho|G)"
|
p
|
||||||
{
|
{
|
||||||
solver PCG;
|
solver PCG;
|
||||||
preconditioner DIC;
|
preconditioner DIC;
|
||||||
tolerance 1e-05;
|
tolerance 1e-6;
|
||||||
relTol 0.1;
|
relTol 0.01;
|
||||||
}
|
/*solver GAMG;
|
||||||
|
|
||||||
"(rho|G)Final"
|
|
||||||
{
|
|
||||||
$rho;
|
|
||||||
tolerance 1e-05;
|
|
||||||
relTol 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
p
|
|
||||||
{
|
|
||||||
solver GAMG;
|
|
||||||
tolerance 1e-06;
|
tolerance 1e-06;
|
||||||
relTol 0.01;
|
relTol 0.01;
|
||||||
smoother GaussSeidel;
|
smoother GaussSeidel;
|
||||||
@ -44,7 +32,7 @@ solvers
|
|||||||
cacheAgglomeration on;
|
cacheAgglomeration on;
|
||||||
nCellsInCoarsestLevel 10;
|
nCellsInCoarsestLevel 10;
|
||||||
agglomerator faceAreaPair;
|
agglomerator faceAreaPair;
|
||||||
mergeLevels 1;
|
mergeLevels 1; */
|
||||||
}
|
}
|
||||||
|
|
||||||
pFinal
|
pFinal
|
||||||
@ -53,8 +41,28 @@ solvers
|
|||||||
tolerance 1e-06;
|
tolerance 1e-06;
|
||||||
relTol 0;
|
relTol 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
"(U|h|R|k|epsilon)"
|
"(rho|G)"
|
||||||
|
{
|
||||||
|
solver PCG;
|
||||||
|
preconditioner DIC;
|
||||||
|
tolerance 1e-6;
|
||||||
|
relTol 0.01;
|
||||||
|
/*solver smoothSolver;
|
||||||
|
smoother symGaussSeidel;
|
||||||
|
tolerance 1e-6;
|
||||||
|
relTol 0.1;
|
||||||
|
nSweeps 3;*/
|
||||||
|
}
|
||||||
|
|
||||||
|
"(rho|G)Final"
|
||||||
|
{
|
||||||
|
$rho;
|
||||||
|
tolerance 1e-06;
|
||||||
|
relTol 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
"(U|h|e|R|k|epsilon)"
|
||||||
{
|
{
|
||||||
solver smoothSolver;
|
solver smoothSolver;
|
||||||
smoother symGaussSeidel;
|
smoother symGaussSeidel;
|
||||||
@ -62,48 +70,62 @@ solvers
|
|||||||
relTol 0.1;
|
relTol 0.1;
|
||||||
}
|
}
|
||||||
|
|
||||||
"(U|h|R|k|epsilon)Final"
|
"(U|h|e|R|k|epsilon)Final"
|
||||||
{
|
{
|
||||||
$U;
|
$U;
|
||||||
tolerance 1e-05;
|
tolerance 1e-05;
|
||||||
relTol 0;
|
relTol 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
"(Yi|CO|CO2|H2|H2O)"
|
"(Yi|CO|CO2|H2|H2O|N2)"
|
||||||
{
|
{
|
||||||
$h;
|
solver smoothSolver;
|
||||||
|
smoother symGaussSeidel;
|
||||||
|
tolerance 1e-06;
|
||||||
|
relTol 0.01;
|
||||||
|
maxIter 100;
|
||||||
}
|
}
|
||||||
|
|
||||||
"(Yi|CO|CO2|H2|H2O)Final"
|
"(Yi|CO|CO2|H2|H2O|N2)Final"
|
||||||
{
|
{
|
||||||
$Yi;
|
$Yi;
|
||||||
tolerance 1e-06;
|
tolerance 1e-06;
|
||||||
relTol 0;
|
relTol 0;
|
||||||
|
maxIter 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
T
|
||||||
|
{
|
||||||
|
solver PBiCG;
|
||||||
|
preconditioner DILU;
|
||||||
|
tolerance 1e-8;
|
||||||
|
relTol 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
PIMPLE
|
PIMPLE
|
||||||
{
|
{
|
||||||
momentumPredictor yes;
|
momentumPredictor yes;
|
||||||
nOuterCorrectors 2;
|
nOuterCorrectors 5;
|
||||||
nCorrectors 1;
|
nCorrectors 2;
|
||||||
nNonOrthogonalCorrectors 0;
|
nNonOrthogonalCorrectors 0;
|
||||||
rhoMin rhoMin [ 1 -3 0 0 0 ] 0.2;
|
rhoMin rhoMin [ 1 -3 0 0 0 ] 0.4;
|
||||||
rhoMax rhoMax [ 1 -3 0 0 0 ] 2.5;
|
rhoMax rhoMax [ 1 -3 0 0 0 ] 2.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
relaxationFactors
|
relaxationFactors
|
||||||
{
|
{
|
||||||
fields
|
fields
|
||||||
{
|
{
|
||||||
".*" 1;
|
T 0.5;
|
||||||
|
"(Yi|CO|CO2|H2|H2O|N2)" 0.6;
|
||||||
|
p 0.6;
|
||||||
}
|
}
|
||||||
equations
|
equations
|
||||||
{
|
{
|
||||||
".*" 1;
|
".*" 0.8;
|
||||||
|
"(h|e).*" 0.5;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -21,7 +21,7 @@ fields
|
|||||||
rho
|
rho
|
||||||
p
|
p
|
||||||
T
|
T
|
||||||
molC
|
Cpv
|
||||||
N2
|
N2
|
||||||
CO2
|
CO2
|
||||||
CO
|
CO
|
||||||
@ -40,7 +40,7 @@ fields
|
|||||||
);
|
);
|
||||||
|
|
||||||
writeControl timeStep;
|
writeControl timeStep;
|
||||||
writeInterval 10;
|
writeInterval 50;
|
||||||
|
|
||||||
|
|
||||||
// Locations to be probed.
|
// Locations to be probed.
|
||||||
|
|||||||
@ -41,7 +41,7 @@ fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zp
|
|||||||
|
|
||||||
# create single particle in a specific spot
|
# create single particle in a specific spot
|
||||||
create_atoms 1 single 0.75 0.25 0.25 units box
|
create_atoms 1 single 0.75 0.25 0.25 units box
|
||||||
set atom 1 diameter 0.01106028 density 5135.2 vx 0 vy 0 vz 0
|
set atom 1 diameter 0.01106028 density 4300 vx 0 vy 0 vz 0
|
||||||
|
|
||||||
# screen output
|
# screen output
|
||||||
compute rke all erotate/sphere
|
compute rke all erotate/sphere
|
||||||
@ -52,7 +52,7 @@ compute_modify thermo_temp dynamic yes
|
|||||||
|
|
||||||
# insert the first particles so that dump is not empty
|
# insert the first particles so that dump is not empty
|
||||||
run 1
|
run 1
|
||||||
dump dmp all custom 100 post/dump.liggghts_init id type x y z vx vy vz fx fy fz omegax omegay omegaz radius
|
dump dmp all custom 100 post/dump.liggghts_init id type x y z vx vy vz fx fy fz radius mass
|
||||||
|
|
||||||
run 10000 upto
|
run 10 upto
|
||||||
write_restart ../DEM/post/restart/liggghts.restart
|
write_restart post/restart/liggghts.restart
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
# single particle chemistry test case
|
# Pour granular particles into chute container, then induce flow
|
||||||
log ../DEM/log.liggghts
|
log ../DEM/log.liggghts
|
||||||
thermo_log ../DEM/post/thermo.txt
|
thermo_log ../DEM/post/thermo.txt
|
||||||
|
|
||||||
@ -16,7 +16,7 @@ processors 2 1 1
|
|||||||
read_restart ../DEM/post/restart/liggghts.restart
|
read_restart ../DEM/post/restart/liggghts.restart
|
||||||
|
|
||||||
neighbor 0.0005 bin
|
neighbor 0.0005 bin
|
||||||
neigh_modify delay 0 binsize 0.01
|
neigh_modify delay 0
|
||||||
|
|
||||||
# Material properties required for granular pair styles
|
# Material properties required for granular pair styles
|
||||||
|
|
||||||
@ -30,8 +30,8 @@ pair_style gran model hertz tangential history # Hertzian without cohesion
|
|||||||
pair_coeff * *
|
pair_coeff * *
|
||||||
|
|
||||||
# timestep, gravity
|
# timestep, gravity
|
||||||
timestep 1e-2
|
timestep 0.02
|
||||||
fix gravi all gravity 0.0 vector 0.0 -1.0 0.0
|
fix gravi all gravity 9.81 vector 0.0 -1.0 0.0
|
||||||
|
|
||||||
# walls
|
# walls
|
||||||
fix xwalls1 all wall/gran model hertz tangential history primitive type 1 xplane 0.0
|
fix xwalls1 all wall/gran model hertz tangential history primitive type 1 xplane 0.0
|
||||||
@ -41,136 +41,173 @@ fix ywalls2 all wall/gran model hertz tangential history primitive type 1 yp
|
|||||||
fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zplane 0.0
|
fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zplane 0.0
|
||||||
fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane 0.5
|
fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane 0.5
|
||||||
|
|
||||||
|
# Thermal properties
|
||||||
|
fix ftco all property/global thermalConductivity peratomtype 1.4
|
||||||
|
fix ftca all property/global thermalCapacity peratomtype 3000
|
||||||
|
|
||||||
###############################################
|
###############################################
|
||||||
|
|
||||||
# cfd coupling
|
# cfd coupling
|
||||||
fix cfd all couple/cfd couple_every 100 mpi
|
fix cfd all couple/cfd couple_every 50 mpi
|
||||||
fix cfd2 all couple/cfd/force
|
fix cfd2 all couple/cfd/force
|
||||||
|
|
||||||
|
# this one invokes heat transfer calculation, transfers per-particle temperature and adds convective heat flux to particles
|
||||||
|
fix tconv all couple/cfd/convection T0 1221
|
||||||
|
|
||||||
# this should invoke chemistry
|
# this should invoke chemistry
|
||||||
fix cfd3 all couple/cfd/chemistry n_species 5 species_names H2 H2O CO CO2 N2 n_diff 2 diffusant_names CO H2
|
fix cfd3 all couple/cfd/chemistry n_species 5 species_names H2 H2O CO CO2 N2 n_diff 2 diffusant_names CO H2
|
||||||
|
|
||||||
# Activate for 3-layer unreacted core shrink model
|
# Activate for 3-layer unreacted core shrink model
|
||||||
fix cfd5 all chem/shrink/core speciesA CO molMassA 0.02801 speciesC CO2 molMassC 0.04401 screen no nevery 1
|
fix cfd5 all chem/shrink/core speciesA CO molMassA 0.02801 speciesC CO2 molMassC 0.04401 scale_reduction_rate 10.0 screen yes
|
||||||
fix cfd6 all chem/shrink/core speciesA H2 molMassA 0.00202 speciesC H2O molMassC 0.01801 screen no nevery 1
|
fix cfd6 all chem/shrink/core speciesA H2 molMassA 0.00202 speciesC H2O molMassC 0.01801 scale_reduction_rate 10.0 screen yes
|
||||||
#0.34
|
|
||||||
#0.06
|
|
||||||
|
|
||||||
|
|
||||||
# Chemical properties for unreacted shrink core (activate only when chem/shrink/core is active)
|
# Chemical properties for unreacted shrink core (activate only when chem/shrink/core is active)
|
||||||
fix k0_CO all property/global k0_cfd5 vector 17 25 2700
|
fix k0_CO all property/atom k0_cfd5 vector yes no no 17 25 2700
|
||||||
fix Ea_CO all property/global Ea_cfd5 vector 69488 73674 113859
|
fix Ea_CO all property/atom Ea_cfd5 vector yes no no 69488 73674 113859
|
||||||
|
|
||||||
fix k0_H2 all property/global k0_cfd6 vector 30 23 160
|
fix k0_H2 all property/atom k0_cfd6 vector yes no no 30 23 160
|
||||||
fix Ea_H2 all property/global Ea_cfd6 vector 63627 71162 92092
|
fix Ea_H2 all property/atom Ea_cfd6 vector yes no no 63627 71162 92092
|
||||||
|
|
||||||
# particle porosity/tortuosity/pore diameter
|
# particle porosity/tortuosity/pore diameter
|
||||||
fix porosity all property/atom porosity_ vector yes no no 0.598 0.2122 0.0399 0.02
|
fix porosity all property/atom porosity_ vector yes no no 0.65 0.31 0.16 0.15
|
||||||
fix tortuosity all property/global tortuosity_ scalar 3
|
fix tortuosity all property/global tortuosity_ scalar 3
|
||||||
fix pore_diameter all property/global pore_diameter_ scalar 1e-6
|
fix pore_diameter all property/global pore_diameter_ scalar 7e-7
|
||||||
|
|
||||||
# Material properties for unreacted chemical shrink core (activate only when chem/shrink/core is active)
|
# define layer properties
|
||||||
fix density all property/global density_all vector 7870 5740 5170 5240
|
fix LayerRelRadii all property/atom relRadii vector yes no no 1.0 0.998 0.995 0.98
|
||||||
fix molMass all property/global molMass_all vector 0.055845 0.071844 0.231532 0.1596882
|
|
||||||
|
|
||||||
# define layer radius
|
### define fix for mass layer - initial testing
|
||||||
fix layerRelRad all property/atom relRadii vector yes no no 1.0 0.998 0.995 0.98
|
fix LayerMasses all property/atom massLayer vector yes no no 0. 0. 0. 0.
|
||||||
|
fix LayerDennsities all property/atom density_all vector yes no no 7870. 5740. 5170. 5240.
|
||||||
|
|
||||||
# define fix for mass layer - initial testing
|
## define fix for rho_eff and fracRed - initialize as zero
|
||||||
fix massLayer all property/atom massLayer vector no no no 0. 0. 0. 0.
|
fix fracRed all property/atom fracRed_all vector yes no no 0. 0. 0.
|
||||||
|
fix rhoeff all property/atom rhoeff vector yes no no 0. 0. 0. 0.
|
||||||
|
|
||||||
## debug fixes ##
|
###############
|
||||||
# fix to compute fracRed
|
# Write data into files for post-processing
|
||||||
fix fracRed all property/atom fracRed_all vector yes no no 0. 0. 0.
|
|
||||||
fix rhoeff all property/atom rhoeff vector yes no no 0. 0. 0. 0.
|
|
||||||
|
|
||||||
# apply nve integration to all particles that are inserted as single particles
|
variable WI equal 10
|
||||||
# fix integr all nve/sphere
|
variable time equal time
|
||||||
|
|
||||||
###############################################
|
|
||||||
|
|
||||||
variable time equal step*dt
|
|
||||||
variable m1 equal mass[1]
|
variable m1 equal mass[1]
|
||||||
variable rp equal radius[1]
|
variable rp equal radius[1]
|
||||||
variable rho1 equal mass[1]/((4/3)*PI*radius[1]*radius[1]*radius[1])
|
variable rho1 equal mass[1]/((4/3)*PI*radius[1]*radius[1]*radius[1])
|
||||||
fix printmass all print 1000 "${time} ${m1} ${rho1} ${rp}" file mass_rho_rad.txt title "#time mass rho rad_par"
|
fix printmass all print ${WI} "${time} ${m1} ${rho1} ${rp}" file mass_rho_rad.txt title "#time mass rho rad_par"
|
||||||
|
|
||||||
|
# compute kinetic energy of particles to see if they are moving changing
|
||||||
|
compute KinEn all ke
|
||||||
|
variable ke_tot equal c_KinEn
|
||||||
|
|
||||||
|
# print total kinetic energy
|
||||||
|
fix printCompute all print ${WI} "${time} ${ke_tot}" file printKE.txt title "#time ke_tot"
|
||||||
|
|
||||||
|
compute Ea_CO all reduce sum f_Ea_CO[1] f_Ea_CO[2] f_Ea_CO[3]
|
||||||
|
fix Ea all ave/time 1 1 1 c_Ea_CO[1] c_Ea_CO[2] c_Ea_CO[3]
|
||||||
|
variable Ea1 equal f_Ea[1]
|
||||||
|
variable Ea2 equal f_Ea[2]
|
||||||
|
variable Ea3 equal f_Ea[3]
|
||||||
|
|
||||||
|
compute k0CO all reduce sum f_k0_CO[1] f_k0_CO[2] f_k0_CO[3]
|
||||||
|
fix k0 all ave/time 1 1 1 c_k0CO[1] c_k0CO[2] c_k0CO[3]
|
||||||
|
variable k01 equal f_k0[1]
|
||||||
|
variable k02 equal f_k0[2]
|
||||||
|
variable k03 equal f_k0[3]
|
||||||
|
|
||||||
|
fix printk0Ea all print ${WI} "${time} ${Ea1} ${Ea2} ${Ea3} ${k01} ${k02} ${k03}" file k0Ea.dat title "#time Ea1 Ea2 Ea3 k01 k02 k03"
|
||||||
|
|
||||||
|
###############
|
||||||
|
# Print out values affecting chemical reduction into specified folder for given time
|
||||||
|
# Diffusion Coefficient for CO and H2
|
||||||
|
|
||||||
|
compute COdiff all reduce sum f_CO_diffCoeff
|
||||||
|
fix diffField_CO all ave/time 1 1 1 c_COdiff
|
||||||
|
variable CO_diffCo equal f_diffField_CO
|
||||||
|
|
||||||
|
fix printDCoeff all print ${WI} "${time} ${CO_diffCo}" file DiffCoeff.dat title "#time CO_diffCoeff"
|
||||||
|
|
||||||
|
###############
|
||||||
|
# Specific Resistance terms depending on reacting gases
|
||||||
|
|
||||||
|
compute ACOd1 all reduce sum f_Aterm_cfd5[1] f_Aterm_cfd5[2] f_Aterm_cfd5[3]
|
||||||
|
fix ACOd1 all ave/time 1 1 1 c_ACOd1[1] c_ACOd1[2] c_ACOd1[3]
|
||||||
|
variable a_CO_1 equal f_ACOd1[1]
|
||||||
|
variable a_CO_2 equal f_ACOd1[2]
|
||||||
|
variable a_CO_3 equal f_ACOd1[3]
|
||||||
|
|
||||||
|
compute BCOd1 all reduce sum f_Bterm_cfd5[1] f_Bterm_cfd5[2] f_Bterm_cfd5[3]
|
||||||
|
fix BCOd1 all ave/time 10 1 10 c_BCOd1[1] c_BCOd1[2] c_BCOd1[3]
|
||||||
|
variable b_CO_1 equal f_BCOd1[1]
|
||||||
|
variable b_CO_2 equal f_BCOd1[2]
|
||||||
|
variable b_CO_3 equal f_BCOd1[3]
|
||||||
|
|
||||||
|
compute MCOd1 all reduce sum f_Massterm_cfd5
|
||||||
|
fix MTCOd1 all ave/time 10 1 10 c_MCOd1
|
||||||
|
variable mt_CO equal f_MTCOd1
|
||||||
|
|
||||||
|
fix printAterm all print ${WI} "${time} ${a_CO_1} ${a_CO_2} ${a_CO_3}" file Aterm.dat title "#time a_CO_1 aCO_2 a_CO_3"
|
||||||
|
|
||||||
|
fix printBterm all print ${WI} "${time} ${b_CO_1} ${b_CO_2} ${b_CO_3}" file Bterm.dat title "#time b_CO_1 b_CO_2 b_CO_3"
|
||||||
|
|
||||||
|
fix printMassTerm all print ${WI} "${time} ${mt_CO}" file MassTerm.dat title "#time mt_CO"
|
||||||
|
|
||||||
|
# Print out fractional reduction for specific diameter ranges as well as total fractional reduction
|
||||||
|
|
||||||
|
###############
|
||||||
|
# print out rate change of mass for gaseous reactant
|
||||||
|
compute dmdot all reduce sum f_dmA_cfd5[1] f_dmA_cfd5[2] f_dmA_cfd5[3]
|
||||||
|
fix dmA_val all ave/time 1 1 1 c_dmdot[1] c_dmdot[2] c_dmdot[3]
|
||||||
|
variable dmdot_1 equal f_dmA_val[1]
|
||||||
|
variable dmdot_2 equal f_dmA_val[2]
|
||||||
|
variable dmdot_3 equal f_dmA_val[3]
|
||||||
|
|
||||||
|
fix printdmdot all print ${WI} "${time} ${dmdot_1} ${dmdot_2} ${dmdot_3}" file dmdot.dat title "#time dmdot_1 dmdot_2 dmdot_3"
|
||||||
|
|
||||||
|
compute dmdot_H2 all reduce sum f_dmA_cfd6[1] f_dmA_cfd6[2] f_dmA_cfd6[3]
|
||||||
|
fix dmA_valH2 all ave/time 1 1 1 c_dmdot_H2[1] c_dmdot_H2[2] c_dmdot_H2[3]
|
||||||
|
variable dmdot_H2_1 equal f_dmA_valH2[1]
|
||||||
|
variable dmdot_H2_2 equal f_dmA_valH2[2]
|
||||||
|
variable dmdot_H2_3 equal f_dmA_valH2[3]
|
||||||
|
|
||||||
|
fix printdmdotH2 all print ${WI} "${time} ${dmdot_H2_1} ${dmdot_H2_2} ${dmdot_H2_3}" file dmdotH2.dat title "#time dmdot_1 dmdot_2 dmdot_3"
|
||||||
|
|
||||||
|
compute fr_1 all reduce sum f_fracRed[1] f_fracRed[2] f_fracRed[3]
|
||||||
|
fix fr_d1 all ave/time 1 1 1 c_fr_1[1] c_fr_1[2] c_fr_1[3]
|
||||||
|
variable fr_d1_1 equal f_fr_d1[1]
|
||||||
|
variable fr_d1_2 equal f_fr_d1[2]
|
||||||
|
variable fr_d1_3 equal f_fr_d1[3]
|
||||||
|
|
||||||
|
# Calculate total fractional reduction to be written into the dump file for postProcessing/graphical representation
|
||||||
|
variable frOV_d1 equal 1/9*(f_fr_d1[3])+2/9*(f_fr_d1[2])+6/9*(f_fr_d1[1])
|
||||||
|
|
||||||
|
fix printfr1 all print ${WI} "${time} ${fr_d1_1} ${fr_d1_2} ${fr_d1_3} ${frOV_d1}" file fr_d1.dat title "#time fr_d1_1 fr_d1_2 fr_d1_3 fr_overall_d1"
|
||||||
|
|
||||||
###############################################
|
###############################################
|
||||||
## Check Layer Radii and Write them to files ###
|
## Check Layer Radii and Write them to files ###
|
||||||
compute layerRad1 all reduce sum f_layerRelRad[1]
|
compute layerRad1 all reduce sum f_LayerRelRadii[1]
|
||||||
fix redRad1 all ave/time 1000 1 1000 c_layerRad1 file relRad1.dat
|
fix redRad1 all ave/time 1 1 1 c_layerRad1
|
||||||
|
variable rr1 equal f_redRad1
|
||||||
|
|
||||||
compute layerRad2 all reduce sum f_layerRelRad[2]
|
compute layerRad2 all reduce sum f_LayerRelRadii[2]
|
||||||
fix redRad2 all ave/time 1000 1 1000 c_layerRad2 file relRad2.dat
|
fix redRad2 all ave/time 1 1 1 c_layerRad2
|
||||||
|
variable rr2 equal f_redRad2
|
||||||
|
|
||||||
compute layerRad3 all reduce sum f_layerRelRad[3]
|
compute layerRad3 all reduce sum f_LayerRelRadii[3]
|
||||||
fix redRad3 all ave/time 1000 1 1000 c_layerRad3 file relRad3.dat
|
fix redRad3 all ave/time 1 1 1 c_layerRad3
|
||||||
|
variable rr3 equal f_redRad3
|
||||||
|
|
||||||
compute layerRad4 all reduce sum f_layerRelRad[4]
|
compute layerRad4 all reduce sum f_LayerRelRadii[4]
|
||||||
fix redRad4 all ave/time 1000 1 1000 c_layerRad4 file relRad4.dat
|
fix redRad4 all ave/time 1 1 1 c_layerRad4
|
||||||
|
variable rr4 equal f_redRad4
|
||||||
|
|
||||||
###############################################
|
fix printRelRadii all print ${WI} "${time} ${rr1} ${rr2} ${rr3} ${rr4}" file relRadii.dat title "#time relRad_1 relRad_2 relRad_3 relRad_4"
|
||||||
#### Give information about resistance terms and molar fractions to specified files ###
|
###############
|
||||||
compute Aterm_red all reduce sum f_Aterm_cfd5[1] f_Aterm_cfd5[2] f_Aterm_cfd5[3]
|
|
||||||
fix Aterm1 all ave/time 100 1 100 c_Aterm_red[1] c_Aterm_red[2] c_Aterm_red[3]
|
|
||||||
variable a1 equal f_Aterm1[1]
|
|
||||||
variable a2 equal f_Aterm1[2]
|
|
||||||
variable a3 equal f_Aterm1[3]
|
|
||||||
|
|
||||||
compute Bterm_red all reduce sum f_Bterm_cfd5[1] f_Bterm_cfd5[2] f_Bterm_cfd5[3]
|
|
||||||
fix Bterm1 all ave/time 100 1 100 c_Bterm_red[1] c_Bterm_red[2] c_Bterm_red[3]
|
|
||||||
variable b1 equal f_Bterm1[1]
|
|
||||||
variable b2 equal f_Bterm1[2]
|
|
||||||
variable b3 equal f_Bterm1[3]
|
|
||||||
|
|
||||||
compute Massterm_red all reduce sum f_Massterm_cfd5
|
|
||||||
fix Massterm1 all ave/time 100 1 100 c_Massterm_red
|
|
||||||
variable mt1 equal f_Massterm1
|
|
||||||
|
|
||||||
compute fracRedTerm all reduce sum f_fracRed[1] f_fracRed[2] f_fracRed[3]
|
|
||||||
fix fracRed1 all ave/time 100 1 100 c_fracRedTerm[1] c_fracRedTerm[2] c_fracRedTerm[3]
|
|
||||||
variable fr1 equal f_fracRed1[1]
|
|
||||||
variable fr2 equal f_fracRed1[2]
|
|
||||||
variable fr3 equal f_fracRed1[3]
|
|
||||||
|
|
||||||
compute effDiffBinary_red all reduce sum f_effDiffBinary_cfd5[1] f_effDiffBinary_cfd5[2] f_effDiffBinary_cfd5[3]
|
|
||||||
fix effDiffBinary1 all ave/time 1000 1 1000 c_effDiffBinary_red[1] c_effDiffBinary_red[2] c_effDiffBinary_red[3]
|
|
||||||
variable dij1 equal f_effDiffBinary1[1]
|
|
||||||
variable dij2 equal f_effDiffBinary1[2]
|
|
||||||
variable dij3 equal f_effDiffBinary1[3]
|
|
||||||
|
|
||||||
compute effDiffKnud_red all reduce sum f_effDiffKnud_cfd5[1] f_effDiffKnud_cfd5[2] f_effDiffKnud_cfd5[3]
|
|
||||||
fix effDiffKnud1 all ave/time 1000 1 1000 c_effDiffKnud_red[1] c_effDiffKnud_red[2] c_effDiffKnud_red[3]
|
|
||||||
variable dik1 equal f_effDiffKnud1[1]
|
|
||||||
variable dik2 equal f_effDiffKnud1[2]
|
|
||||||
variable dik3 equal f_effDiffKnud1[3]
|
|
||||||
|
|
||||||
compute porosity_red all reduce sum f_porosity[1] f_porosity[2] f_porosity[3] f_porosity[4]
|
|
||||||
fix porosity1 all ave/time 1000 1 1000 c_porosity_red[1] c_porosity_red[2] c_porosity_red[3] c_porosity_red[4]
|
|
||||||
variable p1 equal f_porosity1[1]
|
|
||||||
variable p2 equal f_porosity1[2]
|
|
||||||
variable p3 equal f_porosity1[3]
|
|
||||||
variable p4 equal f_porosity1[4]
|
|
||||||
|
|
||||||
compute mass_layer all reduce sum f_massLayer[1] f_massLayer[2] f_massLayer[3] f_massLayer[4]
|
|
||||||
fix massLayerPrintout all ave/time 100 1 100 c_mass_layer[1] c_mass_layer[2] c_mass_layer[3] c_mass_layer[4]
|
|
||||||
variable mL1 equal f_massLayerPrintout[1]
|
|
||||||
variable mL2 equal f_massLayerPrintout[2]
|
|
||||||
variable mL3 equal f_massLayerPrintout[3]
|
|
||||||
variable mL4 equal f_massLayerPrintout[4]
|
|
||||||
|
|
||||||
fix printOutput all print 100 "${time} ${a1} ${a2} ${a3} ${b1} ${b2} ${b3} ${mt1} ${fr1} ${fr2} ${fr3}" file Output.dat title "#time a1 a2 a3 b1 b2 b3 mt1 fr1 fr2 fr3"
|
|
||||||
fix printDiffTerms all print 1000 "${time} ${dij1} ${dij2} ${dij3} ${dik1} ${dik2} ${dik3} ${p1} ${p2} ${p3} ${p4}" file DiffTerm.dat title "#time dij1 dij2 dij3 dik1 dik2 dik3 p_fe p_w p_m p_h"
|
|
||||||
fix printMassLayer all print 100 "${time} ${mL1} ${mL2} ${mL3} ${mL4}" file MassLayers.dat title "#time mL_Fe mL_w mL_m mL_h"
|
|
||||||
|
|
||||||
###############################################
|
|
||||||
# screen output
|
# screen output
|
||||||
compute rke all erotate/sphere
|
compute rke all erotate/sphere
|
||||||
thermo_style custom step atoms ke c_rke vol
|
thermo_style custom step atoms ke c_rke vol
|
||||||
thermo 1000
|
thermo 10
|
||||||
thermo_modify lost ignore norm no
|
thermo_modify lost ignore norm no
|
||||||
compute_modify thermo_temp dynamic yes
|
compute_modify thermo_temp dynamic yes
|
||||||
|
|
||||||
dump dmp all custom 10000 ../DEM/post/dump.liggghts_run id type x y z vx vy vz fx fy fz omegax omegay omegaz radius
|
dump dmp all custom 100 ../DEM/post/dump*.liggghts_run id type x y z vx vy vz fx fy fz radius mass f_fracRed[1] f_fracRed[2] f_fracRed[3]
|
||||||
|
|
||||||
run 1
|
run 1
|
||||||
|
|||||||
@ -0,0 +1,5 @@
|
|||||||
|
NOTICE::VALIPOUR CORRELATION FOR KEQ
|
||||||
|
VALIPOUR VALUES FOR Ea
|
||||||
|
INCREASE DEM TS TO 0.01
|
||||||
|
H2 REDUCTION IS ALSO CONSIDERED.
|
||||||
|
|
||||||
@ -1,8 +1,9 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
#===================================================================#
|
#===================================================================#
|
||||||
# allrun script for single particle testcase
|
# allrun script for testcase as part of test routine
|
||||||
# M. Efe Kinaci - Sep 2018
|
# run settlingTest CFD part
|
||||||
|
# Christoph Goniva - Feb. 2011
|
||||||
#===================================================================#
|
#===================================================================#
|
||||||
|
|
||||||
#- source CFDEM env vars
|
#- source CFDEM env vars
|
||||||
@ -15,7 +16,7 @@ source $CFDEM_PROJECT_DIR/etc/functions.sh
|
|||||||
#- define variables
|
#- define variables
|
||||||
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
|
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
|
||||||
logpath=$casePath
|
logpath=$casePath
|
||||||
headerText="test_case_Valipour_2009"
|
headerText="GOD0k1H26pcnt"
|
||||||
logfileName="log_$headerText"
|
logfileName="log_$headerText"
|
||||||
solverName="cfdemSolverRhoPimpleChem"
|
solverName="cfdemSolverRhoPimpleChem"
|
||||||
nrProcs="2"
|
nrProcs="2"
|
||||||
@ -23,7 +24,7 @@ machineFileName="none" # yourMachinefileName | none
|
|||||||
debugMode="off" # on | off| strict
|
debugMode="off" # on | off| strict
|
||||||
testHarnessPath="$CFDEM_TEST_HARNESS_PATH"
|
testHarnessPath="$CFDEM_TEST_HARNESS_PATH"
|
||||||
runOctave="false"
|
runOctave="false"
|
||||||
postproc="true"
|
postproc="false"
|
||||||
|
|
||||||
#--------------------------------------------------------------------------------#
|
#--------------------------------------------------------------------------------#
|
||||||
|
|
||||||
|
|||||||
@ -1,8 +1,9 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
#===================================================================#
|
#===================================================================#
|
||||||
# DEMrun script for testcase
|
# DEMrun script for ErgunTestMPI testcase
|
||||||
# M. Efe Kinaci - Sep 2018
|
# init ErgunTestMPI
|
||||||
|
# Christoph Goniva - July 2014
|
||||||
#===================================================================#
|
#===================================================================#
|
||||||
|
|
||||||
#- source CFDEM env vars
|
#- source CFDEM env vars
|
||||||
|
|||||||
@ -1,18 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
#grep "dmB\[0]" log_test_case > dmB0.dat
|
|
||||||
#grep "dmB\[1]" log_test_case > dmB1.dat
|
|
||||||
#grep "dmB\[2]" log_test_case > dmB2.dat
|
|
||||||
#grep "dmB\[3]" log_test_case > dmB3.dat
|
|
||||||
#grep -n "pre-layerMass[0]:" log_3layerUnreactedShrinkingCore > pre_particle_mass0.dat
|
|
||||||
#grep -n "pre-layerMass[1]:" log_3layerUnreactedShrinkingCore > pre_particle_mass1.dat
|
|
||||||
#grep -n "pre-layerMass[2]:" log_3layerUnreactedShrinkingCore > pre_particle_mass2.dat
|
|
||||||
#grep -n "pre-layerMass[3]:" log_3layerUnreactedShrinkingCore > pre_particle_mass3.dat
|
|
||||||
grep -n "post-layerMass[0]:" log_test_case > post_particle_mass0.dat
|
|
||||||
grep -n "post-layerMass[1]:" log_test_case > post_particle_mass1.dat
|
|
||||||
grep -n "post-layerMass[2]:" log_test_case > post_particle_mass2.dat
|
|
||||||
grep -n "post-layerMass[3]:" log_test_case > post_particle_mass3.dat
|
|
||||||
#grep -n "x0_eq :" log_3layerUnreactedShrinkingCore > x0_eq_values.dat
|
|
||||||
#grep -n "x0_:" log_3layerUnreactedShrinkingCore > x0_values.dat
|
|
||||||
#grep -n "dY_" log_3layerUnreactedShrinkingCore > delta_reduction_rate.dat
|
|
||||||
#grep -n "dmA_" log_3layerUnreactedShrinkingCore > layer_mass_transfer.dat
|
|
||||||
@ -1,2 +1,19 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# nothing to see here
|
#- source CFDEM env vars
|
||||||
|
. ~/.bashrc
|
||||||
|
|
||||||
|
#- include functions
|
||||||
|
source $CFDEM_PROJECT_DIR/etc/functions.sh
|
||||||
|
|
||||||
|
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
|
||||||
|
|
||||||
|
#- get VTK data from liggghts dump file
|
||||||
|
cd $casePath/DEM/post
|
||||||
|
python -i $CFDEM_LPP_DIR/lpp.py dump*.liggghts_run
|
||||||
|
|
||||||
|
#- get VTK data from CFD sim
|
||||||
|
cd $casePath/CFD
|
||||||
|
reconstructPar
|
||||||
|
foamToVTK
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -10,8 +10,4 @@ else
|
|||||||
echo "mesh needs to be built"
|
echo "mesh needs to be built"
|
||||||
cd $casePath/CFD
|
cd $casePath/CFD
|
||||||
blockMesh
|
blockMesh
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# adapt settings for test harness run
|
|
||||||
cp $casePath/CFD/system/controlDict_test $casePath/CFD/system/controlDict
|
|
||||||
|
|
||||||
@ -4,13 +4,12 @@
|
|||||||
{
|
{
|
||||||
"name" : "liggghts-init",
|
"name" : "liggghts-init",
|
||||||
"input_script" : "DEM/in.liggghts_init",
|
"input_script" : "DEM/in.liggghts_init",
|
||||||
"type" : "liggghts/mpi",
|
"type" : "liggghts/serial"
|
||||||
"nprocs" : 2
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name" : "cfdemrun",
|
"name" : "cfdemrun",
|
||||||
"depends_on" : "liggghts-init",
|
"depends_on" : "liggghts-init",
|
||||||
"solver" : "cfdemSolverRhoPimpleChem",
|
"solver" : "cfdemSolverPiso",
|
||||||
"type" : "CFDEMcoupling/mpi",
|
"type" : "CFDEMcoupling/mpi",
|
||||||
"nprocs" : 2,
|
"nprocs" : 2,
|
||||||
"pre_scripts" : ["prerun.sh"],
|
"pre_scripts" : ["prerun.sh"],
|
||||||
|
|||||||
Reference in New Issue
Block a user