test case for unreacted shrinking core model

This commit is contained in:
ekinaci
2017-09-04 13:40:35 +02:00
parent 42ecc8656a
commit 1e7fc386cc
47 changed files with 2665 additions and 0 deletions

View File

@ -0,0 +1,35 @@
#!/bin/sh
#cd ${0%/*} || exit 1 # run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/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/*.dat
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 -R $casePath/DEM/post
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,43 @@
#!/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_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh
#- define variables
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
export casePath
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,51 @@
/*--------------------------------*- 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 1.0;
boundaryField
{
top
{
type zeroGradient;
}
bottom
{
type zeroGradient;
}
side-walls
{
type zeroGradient;
}
inlet
{
type zeroGradient;
}
outlet
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,51 @@
/*--------------------------------*- 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.0;
boundaryField
{
top
{
type zeroGradient;
}
bottom
{
type zeroGradient;
}
side-walls
{
type zeroGradient;
}
inlet
{
type zeroGradient;
}
outlet
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,51 @@
/*--------------------------------*- 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
{
top
{
type zeroGradient;
}
bottom
{
type zeroGradient;
}
side-walls
{
type zeroGradient;
}
inlet
{
type zeroGradient;
}
outlet
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,51 @@
/*--------------------------------*- 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.0;
boundaryField
{
top
{
type zeroGradient;
}
bottom
{
type zeroGradient;
}
side-walls
{
type zeroGradient;
}
inlet
{
type zeroGradient;
}
outlet
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,51 @@
/*--------------------------------*- 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 O2;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 0.0;
boundaryField
{
top
{
type zeroGradient;
}
bottom
{
type zeroGradient;
}
side-walls
{
type zeroGradient;
}
inlet
{
type zeroGradient;
}
outlet
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,51 @@
/*--------------------------------*- 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
{
top
{
type zeroGradient;
}
bottom
{
type zeroGradient;
}
side-walls
{
type zeroGradient;
}
inlet
{
type zeroGradient;
}
outlet
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,51 @@
/*--------------------------------*- 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 1123.15;
boundaryField
{
top
{
type zeroGradient;
}
bottom
{
type zeroGradient;
}
side-walls
{
type zeroGradient;
}
inlet
{
type zeroGradient;
}
outlet
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,55 @@
/*--------------------------------*- 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 (1.33e-4 0 0);
boundaryField
{
top
{
type noSlip;
/* type fixedValue;
value uniform (0.0 0 0);*/
}
bottom
{
type noSlip;
/* type fixedValue;
value uniform (0.0 0 0);*/
}
side-walls
{
type noSlip;
/* type fixedValue;
value uniform (0.0 0 0); */
}
inlet
{
type fixedValue;
value uniform (1.33e-4 0 0);
}
outlet
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,48 @@
/*--------------------------------*- 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
{
top
{
type zeroGradient;
}
bottom
{
type zeroGradient;
}
side-walls
{
type zeroGradient;
}
inlet
{
type zeroGradient;
}
outlet
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,47 @@
/*--------------------------------*- 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
{
top
{
type zeroGradient;
}
bottom
{
type zeroGradient;
}
side-walls
{
type zeroGradient;
}
inlet
{
type zeroGradient;
}
outlet
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,53 @@
/*--------------------------------*- 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
{
top
{
type zeroGradient;
}
bottom
{
type zeroGradient;
}
side-walls
{
type zeroGradient;
}
inlet
{
type zeroGradient;
// If turbulence is present
/*
* type compressible::turbulentMixingLengthDissipationRateInlet;
* mixingLength 0.005;
* value uniform 200;
*/
}
outlet
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,47 @@
/*--------------------------------*- 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
{
top
{
type zeroGradient;
}
bottom
{
type zeroGradient;
}
side-walls
{
type zeroGradient;
}
inlet
{
type zeroGradient;
}
outlet
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,48 @@
/*--------------------------------*- 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
{
top
{
type zeroGradient;
}
bottom
{
type zeroGradient;
}
side-walls
{
type zeroGradient;
}
inlet
{
type zeroGradient;
}
outlet
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,51 @@
/*--------------------------------*- 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
{
top
{
type zeroGradient;
}
bottom
{
type zeroGradient;
}
side-walls
{
type zeroGradient;
}
inlet
{
type zeroGradient;
}
outlet
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,49 @@
/*--------------------------------*- 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 101325;
boundaryField
{
top
{
type zeroGradient;
}
bottom
{
type zeroGradient;
}
side-walls
{
type zeroGradient;
}
inlet
{
type zeroGradient;
}
outlet
{
type fixedValue;
value uniform 101325;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,52 @@
/*--------------------------------*- 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 101325;
boundaryField
{
top
{
type zeroGradient;
}
bottom
{
type zeroGradient;
}
side-walls
{
type zeroGradient;
}
inlet
{
type zeroGradient;
}
outlet
{
type fixedValue;
value uniform 101325;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,50 @@
/*--------------------------------*- 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.25;
boundaryField
{
top
{
type zeroGradient;
}
bottom
{
type zeroGradient;
}
side-walls
{
type zeroGradient;
}
inlet
{
type zeroGradient;
}
outlet
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,50 @@
/*--------------------------------*- 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
{
top
{
type zeroGradient;
}
bottom
{
type zeroGradient;
}
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>;
active false; //true;
noCombustionCoeffs
{
}
PaSRCoeffs
{
Cmix 1.0;
turbulentReaction off;
}
// ************************************************************************* //

View File

@ -0,0 +1,338 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / 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
//syncMode false;
//verbose;
modelType "A"; // A or B
couplingInterval 100;
voidFractionModel divided;//centre;//
locateModel engine;//turboEngineM2M;//
meshMotionModel noMeshMotion;
regionModel allRegion;
IOModel basicIO;
probeModel off;
dataExchangeModel twoWayMPI;//twoWayM2M;//twoWayFiles;//oneWayVTK;//
averagingModel dilute;//dense;////
clockModel off;//standardClock;//off;
smoothingModel off;// localPSizeDiffSmoothing;// constDiffSmoothing; //
forceModels
(
//GidaspowDrag
//BeetstraDrag
//DiFeliceDrag
gradPForce
viscForce
// KochHillDrag
//DEMbasedDrag
//RongDrag
//Archimedes
//volWeightedAverage
//totalMomentumExchange
//particleCellVolume
//fieldTimeAverage
//LaEuScalarTemp
);
energyModels
(
//energyModel
//heatTransferGunn
//reactionHeat
);
thermCondModel off;//SyamlalThermCond;//thermCondModel;
chemistryModels
(
species
diffusionCoefficients
massTransferCoeff
// off
);
momCoupleModels
(
implicitCouple
);
turbulenceModelType "turbulenceProperties";//"LESProperties";//
//===========================================================================//
// sub-model properties
reactionHeatProps
{
reactionHeatName "reactionHeat";
}
speciesProps
{
ChemistryFile "$casePath/CFD/constant/foam.inp";
Nevery 1;
}
diffusionCoefficientsProps
{
verbose true;
ChemistryFile "$casePath/CFD/constant/foam.inp";
diffusantGasNames ( CO
// H2
);
}
massTransferCoeffProps
{
verbose true;
}
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";
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,185 @@
/*--------------------------------*- 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;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
CO2
{
specie
{
nMoles 1;
molWeight 44.01;
}
thermodynamics
{
Tlow 200;
Thigh 5000;
Tcommon 1000;
highCpCoeffs ( 3.85746 0.00441437 -2.21481e-06 5.2349e-10 -4.72084e-14 -48759.2 2.27164 );
lowCpCoeffs ( 2.35677 0.0089846 -7.12356e-06 2.45919e-09 -1.437e-13 -48372 9.90105 );
}
transport
{
As 1.67212e-06;
Ts 170.6;
}
}
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;
}
}
N2
{
specie
{
nMoles 1;
molWeight 28.0134;
}
thermodynamics
{
Tlow 200;
Thigh 5000;
Tcommon 1000;
highCpCoeffs ( 2.92664 0.00148798 -5.68476e-07 1.0097e-10 -6.75335e-15 -922.798 5.98053 );
lowCpCoeffs ( 3.29868 0.00140824 -3.96322e-06 5.64152e-09 -2.44485e-12 -1020.9 3.95037 );
}
transport
{
As 1.67212e-06;
Ts 170.672;
}
}
// 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 5000;
Tcommon 1000;
highCpCoeffs ( 2.71518 0.00206252 -9.98825E-07 2.30053E-10 -2.03647E-14 -14151.8724 7.81868 );
lowCpCoeffs ( 3.57953 -6.10353E-04 1.01681E-06 9.07005E-10 -9.04424E-13 -14344.0860 3.50840 );
}
transport
{
As 1.67212e-06;
Ts 170.672;
}
}
// if instead of janaf, hConst is used
/*CO2
{
specie
{
nMoles 1;
molWeight 44.01;
}
thermodynamics
{
Cp 1290;
Hf 0;
}
transport
{
mu 1.37e-05;
Pr 0.72;
}
}
O2
{
specie
{
nMoles 1;
molWeight 31.9988;
}
thermodynamics
{
Cp 1120;
Hf 0;
}
transport
{
mu 1.95e-05;
Pr 0.7;
}
}
N2
{
specie
{
nMoles 1;
molWeight 28.0134;
}
thermodynamics
{
Cp 1212;
Hf 0;
}
transport
{
mu 1.66e-05;
Pr 0.7;
}
}
CO
{
specie
{
nMoles 1;
molWeight 28.01;
}
thermodynamics
{
Cp 1227;
Hf 0;
}
transport
{
mu 1.66e-05;
Pr 0.7;
}
}*/
// ************************************************************************* //

