Tutorial Case Magnetite - Wustite...

iron-oxide reduction in fludized beds, for the reaction magnetite-
wustite. No heat-transfer models active, coarse-grained, Temp is limited
to 2000 Kelvin. Hematite is considered to be completely reacted, minimum
radius size is entered. Works as intended.
This commit is contained in:
ekinaci
2018-09-14 10:28:21 +02:00
parent ec0f4f29ce
commit 8c819e4d1d
50 changed files with 3044 additions and 0 deletions

View File

@ -0,0 +1,36 @@
#!/bin/sh
#cd ${0%/*} || exit 1 # run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
source $CFDEM_PROJECT_DIR/etc/functions.sh
#- define variables
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
cd $casePath/CFD
cleanCase
# rm $casePath/CFD/rmass*.dat
#rm $casePath/CFD/*.dat
#rm $casePath/CFD/*.txt
rm $casePath/log*
#rm $casePath/run_error.log
#cp -R 0/Org/p 0/p
#cp -R 0/Org/U 0/U
#cp -R 0/Org/Us 0/Us
#cp -R 0/Org/phiIB 0/phiIB
#cp -R 0/Org/voidfraction 0/voidfraction
rm $casePath/DEM/post/liggghts_run*
rm $casePath/DEM/post/dump.liggghts_run
#mkdir $casePath/DEM/post
#mkdir $casePath/DEM/post/restart
#cd $casePath/DEM/post/restart
#touch liggghts.restart
## if postproc is activated (in fix_chem_shrink)
#rm $casePath/changeOfCO2
#rm $casePath/changeOfO2
#rm $casePath/rhogas_
#rm $casePath/pmass_
# ----------------------------------------------------------------- end-of-file

View File

@ -0,0 +1,50 @@
#!/bin/bash
#===================================================================#
# allrun script for testcase as part of test routine
# run settlingTest
# Christoph Goniva - Sept. 2010
#===================================================================#
#- source CFDEM env vars
. ~/.bashrc
#- include functions
source $CFDEM_PROJECT_DIR/etc/functions.sh
#- define variables
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
export casePath
#cd $casePath/CFD
#blockMesh
#$casePath/parDEMrun.sh
#bash $casePath/parCFDDEMrun.sh
export casePath
# check if mesh was built
if [ -f "$casePath/CFD/constant/polyMesh/points" ]; then
echo "mesh was built before - using old mesh"
else
echo "mesh needs to be built"
cd $casePath/CFD
blockMesh
fi
if [ -f "$casePath/DEM/post/restart/liggghts.restart" ]; then
echo "LIGGGHTS init was run before - using existing restart file"
else
#- run DEM in new terminal
$casePath/parDEMrun.sh
fi
#echo "Run Simulation"
#cd $casePath/CFD
#decomposePar
#mpirun -np $nrProcs $solverName -parallel | tee -a $logfileName
#- run parallel CFD-DEM in new terminal
#gnome-terminal -e "bash $casePath/parCFDDEMrun.sh"
bash $casePath/parCFDDEMrun.sh

View File

@ -0,0 +1,45 @@
/*--------------------------------*- 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 volScalarField;
location "0";
object CO;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 0.3801847328;
boundaryField
{
side-walls
{
type zeroGradient;
}
inlet
{
type fixedValue;
value uniform 0.3801847328;
}
outlet
{
type zeroGradient;
/* type inletOutlet;
value $internalField;
inletValue uniform 0.;*/
}
}
// ************************************************************************* //

View File

@ -0,0 +1,45 @@
/*--------------------------------*- 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 volScalarField;
location "0";
object CO2;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 0.4376348444;
boundaryField
{
side-walls
{
type zeroGradient;
}
inlet
{
type fixedValue;
value uniform 0.4376348444;
}
outlet
{
type zeroGradient;
/*type inletOutlet;
value $internalField;
inletValue uniform 0.;*/
}
}
// ************************************************************************* //

View File

@ -0,0 +1,45 @@
/*--------------------------------*- 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 volScalarField;
location "0";
object H2;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 0.0116562393;
boundaryField
{
side-walls
{
type zeroGradient;
}
inlet
{
type fixedValue;
value uniform 0.0116562393;
}
outlet
{
type zeroGradient;
/* type inletOutlet;
value $internalField;
inletValue uniform 0.; */
}
}
// ************************************************************************* //

View File

@ -0,0 +1,46 @@
/*--------------------------------*- 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 volScalarField;
location "0";
object H2O;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 0.0444583296;
boundaryField
{
side-walls
{
type zeroGradient;
}
inlet
{
type fixedValue;
value uniform 0.0444583296;
}
outlet
{
type zeroGradient;
/* type inletOutlet;
value $internalField;
inletValue uniform 0.; */
}
}
// ************************************************************************* //

View File

