From 8c819e4d1d72d0b179851d4e6ffa98e0922639c0 Mon Sep 17 00:00:00 2001 From: ekinaci Date: Fri, 14 Sep 2018 10:28:21 +0200 Subject: [PATCH] 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. --- .../Spreitzer_R2/Allclean | 36 ++ .../Spreitzer_R2/Allrun.sh | 50 +++ .../Spreitzer_R2/CFD/0/CO | 45 +++ .../Spreitzer_R2/CFD/0/CO2 | 45 +++ .../Spreitzer_R2/CFD/0/H2 | 45 +++ .../Spreitzer_R2/CFD/0/H2O | 46 +++ .../Spreitzer_R2/CFD/0/Ksl | 41 +++ .../Spreitzer_R2/CFD/0/N2 | 41 +++ .../Spreitzer_R2/CFD/0/Qsource | 41 +++ .../Spreitzer_R2/CFD/0/T | 41 +++ .../Spreitzer_R2/CFD/0/U | 42 +++ .../Spreitzer_R2/CFD/0/Us | 40 +++ .../Spreitzer_R2/CFD/0/alphat | 39 ++ .../Spreitzer_R2/CFD/0/dSmoothing | 38 ++ .../Spreitzer_R2/CFD/0/epsilon | 43 +++ .../Spreitzer_R2/CFD/0/k | 43 +++ .../Spreitzer_R2/CFD/0/mut | 40 +++ .../Spreitzer_R2/CFD/0/nut | 44 +++ .../Spreitzer_R2/CFD/0/p | 41 +++ .../Spreitzer_R2/CFD/0/p.org | 42 +++ .../Spreitzer_R2/CFD/0/rho | 40 +++ .../Spreitzer_R2/CFD/0/voidfraction | 40 +++ .../CFD/constant/chemistryProperties | 41 +++ .../CFD/constant/combustionProperties | 33 ++ .../CFD/constant/couplingProperties | 339 ++++++++++++++++++ .../Spreitzer_R2/CFD/constant/foam.dat | 126 +++++++ .../Spreitzer_R2/CFD/constant/foam.inp | 14 + .../Spreitzer_R2/CFD/constant/g | 22 ++ .../CFD/constant/liggghtsCommands | 43 +++ .../CFD/constant/polyMesh/blockMeshDict | 77 ++++ .../CFD/constant/thermophysicalProperties | 67 ++++ .../CFD/constant/transportProperties | 44 +++ .../CFD/constant/turbulenceProperties | 20 ++ .../Spreitzer_R2/CFD/fractionalReduction.plt | 15 + .../Spreitzer_R2/CFD/system/controlDict | 164 +++++++++ .../Spreitzer_R2/CFD/system/controlDict.foam | 164 +++++++++ .../Spreitzer_R2/CFD/system/decomposeParDict | 46 +++ .../Spreitzer_R2/CFD/system/fvOptions | 78 ++++ .../Spreitzer_R2/CFD/system/fvSchemes | 80 +++++ .../Spreitzer_R2/CFD/system/fvSolution | 127 +++++++ .../Spreitzer_R2/CFD/system/probesDict | 57 +++ .../Spreitzer_R2/DEM/in.liggghts_init | 65 ++++ .../Spreitzer_R2/DEM/in.liggghts_run | 305 ++++++++++++++++ .../Spreitzer_R2/Spreitzer_R2 | 20 ++ .../Spreitzer_R2/parCFDDEMrun.sh | 96 +++++ .../Spreitzer_R2/parDEMrun.sh | 30 ++ .../Spreitzer_R2/plotResidual.sh | 14 + .../Spreitzer_R2/postrun.sh | 2 + .../Spreitzer_R2/prerun.sh | 13 + .../Spreitzer_R2/run.config | 19 + 50 files changed, 3044 insertions(+) create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/Allclean create mode 100755 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/Allrun.sh create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/CO create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/CO2 create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/H2 create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/H2O create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/Ksl create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/N2 create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/Qsource create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/T create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/U create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/Us create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/alphat create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/dSmoothing create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/epsilon create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/k create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/mut create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/nut create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/p create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/p.org create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/rho create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/voidfraction create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/chemistryProperties create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/combustionProperties create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/couplingProperties create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/foam.dat create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/foam.inp create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/g create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/liggghtsCommands create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/polyMesh/blockMeshDict create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/thermophysicalProperties create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/transportProperties create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/turbulenceProperties create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/fractionalReduction.plt create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/system/controlDict create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/system/controlDict.foam create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/system/decomposeParDict create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/system/fvOptions create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/system/fvSchemes create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/system/fvSolution create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/system/probesDict create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/DEM/in.liggghts_init create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/DEM/in.liggghts_run create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/Spreitzer_R2 create mode 100755 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/parCFDDEMrun.sh create mode 100755 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/parDEMrun.sh create mode 100755 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/plotResidual.sh create mode 100755 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/postrun.sh create mode 100755 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/prerun.sh create mode 100644 tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/run.config diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/Allclean b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/Allclean new file mode 100644 index 00000000..b5ffc217 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/Allclean @@ -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 diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/Allrun.sh b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/Allrun.sh new file mode 100755 index 00000000..5c5cfbbc --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/Allrun.sh @@ -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 diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/CO b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/CO new file mode 100644 index 00000000..89756f9a --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/CO @@ -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.;*/ + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/CO2 b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/CO2 new file mode 100644 index 00000000..df317123 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/CO2 @@ -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.;*/ + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/H2 b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/H2 new file mode 100644 index 00000000..5cfb0ef4 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/H2 @@ -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.; */ + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/H2O b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/H2O new file mode 100644 index 00000000..0b6320d0 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/H2O @@ -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.; */ + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/Ksl b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/Ksl new file mode 100644 index 00000000..86eabd42 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/Ksl @@ -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; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/N2 b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/N2 new file mode 100644 index 00000000..26edacef --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/N2 @@ -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; + } +} + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/Qsource b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/Qsource new file mode 100644 index 00000000..f8bb2a1c --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/Qsource @@ -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; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/T b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/T new file mode 100644 index 00000000..2f2c561e --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/T @@ -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; + } +} + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/U b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/U new file mode 100644 index 00000000..b53b755d --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/U @@ -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; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/Us b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/Us new file mode 100644 index 00000000..541a2ec5 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/Us @@ -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; + } +} + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/alphat b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/alphat new file mode 100644 index 00000000..8106e0b0 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/alphat @@ -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; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/dSmoothing b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/dSmoothing new file mode 100644 index 00000000..501d41e8 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/dSmoothing @@ -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; + } +} +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/epsilon b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/epsilon new file mode 100644 index 00000000..dad5dac8 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/epsilon @@ -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; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/k b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/k new file mode 100644 index 00000000..ce1670ab --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/k @@ -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; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/mut b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/mut new file mode 100644 index 00000000..f90a472b --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/mut @@ -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; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/nut b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/nut new file mode 100644 index 00000000..e76a04cf --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/nut @@ -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; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/p b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/p new file mode 100644 index 00000000..d4f7eccc --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/p @@ -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; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/p.org b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/p.org new file mode 100644 index 00000000..84751b08 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/p.org @@ -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; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/rho b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/rho new file mode 100644 index 00000000..95e357af --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/rho @@ -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; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/voidfraction b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/voidfraction new file mode 100644 index 00000000..e224e072 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/0/voidfraction @@ -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; + } +} + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/chemistryProperties b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/chemistryProperties new file mode 100644 index 00000000..9d0243b3 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/chemistryProperties @@ -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; +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/combustionProperties b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/combustionProperties new file mode 100644 index 00000000..5155f44c --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/combustionProperties @@ -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; //PaSR; + +active false; //true; + +noCombustionCoeffs +{ +} + +PaSRCoeffs +{ + Cmix 1.0; + turbulentReaction off; +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/couplingProperties b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/couplingProperties new file mode 100644 index 00000000..7e087b4d --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/couplingProperties @@ -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"; +} +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/foam.dat b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/foam.dat new file mode 100644 index 00000000..9c8376f6 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/foam.dat @@ -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; + } +} + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/foam.inp b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/foam.inp new file mode 100644 index 00000000..197268aa --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/foam.inp @@ -0,0 +1,14 @@ +species +( + CO + CO2 + H2 + H2O + N2 +); + +reactions +{ +} + + diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/g b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/g new file mode 100644 index 00000000..abca4e14 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/g @@ -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 ); + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/liggghtsCommands b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/liggghtsCommands new file mode 100644 index 00000000..ea16dec7 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/liggghtsCommands @@ -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; +} diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/polyMesh/blockMeshDict b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/polyMesh/blockMeshDict new file mode 100644 index 00000000..7edce08b --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/polyMesh/blockMeshDict @@ -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 +( +); + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/thermophysicalProperties b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/thermophysicalProperties new file mode 100644 index 00000000..7a627bc0 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/thermophysicalProperties @@ -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; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/transportProperties b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/transportProperties new file mode 100644 index 00000000..4a909f79 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/transportProperties @@ -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; +} +*/ +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/turbulenceProperties b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/turbulenceProperties new file mode 100644 index 00000000..d1156961 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/constant/turbulenceProperties @@ -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; + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/fractionalReduction.plt b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/fractionalReduction.plt new file mode 100644 index 00000000..5cc39fd3 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/fractionalReduction.plt @@ -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 diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/system/controlDict b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/system/controlDict new file mode 100644 index 00000000..4e57821c --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/system/controlDict @@ -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 + ); + } +} + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/system/controlDict.foam b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/system/controlDict.foam new file mode 100644 index 00000000..9b4017ce --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/system/controlDict.foam @@ -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 + ); + } +} + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/system/decomposeParDict b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/system/decomposeParDict new file mode 100644 index 00000000..deac5375 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/system/decomposeParDict @@ -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 ( ); + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/system/fvOptions b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/system/fvOptions new file mode 100644 index 00000000..d29ae97f --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/system/fvOptions @@ -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.); + } + } +}*/ + diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/system/fvSchemes b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/system/fvSchemes new file mode 100644 index 00000000..45a529d2 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/system/fvSchemes @@ -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 ; +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/system/fvSolution b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/system/fvSolution new file mode 100644 index 00000000..91510656 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/system/fvSolution @@ -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; + } +} + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/system/probesDict b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/system/probesDict new file mode 100644 index 00000000..c114db35 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/CFD/system/probesDict @@ -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) +); + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/DEM/in.liggghts_init b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/DEM/in.liggghts_init new file mode 100644 index 00000000..a0b6ecba --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/DEM/in.liggghts_init @@ -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 diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/DEM/in.liggghts_run b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/DEM/in.liggghts_run new file mode 100644 index 00000000..a3d7ad90 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/DEM/in.liggghts_run @@ -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 diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/Spreitzer_R2 b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/Spreitzer_R2 new file mode 100644 index 00000000..e2f42130 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/Spreitzer_R2 @@ -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 diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/parCFDDEMrun.sh b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/parCFDDEMrun.sh new file mode 100755 index 00000000..a08fa357 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/parCFDDEMrun.sh @@ -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" diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/parDEMrun.sh b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/parDEMrun.sh new file mode 100755 index 00000000..2841da36 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/parDEMrun.sh @@ -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 + diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/plotResidual.sh b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/plotResidual.sh new file mode 100755 index 00000000..4f88e6f0 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/plotResidual.sh @@ -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 + diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/postrun.sh b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/postrun.sh new file mode 100755 index 00000000..2a474cc3 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/postrun.sh @@ -0,0 +1,2 @@ +#!/bin/bash +# nothing to see here \ No newline at end of file diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/prerun.sh b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/prerun.sh new file mode 100755 index 00000000..7b370ae7 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/prerun.sh @@ -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 \ No newline at end of file diff --git a/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/run.config b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/run.config new file mode 100644 index 00000000..9091b486 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/Spreitzer_FluidBedCases/Spreitzer_R2/run.config @@ -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"] + } + ] +}