View File

@ -0,0 +1,13 @@
species
(
CO
CO2
O2
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 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 off;
writeName "post/restart/liggghts.restartCFDEM";
overwrite on;
}

View File

@ -0,0 +1,91 @@
/*--------------------------------*- 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)
(1.5 0 0)
(1.5 0.5 0)
(0 0.5 0)
(0 0 0.5)
(1.5 0 0.5)
(1.5 0.5 0.5)
(0 0.5 0.5)
);
blocks
(
hex (0 1 2 3 4 5 6 7)(29 9 9) simpleGrading (1 1 1)
);
edges
(
);
boundary
(
top
{
type wall;
faces
(
(3 7 6 2)
);
}
bottom
{
type wall;
faces
(
(1 5 4 0)
);
}
side-walls
{
type wall;
faces
(
(0 3 2 1)
(4 5 6 7)
);
}
inlet
{
type patch;
faces
(
(0 4 7 3)
);
}
outlet
{
type patch;
faces
(
(2 6 5 1)
);
}
);
mergePatchPairs
(
);
// ************************************************************************* //

View File

@ -0,0 +1,66 @@
/*--------------------------------*- 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;
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;
energy sensibleEnthalpy; //uses enthaly in the solution
equationOfState perfectGas;
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,46 @@
/*--------------------------------*- 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.328e-05; // dnyamic viscosity of CO : 1.66*10^-5 [kg/ms] -- density: 1.25 kg/m3
// dynamic viscosity of O2 = 2,04-10^-5[kg/ms];
// density of O2 = 1.4290 [kg/m^3]
// kinematic viscosity of air (o2+n2) = 1.48e-05;
kf kf [ 1 1 -3 -1 0 0 0 ] 0; // comes from energy model
Cp Cp [ 0 2 -2 -1 0 0 0 ] 1; // 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,116 @@
/*--------------------------------*- 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 1200.0;
deltaT 0.01;
writeControl timeStep;
writeInterval 10000;
purgeWrite 0;
writeFormat ascii;
writePrecision 10;
writeCompression off;
timeFormat general;
timePrecision 6;
runTimeModifiable true;
adjustTimeStep no;
maxCo 0.5;
maxDeltaT 0.1;
// ************************************************************************* //
libs (
"libfieldFunctionObjects.so"
);
functions
{
moleFrac
{
type rhoReactionThermoMoleFractions;
}
probes1
{
type probes;
functionObjectLibs ("libsampling.so");
#include "probesDict";
}
globalMassFrac
{
type volRegion;
libs ("libfieldFunctionObjects.so");
writeControl timeStep;//outputTime;
writeInterval 1;
log true;
writeFields false;
regionType all;
name c0;
operation weightedVolAverage;
weightField rhoeps;
fields
(
O2
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 4;
//method scotch;
method simple;
simpleCoeffs
{
n (2 2 1);
delta 0.001;
}
hierarchicalCoeffs
{
n ( 1 1 1 );
delta 0.001;
order xyz;
}
manualCoeffs
{
dataFile "";
}
distributed no;
roots ( );
// ************************************************************************* //

View File

@ -0,0 +1,68 @@
/*--------------------------------*- 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;
}
divSchemes
{
default none;
div(phi,U) Gauss linear; //Gauss upwind;
div(phid,p) Gauss linear; //Gauss upwind;
div(phi,K) Gauss linear;
div(phi,h) Gauss upwind;
div(phi,k) Gauss upwind;
div(phi,epsilon) Gauss upwind;
div(U) Gauss linear;
div(phi,Yi_h) Gauss upwind;
// 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 orthogonal;
}
interpolationSchemes
{
default linear;
}
snGradSchemes
{
default orthogonal;
}
fluxRequired
{
default no;
p ;
}
// ************************************************************************* //

View File

@ -0,0 +1,109 @@
/*--------------------------------*- 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
{
"(rho|G)"
{
solver PCG;
preconditioner DIC;
tolerance 1e-05;
relTol 0.1;
}
"(rho|G)Final"
{
$rho;
tolerance 1e-05;
relTol 0;
}
p
{
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;
}
"(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|CO2|O2)"
{
$h;
}
"(Yi|CO2|O2)Final"
{
$Yi;
tolerance 1e-06;
relTol 0;
}
}
PIMPLE
{
momentumPredictor yes;
nOuterCorrectors 2;
nCorrectors 1;
nNonOrthogonalCorrectors 0;
rhoMin rhoMin [ 1 -3 0 0 0 ] 0.2;
rhoMax rhoMax [ 1 -3 0 0 0 ] 2.5;
}
/*
relaxationFactors
{
fields
{
".*" 1;
}
equations
{
".*" 1;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,47 @@
/*--------------------------------*- 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
O2
CO2
CO
ModSpeciesMassField_O2
ModSpeciesMassField_CO2
ModSpeciesMassField_CO
X_CO
X_CO2
);
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)
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -0,0 +1,58 @@
# Particle insertion into domain
atom_style granular
atom_modify map array
echo both
communicate single vel yes
boundary f f f
newton off
units si
processors 2 2 1
region reg block 0. 1.5 0. 0.5 0. 0.5 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 # Hertzian without cohesion
pair_coeff * *
# timestep, gravity
timestep 1e-4
fix gravi all gravity 0.0 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 1.5
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.5
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
# create single particle in a specific spot
create_atoms 1 single 0.75 0.25 0.25 units box
set atom 1 diameter 0.0107 density 4700 vx 0 vy 0 vz 0
# 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 100 post/dump.liggghts_init id type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius
run 10000 upto
write_restart ../DEM/post/restart/liggghts.restart

View File

@ -0,0 +1,139 @@
# Pour granular particles into chute container, then induce flow
log ../DEM/log.liggghts
thermo_log ../DEM/post/thermo.txt
atom_style granular
atom_modify map array
communicate single vel yes
boundary f f f
newton off
units si
processors 2 2 1
# read the restart file
read_restart ../DEM/post/restart/liggghts.restart
neighbor 0.0005 bin
neigh_modify delay 0 binsize 0.01
# 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-4
fix gravi all gravity 0.0 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 1.5
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.5
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
###############################################
# cfd coupling
fix cfd all couple/cfd couple_every 100 mpi
fix cfd2 all couple/cfd/force
# this should invoke chemistry
fix cfd3 all couple/cfd/chemistry n_species 4 species_names CO CO2 O2 N2
# this should shrink the particle
# fix cfd4 all chem/shrink speciesA O2 molMassA 31.99 speciesC CO2 molMassC 44.01 molMassB 12.01 k 2.5e3 rdef 0.2
# fix cfd4 all chem/shrink speciesA CO molMassA 28.01 speciesC CO2 molMassC 44.01 molMassB 12.01 k 2.5e3 rmin 0.005
# 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
# Chemical properties for unreacted shrink core (activate only when chem/shrink/core is active)
fix k0 all property/global k0_cfd5 vector 17 25 2700
fix Ea all property/global Ea_cfd5 vector 69488 73674 113859
# particle porosities adn tortuosities
fix porosity all property/global porosity_ scalar 0.22
fix tortuosity all property/global tortuosity_ scalar 1
fix pore_diameter all property/global pore_diameter_ scalar 4e-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 layerRelRad all property/atom relRadii vector yes no no 1.0 0.99 0.98 0.97
# fix to compute fracRed
fix fracRed all property/atom fracRed vector yes no no 0. 0. 0.
# apply nve integration to all particles that are inserted as single particles
# fix integr all nve/sphere
###############################################
compute masschange all property/atom mass
compute massreduce all reduce sum c_masschange
fix rmass all ave/time 1 1 25 c_massreduce file rmass.dat
compute layerRad1 all reduce sum f_layerRelRad[1]
fix redRad1 all ave/time 100 1 100 c_layerRad1 file relRad1.dat
compute layerRad2 all reduce sum f_layerRelRad[2]
fix redRad2 all ave/time 100 1 100 c_layerRad2 file relRad2.dat
compute layerRad3 all reduce sum f_layerRelRad[3]
fix redRad3 all ave/time 100 1 100 c_layerRad3 file relRad3.dat
compute layerRad4 all reduce sum f_layerRelRad[4]
fix redRad4 all ave/time 100 1 100 c_layerRad4 file relRad4.dat
####compute radii of layers#####
variable rad_fe atom "f_layerRelRad[1]*radius"
compute r_fe all reduce sum v_rad_fe
fix r_fe1 all ave/time 25 1 25 c_r_fe file rfe.dat
variable rad_w atom "f_layerRelRad[2]*radius"
compute r_w all reduce sum v_rad_w
fix r_w1 all ave/time 25 1 25 c_r_w file rw.dat
variable rad_m atom "f_layerRelRad[3]*radius"
compute r_m all reduce sum v_rad_m
fix r_m1 all ave/time 25 1 25 c_r_m file rm.dat
variable rad_h atom "f_layerRelRad[4]*radius"
compute r_h all reduce sum v_rad_h
fix r_h1 all ave/time 25 1 25 c_r_h file rh.dat
### compute fractional reduction ###
compute fracRed1 all reduce sum f_fracRed[1]
fix df1 all ave/time 100 1 100 c_fracRed1 file df1.dat
compute fracRed2 all reduce sum f_fracRed[2]
fix df2 all ave/time 100 1 100 c_fracRed2 file df2.dat
compute fracRed3 all reduce sum f_fracRed[3]
fix df3 all ave/time 100 1 100 c_fracRed3 file df3.dat
###############################################
# 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 10000 ../DEM/post/dump.liggghts_run id type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius
run 1

View File

@ -0,0 +1,12 @@
set logscale y
set title "Residuals"
set ylabel 'Residual'
set xlabel 'Iteration'
set grid
plot "< cat log_test_case | grep 'Solving for Ux' | cut -d' ' -f9 | tr -d ','" title 'Ux' with lines lw 3,\
"< cat log_test_case | grep 'Solving for Uy' | cut -d' ' -f9 | tr -d ','" title 'Uy' with lines lw 3,\
"< cat log_test_case | grep 'Solving for Uz' | cut -d' ' -f9 | tr -d ','" title 'Uz' with lines lw 3,\
"< cat log_test_case | grep -w 'Solving for CO2' | cut -d' ' -f9 | tr -d ','" title 'CO2' with lines lw 3,\
"< cat log_test_case | grep -w 'Solving for CO' | cut -d' ' -f9 | tr -d ','" title 'CO' with lines lw 3
pause 1
reread

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_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh
#--------------------------------------------------------------------------------#
#- define variables
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
logpath=$casePath
headerText="test_case_Valipour_2009"
logfileName="log_$headerText"
solverName="cfdemSolverRhoPimpleChem"
nrProcs="4"
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_SRC_DIR/lagrangian/cfdemParticle/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=4
machineFileName="none"
debugMode="off"
#--------------------------------------------------------------------------------#
#- call function to run DEM case
parDEMrun $logpath $logfileName $casePath $headerText $solverName $nrProcs $machineFileName $debugMode

View File

@ -0,0 +1,18 @@
#!/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

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,9 @@
#!/bin/bash
#- define variables
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
export casePath
echo "generating Residuals"
$casePath
gnuplot Residuals -

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" : 4,
"pre_scripts" : ["prerun.sh"],
"post_scripts" : ["postrun.sh"]
}
]
}