@ -0,0 +1,41 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object Ksl;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -3 -1 0 0 0 0];
internalField uniform 0.0;
boundaryField
{
side-walls
{
type zeroGradient;
}
inlet
{
type zeroGradient;
}
outlet
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,41 @@
/*--------------------------------*- 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 volScalarField;
location "0";
object N2;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 0.1260658538;
boundaryField
{
side-walls
{
type zeroGradient;
}
inlet
{
type fixedValue;
value uniform 0.1260658538;
}
outlet
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,41 @@
/*--------------------------------*- 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 volScalarField;
location "0";
object Qsource;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -3 0 0 0 0];
internalField uniform 0;
boundaryField
{
side-walls
{
type zeroGradient;
}
inlet
{
type zeroGradient;
}
outlet
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,41 @@
/*--------------------------------*- 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 volScalarField;
location "0";
object T;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField uniform 1023.15;
boundaryField
{
side-walls
{
type zeroGradient;
}
inlet
{
type fixedValue;
value uniform 1023.15;
}
outlet
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,42 @@
/*--------------------------------*- 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 volVectorField;
location "0";
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0 0 0];
internalField uniform (0.0 0.25 0.0);
boundaryField
{
side-walls
{
type fixedValue;
value uniform (0 0 0);
}
inlet
{
type fixedValue;
value uniform (0.0 0.25 0.0);
}
outlet
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,40 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volVectorField;
location "0";
object Us;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0 0 0];
internalField uniform (0 0 0);
boundaryField
{
side-walls
{
type zeroGradient;
}
inlet
{
type zeroGradient;
}
outlet
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,39 @@
/*--------------------------------*- 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 volScalarField;
location "0";
object alphat;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -1 0 0 0 0];
internalField uniform 0;
boundaryField
{
side-walls
{
type zeroGradient;
}
inlet
{
type zeroGradient;
}
outlet
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,38 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 |
| \\ / A nd | Web: http://www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object dSmoothing;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 0 0 0 0 0];
internalField uniform 0;
boundaryField
{
side-walls
{
type zeroGradient;
}
inlet
{
type zeroGradient;
}
outlet
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,43 @@
/*--------------------------------*- 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 volScalarField;
location "0";
object epsilon;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -3 0 0 0 0];
internalField uniform 0.003;
boundaryField
{
side-walls
{
type epsilonWallFunction;
value uniform 0.003;
}
inlet
{
type zeroGradient;
}
outlet
{
/*type inletOutlet;
inletValue uniform 0.003;
value uniform 0.003;*/
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,43 @@
/*--------------------------------*- 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 volScalarField;
location "0";
object k;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
internalField uniform 0.001;
boundaryField
{
side-walls
{
type kqRWallFunction;
value uniform 0.001;
}
inlet
{
type zeroGradient;
}
outlet
{
/*type inletOutlet;
inletValue uniform 0.001;
value uniform 0.001;*/
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,40 @@
/*--------------------------------*- 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 volScalarField;
location "0";
object mut;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -1 0 0 0 0];
internalField uniform 0;
boundaryField
{
side-walls
{
type zeroGradient;
}
inlet
{
type zeroGradient;
}
outlet
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,44 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object nut;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -1 0 0 0 0];
internalField uniform 0;
boundaryField
{
side-walls
{
type fixedValue;
value uniform 0;
}
inlet
{
type calculated;
value uniform 0;
}
outlet
{
type calculated;
value uniform 0;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,41 @@
/*--------------------------------*- 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 volScalarField;
location "0";
object p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -2 0 0 0 0];
internalField uniform 140000;
boundaryField
{
side-walls
{
type zeroGradient;
}
inlet
{
type zeroGradient;
}
outlet
{
type fixedValue;
value uniform 140000;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,42 @@
/*--------------------------------*- 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 volScalarField;
location "0";
object p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -2 0 0 0 0];
internalField uniform 140000;
boundaryField
{
side-walls
{
type zeroGradient;
}
inlet
{
type zeroGradient;
}
outlet
{
type fixedValue;
value uniform 140000;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,40 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 |
| \\ / A nd | Web: http://www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object rho;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -3 0 0 0 0 0];
internalField uniform 1.58;
boundaryField
{
side-walls
{
type zeroGradient;
}
inlet
{
type zeroGradient;
}
outlet
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,40 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object voidfraction;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 1;
boundaryField
{
side-walls
{
type zeroGradient;
}
inlet
{
type zeroGradient;
}
outlet
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,41 @@
/*--------------------------------*- 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";
object chemistryProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
chemistry off; //on;
chemistryType
{
chemistrySolver ode;
chemistryThermo rho;
}
initialChemicalTimeStep 1e-07;
EulerImplicitCoeffs
{
cTauChem 0.05;
equilibriumRateLimiter off;
}
odeCoeffs
{
solver seulex;
eps 0.05;
}
// ************************************************************************* //

View File

@ -0,0 +1,33 @@
/*--------------------------------*- 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";
object combustionProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
combustionModel PaSR<rhoChemistryCombustion>; //PaSR<psiChemistryCombustion>;
active false; //true;
noCombustionCoeffs
{
}
PaSRCoeffs
{
Cmix 1.0;
turbulentReaction off;
}
// ************************************************************************* //

View File

@ -0,0 +1,339 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.4 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "";
case "";
instance "";
local "";
class dictionary;
object couplingProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
//===========================================================================//
// sub-models & settings
modelType "A"; // A or B
couplingInterval 50;
voidFractionModel divided;
locateModel engine;//turboEngineM2M;//
meshMotionModel noMeshMotion;
regionModel allRegion;
IOModel basicIO; //sophIO;
probeModel off;
dataExchangeModel twoWayMPI;//twoWayM2M;//twoWayFiles;//oneWayVTK;//
averagingModel dense;
clockModel off; //standardClock;//
smoothingModel off;// localPSizeDiffSmoothing;// constDiffSmoothing; //
forceModels
(
GidaspowDrag
gradPForce
viscForce
);
energyModels
(
// heatTransferGunn
//reactionHeat
);
thermCondModel off; //SyamlalThermCond;
chemistryModels
(
species
diffusionCoefficients
massTransferCoeff
//off
);
momCoupleModels
(
implicitCouple
);
turbulenceModelType "turbulenceProperties";//"LESProperties";//
//===========================================================================//
// sub-model properties
reactionHeatProps
{
reactionHeatName "reactionHeat";
}
heatTransferGunnProps
{
partTempName "Temp";
partHeatFluxName "convectiveHeatFlux";
calcPartTempField true;
partRefTemp 1023;
verbose false;
}
speciesProps
{
ChemistryFile "$casePath/CFD/constant/foam.inp";
Nevery 1;
verbose false;
}
diffusionCoefficientsProps
{
verbose false;
ChemistryFile "$casePath/CFD/constant/foam.inp";
diffusantGasNames ( CO
H2
);
}
massTransferCoeffProps
{
verbose false;
}
reactantPerParticleProps
{
}
SyamlalThermCondProps
{
voidfractionFieldName "voidfraction";
rhoFieldName "rho";
}
LaEuScalarTempProps
{
velFieldName "U";
tempFieldName "T";
voidfractionFieldName "voidfraction";
partTempName "Temp";
partHeatFluxName "convectiveHeatFlux";
lambda 0.0256;
Cp 1007;
}
localPSizeDiffSmoothingProps
{
lowerLimit 0.1;
upperLimit 1e10;
dSmoothingLength 1.5e-3;
Csmoothing 1.0;
}
constDiffSmoothingProps
{
lowerLimit 0.1;
upperLimit 1e10;
smoothingLength 1.5e-3;
}
implicitCoupleProps
{
velFieldName "U";
granVelFieldName "Us";
voidfractionFieldName "voidfraction";
}
ArchimedesProps
{
gravityFieldName "g";
}
gradPForceProps
{
pFieldName "p";
voidfractionFieldName "voidfraction";
velocityFieldName "U";
interpolation true;
}
viscForceProps
{
velocityFieldName "U";
interpolation true;
}
volWeightedAverageProps
{
scalarFieldNames
(
voidfraction
);
vectorFieldNames
(
);
upperThreshold 0.999;
lowerThreshold 0;
verbose true;
}
totalMomentumExchangeProps
{
implicitMomExFieldName "Ksl";
explicitMomExFieldName "none";
fluidVelFieldName "U";
granVelFieldName "Us";
}
GidaspowDragProps
{
verbose true;
velFieldName "U";
granVelFieldName "Us";
voidfractionFieldName "voidfraction";
interpolation true;
phi 1;
}
DEMbasedDragProps
{
velFieldName "U";
voidfractionFieldName "voidfraction";
}
DiFeliceDragProps
{
//verbose true;
velFieldName "U";
voidfractionFieldName "voidfraction";
granVelFieldName "Us";
interpolation true;
}
KochHillDragProps
{
verbose true;
velFieldName "U";
voidfractionFieldName "voidfraction";
interpolation true;
//forceSubModels
//(
// ImExCorr
//);
implForceDEM true;
//implForceDEMaccumulated true;
//explicitCorr true;
}
BeetstraDragProps
{
velFieldName "U";
gravityFieldName "g";
rhoParticle 2000.;
voidfractionFieldName "voidfraction";
interpolation ;
useFilteredDragModel ;
useParcelSizeDependentFilteredDrag ;
k 0.05;
aLimit 0.0;
// verbose true;
}
RongDragProps
{
verbose true;
velFieldName "U";
voidfractionFieldName "voidfraction";
interpolation true;
implForceDEM true;
implForceDEMaccumulated true;
granVelFieldName "Us";
}
virtualMassForceProps
{
velFieldName "U";
}
particleCellVolumeProps
{
upperThreshold 0.999;
lowerThreshold 0.;
verbose true;
}
fieldStoreProps
{
scalarFieldNames
(
);
vectorFieldNames
(
"U"
);
}
oneWayVTKProps
{
couplingFilename "vtk_out%4.4d.vtk";
maxNumberOfParticles 30000;
}
twoWayFilesProps
{
maxNumberOfParticles 10100;
}
centreProps
{
alphaMin 0.1;
}
engineProps
{
treeSearch true;
}
turboEngineM2MProps
{
turboEngineProps
{
treeSearch true;
}
}
dividedProps
{
alphaMin 0.01;
scaleUpVol 1.0;
}
twoWayMPIProps
{
liggghtsPath "../DEM/in.liggghts_run";
}
twoWayM2MProps
{
maxNumberOfParticles 10100;
liggghtsPath "../DEM/in.liggghts_run";
}
// ************************************************************************* //

View File

@ -0,0 +1,126 @@
/*--------------------------------*- 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";
object foam.dat;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
H2
{
specie
{
nMoles 1;
molWeight 2.02;
}
thermodynamics
{
Tlow 200;
Thigh 6000;
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
{
As 1.67212e-06;
Ts 170.6;
}
}
H2O
{
specie
{
nMoles 1;
molWeight 18.015;
}
thermodynamics
{
Tlow 200;
Thigh 6000;
Tcommon 1000;
highCpCoeffs ( 2.677039E+00 2.973182E-03 -7.737689E-07 9.443351E-11 -4.268999E-15 -2.988589E+04 6.882550E+00);
lowCpCoeffs ( 4.198635E+00 -2.036402E-03 6.520342E-06 -5.487927E-09 1.771968E-12 -3.029373E+04 -8.490090E-01);
}
transport
{
As 1.67212e-06;
Ts 170.672;
}
}
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;
}
}
CO2
{
specie
{
nMoles 1;
molWeight 44.01;
}
thermodynamics
{
Tlow 200;
Thigh 6000;
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
{
As 1.67212e-06;
Ts 170.6;
}
}
N2
{
specie
{
nMoles 1;
molWeight 28.0134;
}
thermodynamics
{
Tlow 200;
Thigh 6000;
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
{
As 1.67212e-06;
Ts 170.672;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,14 @@
species
(
CO
CO2
H2
H2O
N2
);
reactions
{
}

View File

@ -0,0 +1,22 @@
/*--------------------------------*- 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 uniformDimensionedVectorField;
location "constant";
object g;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -2 0 0 0 0];
value ( 0 -9.81 0 );
// ************************************************************************* //

View File

@ -0,0 +1,43 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.4 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "";
case "";
instance "";
local "";
class dictionary;
object liggghtsCommands;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
liggghtsCommandModels
(
runLiggghts
writeLiggghts
);
// ************************************************************************* //
/*runLiggghtsProps
{
preNo false;
}*/
writeLiggghtsProps
{
writeLast on;
writeName "post/restart/liggghts.restartCFDEM";
overwrite on;
}

View File

@ -0,0 +1,77 @@
/*--------------------------------*- 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;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 1.0;
vertices
(
(0 0 0)
(0.06 0 0)
(0.06 0.15 0)
(0 0.15 0)
(0 0 0.06)
(0.06 0 0.06)
(0.06 0.15 0.06)
(0 0.15 0.06)
);
blocks
(
hex (0 1 2 3 4 5 6 7)(25 63 25) simpleGrading (1 1 1)
);
edges
(
);
boundary
(
outlet
{
type patch;
faces
(
(3 7 6 2)
);
}
inlet
{
type patch;
faces
(
(1 5 4 0)
);
}
side-walls
{
type wall;
faces
(
(0 3 2 1)
(4 5 6 7)
(0 4 7 3)
(2 6 5 1)
);
}
);
mergePatchPairs
(
);
// ************************************************************************* //

View File

@ -0,0 +1,67 @@
/*--------------------------------*- 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";
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType
{
type heRhoThermo; //hePsiThermo; //
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
thermo janaf;
equationOfState perfectGas;
energy sensibleEnthalpy; //uses enthaly in the solution
specie specie;
}
chemistryReader foamChemistryReader;
foamChemistryThermoFile "$casePath/CFD/constant/foam.dat";
foamChemistryFile "$casePath/CFD/constant/foam.inp";
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;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,44 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object transportProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
transportModel Newtonian;
nu nu [ 0 2 -1 0 0 0 0 ] 1.126e-05; //
kf kf [ 1 1 -3 -1 0 0 0 ] 0.0507; // comes from energy model
Cp Cp [ 0 2 -2 -1 0 0 0 ] 3050; // comes from energy model
// ******* Non-Newtonian transport properties ************************ //
/*CrossPowerLawCoeffs
{
nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06;
nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06;
m m [ 0 0 1 0 0 0 0 ] 1;
n n [ 0 0 0 0 0 0 0 ] 1;
}
BirdCarreauCoeffs
{
nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06;
nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06;
k k [ 0 0 1 0 0 0 0 ] 0;
n n [ 0 0 0 0 0 0 0 ] 1;
}
*/
// ************************************************************************* //

View File

@ -0,0 +1,20 @@
/*--------------------------------*- 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";
object turbulenceProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
simulationType laminar;
// ************************************************************************* //

View File

@ -0,0 +1,15 @@
set terminal qt 0
set title "Fractional Reduction No CG"
set xtic auto
set ytic auto
set xlabel "Time, (s)"
set ylabel "Reduction Rate, (%)"
set grid xtics ytics
set autoscale
plot "Output.dat" using 1:($2/28545)*100 title 'fw' with lines lc rgb '#0060ad' lt 2.5 lw 2.5, \
"Output.dat" using 1:($3/28545)*100 title 'fm' with lines lc rgb '#dd181f' lt 2.5 lw 2.5, \
"Output.dat" using 1:($4/28545)*100 title 'fh' with lines lt 2.5 lw 2.5,\
"Output.dat" using 1:(($4/28545)*1/9+($3/28545)*2/9+($2/28545)*6/9)*100 title 'ftot' with lines lc "black" lt 2.5 lw 2.5
pause 1
reread

View File

@ -0,0 +1,164 @@
/*--------------------------------*- 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.0;
stopAt endTime;
endTime 70;
deltaT 0.0005; //0.00025;
writeControl timeStep;
writeInterval 5000;
purgeWrite 0;
writeFormat ascii;
writePrecision 6;
writeCompression off;
timeFormat general;
timePrecision 6;
runTimeModifiable false;
adjustTimeStep no;
maxCo 0.5;
maxDeltaT 0.1;
// ************************************************************************* //
libs (
"libfieldFunctionObjects.so"
);
functions
{
moleFrac
{
type rhoReactionThermoMoleFractions;
}
residuals
{
type residuals;
functionObjectLibs ("libutilityFunctionObjects.so");
enabled true;
outputControl timeStep;
outputInterval 1;
fields
(
p
U
);
}
gasResidual
{
type residuals;
functionObjectLibs ("libutilityFunctionObjects.so");
enabled true;
outputControl timeStep;
outputInterval 1;
fields
(
CO
CO2
H2
H2O
N2
);
}
probes1
{
type probes;
functionObjectLibs ("libsampling.so");
#include "probesDict";
}
fieldMinMax1
{
type fieldMinMax;
libs ("libfieldFunctionObjects.so");
fields (U);
// Report the location of the field extrema
location yes;
// Type of extrema for rank > 0 primitives
mode magnitude; // magnitude | component
}
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
H2O
CO2
CO
N2
);
}
globalMass
{
type volRegion;
libs ("libfieldFunctionObjects.so");
writeControl timeStep;//outputTime;
writeInterval 1;
log true;
writeFields false;
regionType all;
name c1;
operation volIntegrate;
fields
(
rhoeps
rho
);
}
}
// ************************************************************************* //

View File

@ -0,0 +1,164 @@
/*--------------------------------*- 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.0;
stopAt endTime;
endTime 1;
deltaT 0.0001;
writeControl timeStep; //
writeInterval 50; //500;
purgeWrite 10;
writeFormat ascii;
writePrecision 6;
writeCompression off;
timeFormat general;
timePrecision 6;
runTimeModifiable false;
adjustTimeStep no;
maxCo 0.5;
maxDeltaT 0.1;
// ************************************************************************* //
libs (
"libfieldFunctionObjects.so"
);
functions
{
moleFrac
{
type rhoReactionThermoMoleFractions;
}
residuals
{
type residuals;
functionObjectLibs ("libutilityFunctionObjects.so");
enabled true;
outputControl timeStep;
outputInterval 1;
fields
(
p
U
);
}
gasResidual
{
type residuals;
functionObjectLibs ("libutilityFunctionObjects.so");
enabled true;
outputControl timeStep;
outputInterval 1;
fields
(
CO
CO2
H2
H2O
N2
);
}
probes1
{
type probes;
functionObjectLibs ("libsampling.so");
#include "probesDict";
}
fieldMinMax1
{
type fieldMinMax;
libs ("libfieldFunctionObjects.so");
fields (U);
// Report the location of the field extrema
location yes;
// Type of extrema for rank > 0 primitives
mode magnitude; // magnitude | component
}
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
H2O
CO2
CO
N2
);
}
globalMass
{
type volRegion;
libs ("libfieldFunctionObjects.so");
writeControl timeStep;//outputTime;
writeInterval 1;
log true;
writeFields false;
regionType all;
name c1;
operation volIntegrate;
fields
(
rhoeps
rho
);
}
}
// ************************************************************************* //

View File

@ -0,0 +1,46 @@
/*--------------------------------*- 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 decomposeParDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
numberOfSubdomains 8;
//method scotch;
method simple;
simpleCoeffs
{
n (4 1 2);
delta 0.001;
}
hierarchicalCoeffs
{
n ( 1 1 1 );
delta 0.001;
order xyz;
}
manualCoeffs
{
dataFile "";
}
distributed no;
roots ( );
// ************************************************************************* //

View File

@ -0,0 +1,78 @@
/*--------------------------------*- 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 1020;
Tmax 2000;
}
}
/*fixedTemperature
{
type fixedTemperatureConstraint;
active yes;
selectionMode all;
fixedTemperatureConstraintCoeffs
{
active yes;
selectionMode all;
mode uniform;
temperature 753; //993.15;
}
}*/
/*fixedVelocity
{
type vectorFixedValueConstraint;
active yes;
vectorFixedValueConstraintCoeffs
{
selectionMode all;
fieldValues
{
U (0.0 0.25 0.0);
}
}
} */
/*fixedSpecies
{
type vectorFixedValueConstraint;
active true;
vectorFixedValueConstraintCoeffs
{
selectionMode all;
fieldValues
{
CO (0. 0.3923 0.);
CO2 (0. 0.2332 0.);
H2 (0. 0.0101 0.);
H2O (0. 0.0230 0.);
N2 (0. 0.3414 0.);
}
}
}*/

View File

@ -0,0 +1,80 @@
/*--------------------------------*- 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 fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
default Euler;
}
gradSchemes
{
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;
}
divSchemes
{
default Gauss linear;
div(phi,U) Gauss limitedLinear 1; //Gauss linear; //Gauss limitedLinear 1; // //Gauss limitedLinearV 1; //
div(phid,p) Gauss limitedLinear 1; //Gauss upwind; //Gauss limitedLinearV 1;
div(phi,K) Gauss linear;
div(phi,h) Gauss limitedLinear 1; //Gauss upwind;
div(phi,k) Gauss limitedLinear 1; //Gauss upwind;
div(phi,epsilon) Gauss limitedLinear 1; //Gauss upwind;
div(U) Gauss limitedLinear 1;
div(phi,Yi_h) Gauss multivariateSelection
{
CO limitedLinear01 1;
H2 limitedLinear01 1;
N2 limitedLinear01 1;
H2O limitedLinear01 1;
CO2 limitedLinear01 1;
h limitedLinear 1;
}
// div((muEff*dev2(T(grad(U))))) Gauss linear;
div((viscousTerm*dev2(grad(U).T()))) Gauss linear;
div((thermo:mu*dev(grad(U).T()))) Gauss linear;
div((nuEff*dev2(T(grad(U))))) Gauss linear;
}
laplacianSchemes
{
default Gauss linear corrected; //Gauss linear orthogonal;
}
interpolationSchemes
{
default linear;
interpolate(U) linear;
}
snGradSchemes
{
default corrected; //orthogonal;
}
fluxRequired
{
default no;
p ;
}
// ************************************************************************* //

View File

@ -0,0 +1,127 @@
/*--------------------------------*- 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 fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
p
{
/*solver PCG;
preconditioner DIC;
tolerance 1e-6;
relTol 0.01;*/
solver GAMG;
tolerance 1e-06;
relTol 0.01;
smoother GaussSeidel;
nPreSweeps 0;
nPostSweeps 2;
nFinestSweeps 2;
cacheAgglomeration on;
nCellsInCoarsestLevel 10;
agglomerator faceAreaPair;
mergeLevels 1;
}
pFinal
{
$p;
tolerance 1e-06;
relTol 0;
}
"(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|R|k|epsilon)"
{
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-05;
relTol 0.1;
}
"(U|h|R|k|epsilon)Final"
{
$U;
tolerance 1e-05;
relTol 0;
}
"(Yi|CO|CO2|H2|H2O|N2)"
{
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-06;
relTol 0.01;
maxIter 1;
}
"(Yi|CO|CO2|H2|H2O|N2)Final"
{
$Yi;
tolerance 1e-06;
relTol 0;
maxIter 1;
}
T
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-8;
relTol 0;
}
}
PIMPLE
{
momentumPredictor yes;
nOuterCorrectors 3;
nCorrectors 1;
nNonOrthogonalCorrectors 0;
rhoMin rhoMin [ 1 -3 0 0 0 ] 0.5;
rhoMax rhoMax [ 1 -3 0 0 0 ] 2.5;
}
relaxationFactors
{
fields
{
}
equations
{
".*" 0.9;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,57 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \ / O peration | Version: 2.1.x |
| \ / A nd | Web: www.OpenFOAM.org |
| \/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object probesDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
fields
(
rho
p
T
molC
N2
CO2
CO
H2
H2O
ModSpeciesMassField_N2
ModSpeciesMassField_CO2
ModSpeciesMassField_CO
ModSpeciesMassField_H2
ModSpeciesMassField_H2O
X_CO
X_CO2
X_H2
X_H2O
X_N2
);
writeControl timeStep;
writeInterval 10000;
// Locations to be probed.
probeLocations
(
(0.03 0.025 0.03)
(0.03 0.05 0.03)
(0.03 0.075 0.03)
(0.03 0.09 0.03)
(0.03 0.12 0.03)
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -0,0 +1,65 @@
# Particle insertion into domain
coarsegraining 6.0 model_check error
atom_style granular
atom_modify map array
echo both
communicate single vel yes
boundary f f f
newton off
units si
processors 4 1 2
region reg block 0.0 0.06 0.0 0.15 0.0 0.06 units box
create_box 1 reg
neighbor 0.0005 bin
neigh_modify delay 0
# Material properties required for granular pair styles
fix m1 all property/global youngsModulus peratomtype 5.e6
fix m2 all property/global poissonsRatio peratomtype 0.45
fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3
fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
# pair style
pair_style gran model hertz tangential history
pair_coeff * *
# timestep, gravity
timestep 1e-6
fix gravi all gravity 9.81 vector 0.0 -1.0 0.0
# walls
fix xwalls1 all wall/gran model hertz tangential history primitive type 1 xplane 0.0
fix xwalls2 all wall/gran model hertz tangential history primitive type 1 xplane 0.06
fix ywalls1 all wall/gran model hertz tangential history primitive type 1 yplane 0.0
fix ywalls2 all wall/gran model hertz tangential history primitive type 1 yplane 0.15
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.06
# particle distributions and insertion
region bc block 0.0 0.06 0.0 0.08 0.0 0.06 units box
fix pts1 all particletemplate/sphere 1 atom_type 1 density constant 4630 radius constant 0.00011
fix pdd1 all particledistribution/discrete 1 1 pts1 1.0
fix ins all insert/pack seed 100001 distributiontemplate pdd1 vel constant 0. -1. 0. insert_every once overlapcheck yes all_in yes particles_in_region 28545 region bc
# apply nve integration to all particles that are inserted as single particles
fix integr all nve/sphere
# screen output
compute rke all erotate/sphere
thermo_style custom step atoms ke c_rke vol
thermo 1000
thermo_modify lost ignore norm no
compute_modify thermo_temp dynamic yes
# insert the first particles so that dump is not empty
run 1
dump dmp all custom 1000 post/dump.liggghts_init id type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius
run 150000 upto
write_restart ../DEM/post/restart/liggghts.restart

View File

@ -0,0 +1,305 @@
# Pour granular particles into chute container, then induce flow
log ../DEM/log.liggghts
thermo_log ../DEM/post/thermo.txt
coarsegraining 6.0 model_check error
atom_style granular
atom_modify map array
communicate single vel yes
boundary f f f
newton off
units si
processors 4 1 2
# read the restart file
read_restart ../DEM/post/restart/liggghts.restart
#region remo block 0.0 0.005 0.0 0.010 0.0275 0.0325 units box
#delete_atoms region remo compress no
neighbor 0.0005 bin
neigh_modify delay 0
# Material properties required for granular pair styles
fix m1 all property/global youngsModulus peratomtype 5.e6
fix m2 all property/global poissonsRatio peratomtype 0.45
fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3
fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
# pair style
pair_style gran model hertz tangential history # Hertzian without cohesion
pair_coeff * *
# timestep, gravity
timestep 1e-5
fix gravi all gravity 9.81 vector 0.0 -1.0 0.0
# walls
fix xwalls1 all wall/gran model hertz tangential history primitive type 1 xplane 0.0
fix xwalls2 all wall/gran model hertz tangential history primitive type 1 xplane 0.06
fix ywalls1 all wall/gran model hertz tangential history primitive type 1 yplane 0.0
fix ywalls2 all wall/gran model hertz tangential history primitive type 1 yplane 0.15
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.06
#Thermal properties
# fix ftco all property/global thermalConductivity peratomtype 1.4
# fix ftca all property/global thermalCapacity peratomtype 800
###############################################
fix ts_check all check/timestep/gran 10 0.1 0.1
### cfd coupling
fix cfd all couple/cfd couple_every 50 mpi
fix cfd2 all couple/cfd/force/implicit
# apply nve integration to all particles that are inserted as single particles
fix integr all nve/sphere
# this one invokes heat transfer calculation, transfers per-particle temperature and adds convective heat flux to particles
# fix tconv all couple/cfd/convection T0 300
#### stuff for chemistry ####
#### this should invoke chemistry
fix cfd3 all couple/cfd/chemistry n_species 5 species_names CO CO2 H2 H2O N2 n_diff 2 diffusant_names CO H2
### 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 cfd6 all chem/shrink/core speciesA H2 molMassA 0.00202 speciesC H2O molMassC 0.01801 screen no nevery 1
### 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 Ea_CO all property/global Ea_cfd5 vector 69488 73674 113859
fix k0_H2 all property/global k0_cfd6 vector 30 23 160
fix Ea_H2 all property/global Ea_cfd6 vector 63627 71162 92092
### particle porosity/tortuosity/pore diameter #(porosities has to change)
fix porosity all property/atom porosity_ vector yes no no 0.624 0.2636 0.102 0.084
fix tortuosity all property/global tortuosity_ scalar 3
fix pore_diameter all property/global pore_diameter_ scalar 1e-6
### Material properties for unreacted chemical shrink core (activate only when chem/shrink/core is active)
fix density all property/global density_all vector 7870 5740 5170 5240
fix molMass all property/global molMass_all vector 0.055845 0.071844 0.231532 0.1596882
### define layer radius
fix LayerRelRadii all property/atom relRadii vector yes no no 1.0 0.9999 0.998 0.001
### define fix for mass layer - initial testing
fix LayerMasses all property/atom massLayer vector yes no no 0. 0. 0. 0.
## define fix for rho_eff and fracRed - initialize as zero
fix fracRed all property/atom fracRed vector yes no no 0. 0. 0.
fix rhoeff all property/atom rhoeff vector yes no no 0. 0. 0. 0.
fix dY_cfd5 all property/atom dY_cfd5 vector yes yes no 0. 0. 0.
fix dY_cfd6 all property/atom dY_cfd6 vector yes yes no 0. 0. 0.
#fix dmA_cfd5 all property/atom dmA_cfd5 vector yes yes no 0. 0. 0.
#fix dmA_cfd6 all property/atom dmA_cfd6 vector yes yes no 0. 0. 0.
###############################################
variable WI equal 25000
variable time equal step*dt
variable m1 equal mass[1]
variable rp equal radius[1]
variable rho1 equal mass[1]/((4/3)*PI*radius[1]*radius[1]*radius[1])
fix printmass all print ${WI} "${time} ${m1} ${rho1} ${rp}" file mass_rho_rad.txt title "#time mass rho rad_par"
###############################################
####### check nufield and Rep if it changes due to processor switch
compute nu1 all reduce sum f_partNu
fix NuField all ave/time 1 1 1 c_nu1
variable nu_f equal f_NuField
compute ReF all reduce sum f_partRe
fix ReField all ave/time 1 1 1 c_ReF
variable Re equal f_ReField
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
compute H2diff all reduce sum f_H2_diffCoeff
fix diffField_H2 all ave/time 1 1 1 c_H2diff
variable H2_diffCo equal f_diffField_H2
fix printErrorCheck all print 10000 "${time} ${nu_f} ${Re} ${CO_diffCo} ${H2_diffCo}" file ErrorCheck.dat title "#time nu_f Re CO_diffCoeff H2_diffCoeff"
###############################################
## Check Layer Radii and Write them to files ###
compute layerRad1 all reduce sum f_LayerRelRadii[1]
fix redRad1 all ave/time 1 1 1 c_layerRad1
variable rr1 equal f_redRad1
compute layerRad2 all reduce sum f_LayerRelRadii[2]
fix redRad2 all ave/time 1 1 1 c_layerRad2
variable rr2 equal f_redRad2
compute layerRad3 all reduce sum f_LayerRelRadii[3]
fix redRad3 all ave/time 1 1 1 c_layerRad3
variable rr3 equal f_redRad3
compute layerRad4 all reduce sum f_LayerRelRadii[4]
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_CO all reduce sum f_Aterm_cfd5[1] f_Aterm_cfd5[2] f_Aterm_cfd5[3]
fix Aterm1 all ave/time 10 1 10 c_Aterm_red_CO[1] c_Aterm_red_CO[2] c_Aterm_red_CO[3]
variable a_CO_1 equal f_Aterm1[1]
variable a_CO_2 equal f_Aterm1[2]
variable a_CO_3 equal f_Aterm1[3]
compute Aterm_red_H2 all reduce sum f_Aterm_cfd6[1] f_Aterm_cfd6[2] f_Aterm_cfd6[3]
fix Aterm2 all ave/time 10 1 10 c_Aterm_red_H2[1] c_Aterm_red_H2[2] c_Aterm_red_H2[3]
variable a_H2_1 equal f_Aterm2[1]
variable a_H2_2 equal f_Aterm2[2]
variable a_H2_3 equal f_Aterm2[3]
compute Bterm_red_CO all reduce sum f_Bterm_cfd5[1] f_Bterm_cfd5[2] f_Bterm_cfd5[3]
fix Bterm1 all ave/time 10 1 10 c_Bterm_red_CO[1] c_Bterm_red_CO[2] c_Bterm_red_CO[3]
variable b_CO_1 equal f_Bterm1[1]
variable b_CO_2 equal f_Bterm1[2]
variable b_CO_3 equal f_Bterm1[3]
compute Bterm_red_H2 all reduce sum f_Bterm_cfd6[1] f_Bterm_cfd6[2] f_Bterm_cfd6[3]
fix Bterm2 all ave/time 10 1 10 c_Bterm_red_H2[1] c_Bterm_red_H2[2] c_Bterm_red_H2[3]
variable b_H2_1 equal f_Bterm2[1]
variable b_H2_2 equal f_Bterm2[2]
variable b_H2_3 equal f_Bterm2[3]
compute Massterm_red_CO all reduce sum f_Massterm_cfd5
fix Massterm1 all ave/time 10 1 10 c_Massterm_red_CO
variable mt_CO equal f_Massterm1
compute Massterm_red_H2 all reduce sum f_Massterm_cfd6
fix Massterm2 all ave/time 10 1 10 c_Massterm_red_H2
variable mt_H2 equal f_Massterm2
compute fracRedTerm all reduce sum f_fracRed[1] f_fracRed[2] f_fracRed[3]
fix fracRed1 all ave/time 10 1 10 c_fracRedTerm[1] c_fracRedTerm[2] c_fracRedTerm[3]
variable fr_1 equal f_fracRed1[1]
variable fr_2 equal f_fracRed1[2]
variable fr_3 equal f_fracRed1[3]
compute effDiffBinary_red_CO all reduce sum f_effDiffBinary_cfd5[1] f_effDiffBinary_cfd5[2] f_effDiffBinary_cfd5[3]
fix effDiffBinary1 all ave/time 10 1 10 c_effDiffBinary_red_CO[1] c_effDiffBinary_red_CO[2] c_effDiffBinary_red_CO[3]
variable dij_CO_1 equal f_effDiffBinary1[1]
variable dij_CO_2 equal f_effDiffBinary1[2]
variable dij_CO_3 equal f_effDiffBinary1[3]
compute effDiffBinary_red_H2 all reduce sum f_effDiffBinary_cfd6[1] f_effDiffBinary_cfd6[2] f_effDiffBinary_cfd6[3]
fix effDiffBinary2 all ave/time 10 1 10 c_effDiffBinary_red_H2[1] c_effDiffBinary_red_H2[2] c_effDiffBinary_red_H2[3]
variable dij_H2_1 equal f_effDiffBinary2[1]
variable dij_H2_2 equal f_effDiffBinary2[2]
variable dij_H2_3 equal f_effDiffBinary2[3]
compute effDiffKnud_red_CO all reduce sum f_effDiffKnud_cfd5[1] f_effDiffKnud_cfd5[2] f_effDiffKnud_cfd5[3]
fix effDiffKnud1 all ave/time 10 1 10 c_effDiffKnud_red_CO[1] c_effDiffKnud_red_CO[2] c_effDiffKnud_red_CO[3]
variable dik_CO_1 equal f_effDiffKnud1[1]
variable dik_CO_2 equal f_effDiffKnud1[2]
variable dik_CO_3 equal f_effDiffKnud1[3]
compute effDiffKnud_red_H2 all reduce sum f_effDiffKnud_cfd6[1] f_effDiffKnud_cfd6[2] f_effDiffKnud_cfd6[3]
fix effDiffKnud2 all ave/time 10 1 10 c_effDiffKnud_red_H2[1] c_effDiffKnud_red_H2[2] c_effDiffKnud_red_H2[3]
variable dik_H2_1 equal f_effDiffKnud2[1]
variable dik_H2_2 equal f_effDiffKnud2[2]
variable dik_H2_3 equal f_effDiffKnud2[3]
compute porosity_red all reduce sum f_porosity[1] f_porosity[2] f_porosity[3] f_porosity[4]
fix porosity1 all ave/time 10 1 10 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_LayerMasses[1] f_LayerMasses[2] f_LayerMasses[3] f_LayerMasses[4]
fix massLayerPrintout all ave/time 1 1 1 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]
compute dY_CO all reduce sum f_dY_cfd5[1] f_dY_cfd5[2] f_dY_cfd5[3]
fix dY_CO_Output all ave/time 1 1 1 c_dY_CO[1] c_dY_CO[2] c_dY_CO[3]
variable dY_CO_1 equal f_dY_CO_Output[1]
variable dY_CO_2 equal f_dY_CO_Output[2]
variable dY_CO_3 equal f_dY_CO_Output[3]
compute dY_H2 all reduce sum f_dY_cfd6[1] f_dY_cfd6[2] f_dY_cfd6[3]
fix dY_H2_Output all ave/time 1 1 1 c_dY_H2[1] c_dY_H2[2] c_dY_H2[3]
variable dY_H2_1 equal f_dY_H2_Output[1]
variable dY_H2_2 equal f_dY_H2_Output[2]
variable dY_H2_3 equal f_dY_H2_Output[3]
compute xA_CO all reduce sum f_X_CO
fix molarFractionA_CO all ave/time 1 1 1 c_xA_CO
variable xA_CO_1 equal f_molarFractionA_CO
compute xA_H2 all reduce sum f_X_H2
fix molarFractionA_H2 all ave/time 1 1 1 c_xA_H2
variable xA_H2_1 equal f_molarFractionA_H2
compute xC_CO2 all reduce sum f_X_CO2
fix molarFractionC_CO2 all ave/time 1 1 1 c_xC_CO2
variable xC_CO2_1 equal f_molarFractionC_CO2
compute xC_H2O all reduce sum f_X_H2O
fix molarFractionC_H2O all ave/time 1 1 1 c_xC_H2O
variable xC_H2O_1 equal f_molarFractionC_H2O
### Reactant gas mass change ###
compute dma_CO all reduce sum f_dmA_cfd5[1] f_dmA_cfd5[2] f_dmA_cfd5[3]
fix dmA_f_CO all ave/time 1 1 1 c_dma_CO[1] c_dma_CO[2] c_dma_CO[3]
variable dmA_CO_1 equal f_dmA_f_CO[1]
variable dmA_CO_2 equal f_dmA_f_CO[2]
variable dmA_CO_3 equal f_dmA_f_CO[3]
compute dma_H2 all reduce sum f_dmA_cfd6[1] f_dmA_cfd6[2] f_dmA_cfd6[3]
fix dmA_f_H2 all ave/time 1 1 1 c_dma_H2[1] c_dma_H2[2] c_dma_H2[3]
variable dmA_H2_1 equal f_dmA_f_H2[1]
variable dmA_H2_2 equal f_dmA_f_H2[2]
variable dmA_H2_3 equal f_dmA_f_H2[3]
### Write Mass change files to file ###
fix printdmA all print ${WI} "${time} ${dmA_CO_1} ${dmA_CO_2} ${dmA_CO_3} ${dmA_H2_1} ${dmA_H2_2} ${dmA_H2_3}" file dmA.dat title "#time dmA_CO_1 dmA_CO_2 dmA_CO_3 dmA_H2_1 dmA_H2_2 dmA_H2_3"
### Write Outputs ###
fix printOutput all print ${WI} "${time} ${fr_1} ${fr_2} ${fr_3}" file Output.dat title "#time fr_1 fr_2 fr_3 "
fix printAterm all print ${WI} "${time} ${mt_CO} ${mt_H2} ${a_CO_1} ${a_CO_2} ${a_CO_3} ${a_H2_1} ${a_H2_2} ${a_H2_3}" file Aterm.dat title "#time mt_CO mt_H2 a_CO_1 aCO_2 a_CO_3 a_H2_1 a_H2_2 a_H2_3"
fix printBterm all print ${WI} "${time} ${b_CO_1} ${b_CO_2} ${b_CO_3} ${b_H2_1} ${b_H2_2} ${b_H2_3}" file Bterm.dat title "#time b_CO_1 b_CO_2 b_CO_3 b_H2_1 b_H2_2 b_H2_3"
fix printDiffTerms all print ${WI} "${time} ${dij_CO_1} ${dij_CO_2} ${dij_CO_3} ${dij_H2_1} ${dij_H2_2} ${dij_H2_3} ${dik_CO_1} ${dik_CO_2} ${dik_CO_3} ${dik_H2_1} ${dik_H2_2} ${dik_H2_3} " file DiffTerm.dat title "#time dij_CO_1 dij_CO_2 dij_CO_3 dij_H2_1 dij_H2_2 dij_H2_3 dik_CO_1 dik_CO_2 dik_CO_3 dik_H2_1 dik_H2_2 dik_H2_3"
fix printMassLayer all print ${WI} "${time} ${mL1} ${mL2} ${mL3} ${mL4}" file MassLayers.dat title "#time mL_Fe mL_w mL_m mL_h"
fix printdmYLayer all print ${WI} "${time} ${dY_CO_1} ${dY_CO_2} ${dY_CO_3} ${dY_H2_1} ${dY_H2_2} ${dY_H2_3}" file dmY.dat title "#time dY_CO_1 dY_CO_2 dY_CO_3 dY_H2_1 dY_H2_2 dY_H2_3"
fix molarFractions all print ${WI} "${time} ${xA_CO_1} ${xA_H2_1} ${xC_CO2_1} ${xC_H2O_1}" file molarFractions.dat title "#title x_CO x_H2 x_CO2 x_H2O"
###############################################
# screen output
compute rke all erotate/sphere
thermo_style custom step atoms ke c_rke vol
thermo 1000
thermo_modify lost ignore norm no
compute_modify thermo_temp dynamic yes
dump dmp all custom ${WI} ../DEM/post/dump.liggghts_run id type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius
dump tstdmp2 all custom 250000 ../DEM/dumptest.liggghts_run id type x y z vx vy vz f_Aterm_cfd5[1] f_Aterm_cfd5[2] f_Aterm_cfd5[3] f_Aterm_cfd6[1] f_Aterm_cfd6[2] f_Aterm_cfd6[3] f_Bterm_cfd5[1] f_Bterm_cfd5[2] f_Bterm_cfd5[3] f_Bterm_cfd6[1] f_Bterm_cfd6[2] f_Bterm_cfd6[3] f_Massterm_cfd5 f_Massterm_cfd6 f_X_CO f_X_H2 f_X_CO2 f_X_H2O f_fracRed[1] f_fracRed[2] f_fracRed[3]
#dump tstdmp3 all custom 250000 ../DEM/dumpDIFF.liggghts_run id type x y z vx vy vz f_effDiffBinary_cfd5[1] f_effDiffBinary_cfd5[2] f_effDiffBinary_cfd5[3] f_effDiffBinary_cfd6[1] f_effDiffBinary_cfd6[2] f_effDiffBinary_cfd6[3]
run 1

View File

@ -0,0 +1,20 @@
#!/bin/bash
#PBS -o fb.out
#PBS -V
#PBS -k oe
#PBS -j oe
#PBS -l nodes=1:ppn=8
#PBS -l walltime=999:00:00
#PBS -m ae
#PBS -M mustafa_efe.kinaci@jku.at
source ~/.bashrc
source /apps/openfoam-4.0/OpenFOAM-4.x-version-4.0/etc/bashrc
source $HOME/CFDEM/CFDEMcoupling/etc/bashrc
module add icc gcc/4.9.1
caseDir=$HOME/CFDEM/CFDEMcoupling/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_R2
cd $caseDir
./Allrun.sh

View File

@ -0,0 +1,96 @@
#!/bin/bash
#===================================================================#
# allrun script for testcase as part of test routine
# run settlingTest CFD part
# Christoph Goniva - Feb. 2011
#===================================================================#
#- source CFDEM env vars
. ~/.bashrc
#- include functions
source $CFDEM_PROJECT_DIR/etc/functions.sh
#--------------------------------------------------------------------------------#
#- define variables
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
logpath=$casePath
headerText="testingFluidizedBed"
logfileName="log_$headerText"
solverName="cfdemSolverRhoPimpleChem" #"cfdemSolverPiso" #
nrProcs="8"
machineFileName="none" # yourMachinefileName | none
debugMode="off" # on | off| strict
testHarnessPath="$CFDEM_TEST_HARNESS_PATH"
runOctave="false"
postproc="true"
#--------------------------------------------------------------------------------#
#- call function to run a parallel CFD-DEM case
parCFDDEMrun $logpath $logfileName $casePath $headerText $solverName $nrProcs $machineFileName $debugMode
if [ $runOctave == "true" ]
then
#------------------------------#
# octave
#- change path
cd octave
#- rmove old graph
rm cfdemSolverPiso_ErgunTestMPI.eps
#- run octave
octave totalPressureDrop.m
#- show plot
evince cfdemSolverPiso_ErgunTestMPI.eps
#- copy log file to test harness
cp ../../$logfileName $testHarnessPath
cp cfdemSolverPiso_ErgunTestMPI.eps $testHarnessPath
fi
if [ $postproc == "true" ]
then
#- keep terminal open (if started in new terminal)
echo "simulation finished? ...press enter to proceed"
read
#- 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 #- serial run of foamToVTK
#source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh #- include functions
#pseudoParallelRun "foamToVTK" $nrPostProcProcessors #- pseudo parallel run of foamToVTK
#- start paraview
paraview
#- keep terminal open (if started in new terminal)
echo "...press enter to clean up case"
echo "press Ctr+C to keep data"
read
fi
#- clean up case
#echo "deleting data at: $casePath :\n"
#source $WM_PROJECT_DIR/bin/tools/CleanFunctions
#cd $casePath/CFD
#cleanCase
#rm -r $casePath/CFD/clockData
#rm $casePath/DEM/post/*.*
#touch $casePath/DEM/post/.gitignore
#rm $casePath/DEM/post/restart/*.*
#rm $casePath/DEM/post/restart/liggghts.restartCFDEM*
#touch $casePath/DEM/post/restart/.gitignore
#echo "done"

View File

@ -0,0 +1,30 @@
#!/bin/bash
#===================================================================#
# DEMrun script for ErgunTestMPI testcase
# init ErgunTestMPI
# Christoph Goniva - July 2014
#===================================================================#
#- source CFDEM env vars
. ~/.bashrc
#- include functions
source $CFDEM_PROJECT_DIR/etc/functions.sh
echo "starting DEM run in parallel..."
#--------------------------------------------------------------------------------#
#- define variables
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
logpath="$casePath"
headerText="run_liggghts_init_DEM"
logfileName="log_$headerText"
solverName="in.liggghts_init"
nrProcs=8
machineFileName="none"
debugMode="off"
#--------------------------------------------------------------------------------#
#- call function to run DEM case
parDEMrun $logpath $logfileName $casePath $headerText $solverName $nrProcs $machineFileName $debugMode

View File

@ -0,0 +1,14 @@
#!/bin/bash
# Open and plot the residuals for time/iteration and gas species
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
cd $casePath
#echo "Load Gnuplot"
#gnuplot > load 'Residuals.plt' &
echo "Residual vs Time"
foamMonitor -l CFD/postProcessing/residuals/0/residuals.dat &
echo "gasResidual vs Time"
foamMonitor -l CFD/postProcessing/gasResidual/0/residuals.dat
wait

View File

@ -0,0 +1,2 @@
#!/bin/bash
# nothing to see here

View File

@ -0,0 +1,13 @@
#!/bin/bash
#- define variables
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
# check if mesh was built
if [ -f "$casePath/CFD/constant/polyMesh/boundary" ]; then
echo "mesh was built before - using old mesh"
else
echo "mesh needs to be built"
cd $casePath/CFD
blockMesh
fi

View File

@ -0,0 +1,19 @@
{
"type" : "CFDEMcoupling",
"runs" : [
{
"name" : "liggghts-init",
"input_script" : "DEM/in.liggghts_init",
"type" : "liggghts/serial"
},
{
"name" : "cfdemrun",
"depends_on" : "liggghts-init",
"solver" : "cfdemSolverPiso",
"type" : "CFDEMcoupling/mpi",
"nprocs" : 2,
"pre_scripts" : ["prerun.sh"],
"post_scripts" : ["postrun.sh"]
}
]
}