From 7fb0161ca89db2b8f5ec2d56d07f0542f78104f5 Mon Sep 17 00:00:00 2001 From: ekinaci Date: Wed, 18 Sep 2019 17:51:18 +0200 Subject: [PATCH] Add tutorial case for polydisperse R2 reaction with inert Quartz particles --- .../PolydisperseFluidizedBed/R2_FB/Allclean | 21 + .../PolydisperseFluidizedBed/R2_FB/Allrun.sh | 15 + .../PolydisperseFluidizedBed/R2_FB/CFD/0/CO | 45 +++ .../PolydisperseFluidizedBed/R2_FB/CFD/0/CO2 | 45 +++ .../PolydisperseFluidizedBed/R2_FB/CFD/0/H2 | 45 +++ .../PolydisperseFluidizedBed/R2_FB/CFD/0/H2O | 46 +++ .../PolydisperseFluidizedBed/R2_FB/CFD/0/Ksl | 41 ++ .../PolydisperseFluidizedBed/R2_FB/CFD/0/N2 | 41 ++ .../R2_FB/CFD/0/Qsource | 41 ++ .../PolydisperseFluidizedBed/R2_FB/CFD/0/T | 41 ++ .../R2_FB/CFD/0/Tsource | 50 +++ .../PolydisperseFluidizedBed/R2_FB/CFD/0/U | 45 +++ .../PolydisperseFluidizedBed/R2_FB/CFD/0/Us | 40 ++ .../R2_FB/CFD/0/addSource | 43 +++ .../R2_FB/CFD/0/alphat | 39 ++ .../R2_FB/CFD/0/dSauter | 40 ++ .../R2_FB/CFD/0/dSmoothing | 38 ++ .../R2_FB/CFD/0/epsilon | 43 +++ .../R2_FB/CFD/0/gradT | 37 ++ .../PolydisperseFluidizedBed/R2_FB/CFD/0/k | 43 +++ .../PolydisperseFluidizedBed/R2_FB/CFD/0/mut | 40 ++ .../PolydisperseFluidizedBed/R2_FB/CFD/0/nut | 44 +++ .../PolydisperseFluidizedBed/R2_FB/CFD/0/p | 41 ++ .../R2_FB/CFD/0/p.org | 42 ++ .../PolydisperseFluidizedBed/R2_FB/CFD/0/rho | 40 ++ .../R2_FB/CFD/0/voidfraction | 42 ++ .../R2_FB/CFD/0/wallQFactor | 43 +++ .../R2_FB/CFD/constant/chemistryProperties | 43 +++ .../R2_FB/CFD/constant/combustionProperties | 34 ++ .../R2_FB/CFD/constant/couplingProperties | 358 ++++++++++++++++++ .../R2_FB/CFD/constant/foam.dat | 111 ++++++ .../R2_FB/CFD/constant/foam.inp | 14 + .../R2_FB/CFD/constant/g | 22 ++ .../R2_FB/CFD/constant/liggghtsCommands | 43 +++ .../R2_FB/CFD/constant/polyMesh/blockMeshDict | 153 ++++++++ .../CFD/constant/polyMesh/cylinderMesh.m4 | 153 ++++++++ .../CFD/constant/thermophysicalProperties | 37 ++ .../R2_FB/CFD/constant/transportProperties | 44 +++ .../R2_FB/CFD/constant/turbulenceProperties | 20 + .../R2_FB/CFD/system/controlDict | 226 +++++++++++ .../R2_FB/CFD/system/decomposeParDict | 46 +++ .../R2_FB/CFD/system/fvOptions | 28 ++ .../R2_FB/CFD/system/fvSchemes | 83 ++++ .../R2_FB/CFD/system/fvSolution | 132 +++++++ .../R2_FB/CFD/system/probesDict | 59 +++ .../R2_FB/DEM/in.liggghts_init | 84 ++++ .../R2_FB/DEM/in.liggghts_run | 282 ++++++++++++++ .../R2_FB/parCFDDEMrun.sh | 96 +++++ .../R2_FB/parDEMrun.sh | 30 ++ .../PolydisperseFluidizedBed/R2_FB/postrun.sh | 19 + .../PolydisperseFluidizedBed/R2_FB/prerun.sh | 13 + .../PolydisperseFluidizedBed/R2_FB/run.config | 19 + 52 files changed, 3240 insertions(+) create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/Allclean create mode 100755 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/Allrun.sh create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/CO create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/CO2 create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/H2 create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/H2O create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/Ksl create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/N2 create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/Qsource create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/T create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/Tsource create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/U create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/Us create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/addSource create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/alphat create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/dSauter create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/dSmoothing create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/epsilon create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/gradT create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/k create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/mut create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/nut create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/p create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/p.org create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/rho create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/voidfraction create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/wallQFactor create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/chemistryProperties create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/combustionProperties create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/couplingProperties create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/foam.dat create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/foam.inp create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/g create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/liggghtsCommands create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/polyMesh/blockMeshDict create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/polyMesh/cylinderMesh.m4 create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/thermophysicalProperties create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/transportProperties create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/turbulenceProperties create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/system/controlDict create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/system/decomposeParDict create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/system/fvOptions create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/system/fvSchemes create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/system/fvSolution create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/system/probesDict create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/DEM/in.liggghts_init create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/DEM/in.liggghts_run create mode 100755 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/parCFDDEMrun.sh create mode 100755 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/parDEMrun.sh create mode 100755 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/postrun.sh create mode 100755 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/prerun.sh create mode 100644 tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/run.config diff --git a/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/Allclean b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/Allclean new file mode 100644 index 00000000..0a5b74ec --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/Allclean @@ -0,0 +1,21 @@ +#!/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/log* + +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 + +# ----------------------------------------------------------------- end-of-file diff --git a/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/Allrun.sh b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/Allrun.sh new file mode 100755 index 00000000..42728e0b --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/Allrun.sh @@ -0,0 +1,15 @@ +#!/bin/bash +#- 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 + +echo "Run Simulation" +bash $casePath/parCFDDEMrun.sh diff --git a/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/CO b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/CO new file mode 100644 index 00000000..89756f9a --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/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/PolydisperseFluidizedBed/R2_FB/CFD/0/CO2 b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/CO2 new file mode 100644 index 00000000..df317123 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/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/PolydisperseFluidizedBed/R2_FB/CFD/0/H2 b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/H2 new file mode 100644 index 00000000..5cfb0ef4 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/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/PolydisperseFluidizedBed/R2_FB/CFD/0/H2O b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/H2O new file mode 100644 index 00000000..0b6320d0 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/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/PolydisperseFluidizedBed/R2_FB/CFD/0/Ksl b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/Ksl new file mode 100644 index 00000000..86eabd42 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/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/PolydisperseFluidizedBed/R2_FB/CFD/0/N2 b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/N2 new file mode 100644 index 00000000..26edacef --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/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/PolydisperseFluidizedBed/R2_FB/CFD/0/Qsource b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/Qsource new file mode 100644 index 00000000..f8bb2a1c --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/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/PolydisperseFluidizedBed/R2_FB/CFD/0/T b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/T new file mode 100644 index 00000000..2f2c561e --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/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/PolydisperseFluidizedBed/R2_FB/CFD/0/Tsource b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/Tsource new file mode 100644 index 00000000..271c00f2 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/Tsource @@ -0,0 +1,50 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.6 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object Tsource; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 -1 1 0 0 0]; + +// Tsource[K/s] = q[W/m3]/(rho[kg/m3]*cp[W*s/(kg*K)]) +// Q=10 W +// V=0.01 m3 +// q=1000 W/m3 +// cp=1000 +// rho=1 +// --> Tsource = 1 + +internalField uniform 0; + +boundaryField +{ + side-walls + { + type zeroGradient; + value uniform 0; + } + + inlet + { + type zeroGradient; + value uniform 0; + } + outlet + { + type zeroGradient; + value uniform 0; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/U b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/U new file mode 100644 index 00000000..30a13798 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/U @@ -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 volVectorField; + location "0"; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.0 0.0 0.0); + +boundaryField +{ + side-walls + { + type noSlip; + } + inlet + { + type fixedValue; + value uniform (0.0 0.25 0.0); +/* type interstitialInletVelocity; + inletVelocity uniform (0 0.25 0); + alpha voidfraction; + value $internalField; */ + } + + outlet + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/Us b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/Us new file mode 100644 index 00000000..541a2ec5 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/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/PolydisperseFluidizedBed/R2_FB/CFD/0/addSource b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/addSource new file mode 100644 index 00000000..87a15a57 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/addSource @@ -0,0 +1,43 @@ +/*--------------------------------*- 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 addSource; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -3 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + side-walls + { + type zeroGradient; + value uniform 0; + } + + inlet + { + type zeroGradient; + value uniform 0; + } + outlet + { + type zeroGradient; + value uniform 0; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/alphat b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/alphat new file mode 100644 index 00000000..8106e0b0 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/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/PolydisperseFluidizedBed/R2_FB/CFD/0/dSauter b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/dSauter new file mode 100644 index 00000000..df79d7e5 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/dSauter @@ -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 dSauter; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 0 0 0 0 0]; + +internalField uniform 0.00022; + +boundaryField +{ + side-walls + { + type zeroGradient; + } + inlet + { + type zeroGradient; + } + + outlet + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/dSmoothing b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/dSmoothing new file mode 100644 index 00000000..501d41e8 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/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/PolydisperseFluidizedBed/R2_FB/CFD/0/epsilon b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/epsilon new file mode 100644 index 00000000..dad5dac8 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/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/PolydisperseFluidizedBed/R2_FB/CFD/0/gradT b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/gradT new file mode 100644 index 00000000..1080d101 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/gradT @@ -0,0 +1,37 @@ +/*--------------------------------*- 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; + object gradT; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 -1 0 1 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + side-walls + { + type zeroGradient; + } + inlet + { + type zeroGradient; + } + outlet + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/k b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/k new file mode 100644 index 00000000..ce1670ab --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/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/PolydisperseFluidizedBed/R2_FB/CFD/0/mut b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/mut new file mode 100644 index 00000000..f90a472b --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/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/PolydisperseFluidizedBed/R2_FB/CFD/0/nut b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/nut new file mode 100644 index 00000000..e76a04cf --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/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/PolydisperseFluidizedBed/R2_FB/CFD/0/p b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/p new file mode 100644 index 00000000..d4f7eccc --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/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/PolydisperseFluidizedBed/R2_FB/CFD/0/p.org b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/p.org new file mode 100644 index 00000000..84751b08 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/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/PolydisperseFluidizedBed/R2_FB/CFD/0/rho b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/rho new file mode 100644 index 00000000..95e357af --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/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/PolydisperseFluidizedBed/R2_FB/CFD/0/voidfraction b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/voidfraction new file mode 100644 index 00000000..8bd68494 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/voidfraction @@ -0,0 +1,42 @@ +/*--------------------------------*- 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; + type fixedValue; + value uniform 1; + } + + outlet + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/wallQFactor b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/wallQFactor new file mode 100644 index 00000000..71d0d783 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/0/wallQFactor @@ -0,0 +1,43 @@ +/*--------------------------------*- 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 wallQFactor; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 1; + +boundaryField +{ + side-walls + { + type fixedValue; + value uniform 1; + } + + inlet + { + type fixedValue; + value uniform 1; + } + + outlet + { + type fixedValue; + value uniform 1; + } +} + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/chemistryProperties b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/chemistryProperties new file mode 100644 index 00000000..ded6fd22 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/chemistryProperties @@ -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 dictionary; + location "constant"; + object chemistryProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +chemistry off; //on; + +/* +chemistryType +{ + chemistrySolver noChemistrySolver; + chemistryThermo rho; +} + +initialChemicalTimeStep 1e-07; + +/* +EulerImplicitCoeffs +{ + cTauChem 0.05; + equilibriumRateLimiter off; +} + +odeCoeffs +{ + solver seulex; + eps 0.05; +} */ + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/combustionProperties b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/combustionProperties new file mode 100644 index 00000000..487421c2 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/combustionProperties @@ -0,0 +1,34 @@ +/*--------------------------------*- 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 noCombustion; //PaSR; //PaSR; + +active false; //true; + +noCombustionCoeffs +{ +} + + +PaSRCoeffs +{ + Cmix 1.0; + turbulentReaction off; +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/couplingProperties b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/couplingProperties new file mode 100644 index 00000000..44fd00b8 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/couplingProperties @@ -0,0 +1,358 @@ +/*---------------------------------------------------------------------------*\ +| ========= | | +| \\ / 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;//centre;// + +locateModel engine; //turboEngineM2M;// + +meshMotionModel noMeshMotion; + +regionModel allRegion; + +IOModel basicIO; + +probeModel off; + +dataExchangeModel twoWayMPI;//twoWayM2M;//twoWayFiles;//oneWayVTK;// + +averagingModel dense; + +clockModel off; //standardClock;// + +smoothingModel off;// localPSizeDiffSmoothing;// constDiffSmoothing; // + +forceModels +( + GidaspowDrag + gradPForce + viscForce +); + +energyModels +( + heatTransferGunn + reactionHeat +); + +thermCondModel SyamlalThermCond; + +chemistryModels +( + species + diffusionCoefficients + massTransferCoeff + // off +); + +momCoupleModels +( + implicitCouple +); + +turbulenceModelType "turbulenceProperties";//"LESProperties";// + +//===========================================================================// +// sub-model properties +reactionHeatProps +{ + reactionHeatName "reactionHeat"; + verbose false; +} + +heatTransferGunnProps +{ + partTempName "Temp"; + partHeatFluxName "convectiveHeatFlux"; + calcPartTempField true; + partRefTemp 1023; + implicit true; + verbose false; + interpolation false; +} + +speciesProps +{ + ChemistryFile "$casePath/CFD/constant/foam.inp"; + Nevery 1; + verbose false; + interpolation false; +} + +diffusionCoefficientsProps +{ + verbose false; + interpolation false; + ChemistryFile "$casePath/CFD/constant/foam.inp"; + diffusantGasNames ( CO + H2 + ); +} + +massTransferCoeffProps +{ + verbose false; + interpolation 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; //interpolation is on + phi 1; + //implForceDEM true; + //implForceDEMaccumulated true; + //explicitCorr true; +} + +BeetstraDragProps +{ + velFieldName "U"; + granVelFieldName "Us"; + gravityFieldName "g"; + voidfractionFieldName "voidfraction"; + interpolation false; + useFilteredDragModel ; + useParcelSizeDependentFilteredDrag ; + rhoP 4630.; + dPrim 0.00022; + rho 1.58; + nuf 1.126e-05; + g 9.81; + k 0.05; + aLimit 0.0; + verbose false; +} + +DEMbasedDragProps +{ + velFieldName "U"; + voidfractionFieldName "voidfraction"; +} + +DiFeliceDragProps +{ + //verbose true; + velFieldName "U"; + voidfractionFieldName "voidfraction"; + granVelFieldName "Us"; + interpolation false; +} + +KochHillDragProps +{ + verbose true; + velFieldName "U"; + voidfractionFieldName "voidfraction"; + interpolation false; + //forceSubModels + //( + // ImExCorr + //); + implForceDEM true; + //implForceDEMaccumulated true; + //explicitCorr true; +} + +RongDragProps +{ + verbose true; + velFieldName "U"; + voidfractionFieldName "voidfraction"; + interpolation false; + 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; +} + +turboEngineProps +{ + 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/PolydisperseFluidizedBed/R2_FB/CFD/constant/foam.dat b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/foam.dat new file mode 100644 index 00000000..5191ec94 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/foam.dat @@ -0,0 +1,111 @@ +/*--------------------------------*- 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 + { + Cp 15016.8; + Hf 2.544e+06; + } + transport + { + mu 8.42e-05; + Pr 0.76; + } +} +H2O +{ + specie + { + nMoles 1; + molWeight 18.015; + } + thermodynamics + { + Cp 2304.1; + Hf 2.544e+06; + } + transport + { + mu 1.7e-05; + Pr 0.99; + } +} + +CO +{ + specie + { + nMoles 1; + molWeight 28.01; + } + thermodynamics + { + Cp 1189.14; + Hf 2.544e+06; + } + transport + { + mu 1.66e-05; + Pr 0.792; + } +} + +CO2 +{ + specie + { + nMoles 1; + molWeight 44.01; + } + thermodynamics + { + Cp 1239.98; + Hf 2.544e+06; + } + transport + { + mu 1.37e-05; + Pr 0.69; + } +} + +N2 +{ + specie + { + nMoles 1; + molWeight 28.0134; + } + thermodynamics + { + Cp 1171.6; + Hf 2.544e+06; + } + transport + { + mu 1.66e-05; + Pr 0.69; + } +} + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/foam.inp b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/foam.inp new file mode 100644 index 00000000..197268aa --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/foam.inp @@ -0,0 +1,14 @@ +species +( + CO + CO2 + H2 + H2O + N2 +); + +reactions +{ +} + + diff --git a/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/g b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/g new file mode 100644 index 00000000..abca4e14 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/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/PolydisperseFluidizedBed/R2_FB/CFD/constant/liggghtsCommands b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/liggghtsCommands new file mode 100644 index 00000000..ea16dec7 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/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/PolydisperseFluidizedBed/R2_FB/CFD/constant/polyMesh/blockMeshDict b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/polyMesh/blockMeshDict new file mode 100644 index 00000000..70b090ba --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/polyMesh/blockMeshDict @@ -0,0 +1,153 @@ +// blockMesh : Block mesh description file +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant/polyMesh"; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + + + + + + meshGenApp blockMesh; + convertToMeters 1.0; + + //68 mm column diameter + //150 mm length + + + + //Width of middle square section + + + + + //how many cells in the square section + //how many cells from square section to perimeter + // how many cells from top to bottom + + vertices + ( + ( 0.017 0.0 0.017) // Vertex fiveoclocksqb = 0 + (-0.017 0.0 0.017) // Vertex sevenoclocksqb = 1 + (-0.017 0.0 -0.017) // Vertex elevenoclocksqb = 2 + ( 0.017 0.0 -0.017) // Vertex oneoclocksqb = 3 + + ( 0.0240416305819187 0.0 0.0240416305387665) // Vertex fiveoclockcb = 4 + (-0.0240416305819187 0.0 0.0240416305387665) // Vertex sevenoclockcb = 5 + (-0.0240416305819187 0.0 -0.0240416305387665) // Vertex elevenoclockcb = 6 + ( 0.0240416305819187 0.0 -0.0240416305387665) // Vertex oneoclockcb = 7 + + ( 0.017 0.150 0.017) // Vertex fiveoclocksqt = 8 + (-0.017 0.150 0.017) // Vertex sevenoclocksqt = 9 + (-0.017 0.150 -0.017) // Vertex elevenoclocksqt = 10 + ( 0.017 0.150 -0.017) // Vertex oneoclocksqt = 11 + + ( 0.0240416305819187 0.150 0.0240416305387665) // Vertex fiveoclockct = 12 + (-0.0240416305819187 0.150 0.0240416305387665) // Vertex sevenoclockct = 13 + (-0.0240416305819187 0.150 -0.0240416305387665) // Vertex elevenoclockct = 14 + ( 0.0240416305819187 0.150 -0.0240416305387665) // Vertex oneoclockct = 15 + ); + + blocks + ( + //square block + hex ( + 1 0 3 2 + 9 8 11 10 + ) + (7 7 24) + simpleGrading (1 1 1) + + //slice1 + hex ( + 5 4 0 1 + 13 12 8 9 + ) + (7 3 24) + simpleGrading (1 1 1) + + //slice2 + hex ( + 1 2 6 5 + 9 10 14 13 + ) + (7 3 24) +simpleGrading (1 1 1) + + //slice3 + hex ( + 2 3 7 6 + 10 11 15 14 + ) + (7 3 24) +simpleGrading (1 1 1) + + //slice4 + hex ( + 3 0 4 7 + 11 8 12 15 + ) + (7 3 24) +simpleGrading (1 1 1) + + ); + + + //create the quarter circles + edges + ( + arc 4 5 (0.0 0.0 0.034) + arc 5 6 (-0.034 0.0 0.0) + arc 6 7 (0.0 0.0 -0.034) + arc 7 4 (0.034 0.0 0.0) + + arc 12 13 (0.0 0.150 0.034) + arc 13 14 (-0.034 0.150 0.0) + arc 14 15 (0.0 0.150 -0.034) + arc 15 12 (0.034 0.150 0.0) + + ); + + patches + ( + patch inlet + ( + (0 3 2 1) + (0 4 7 3) + (4 0 1 5) + (1 2 6 5) + (3 7 6 2) + ) + + patch outlet + ( + (8 11 10 9) + (8 12 15 11) + (12 8 9 13) + (9 10 14 13) + (11 15 14 10) + ) + + wall side-walls + ( + (5 4 12 13) + (5 13 14 6) + (6 14 15 7) + (7 15 12 4) + ) + +); + diff --git a/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/polyMesh/cylinderMesh.m4 b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/polyMesh/cylinderMesh.m4 new file mode 100644 index 00000000..e2f3b0a9 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/polyMesh/cylinderMesh.m4 @@ -0,0 +1,153 @@ +// blockMesh : Block mesh description file +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant/polyMesh"; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +changecom(//)changequote([,]) +define(calc, [esyscmd(perl -e 'printf ($1)')]) +define(VCOUNT, 0) +define(vlabel, [[// ]Vertex $1 = VCOUNT define($1, VCOUNT)define([VCOUNT], incr(VCOUNT))]) + + + meshGenApp blockMesh; + convertToMeters 1.0; + + define(D, 0.068) //68 mm column diameter + define(L, 0.150) //150 mm length + define(PI, 3.14159265) + + define(R, calc(D/2)) + define(CW, calc(D/4)) //Width of middle square section + + define(CX, calc(R*cos((PI/180)*45))) + define(CZ, calc(R*sin((PI/180)*45))) + + define(NPS, 7) //how many cells in the square section + define(NPD, 3) //how many cells from square section to perimeter + define(NPY, 24) // how many cells from top to bottom + + vertices + ( + ( CW 0.0 CW) vlabel(fiveoclocksqb) + (-CW 0.0 CW) vlabel(sevenoclocksqb) + (-CW 0.0 -CW) vlabel(elevenoclocksqb) + ( CW 0.0 -CW) vlabel(oneoclocksqb) + + ( CX 0.0 CZ) vlabel(fiveoclockcb) + (-CX 0.0 CZ) vlabel(sevenoclockcb) + (-CX 0.0 -CZ) vlabel(elevenoclockcb) + ( CX 0.0 -CZ) vlabel(oneoclockcb) + + ( CW L CW) vlabel(fiveoclocksqt) + (-CW L CW) vlabel(sevenoclocksqt) + (-CW L -CW) vlabel(elevenoclocksqt) + ( CW L -CW) vlabel(oneoclocksqt) + + ( CX L CZ) vlabel(fiveoclockct) + (-CX L CZ) vlabel(sevenoclockct) + (-CX L -CZ) vlabel(elevenoclockct) + ( CX L -CZ) vlabel(oneoclockct) + ); + + blocks + ( + //square block + hex ( + sevenoclocksqb fiveoclocksqb oneoclocksqb elevenoclocksqb + sevenoclocksqt fiveoclocksqt oneoclocksqt elevenoclocksqt + ) + (NPS NPS NPY) + simpleGrading (1 1 1) + + //slice1 + hex ( + sevenoclockcb fiveoclockcb fiveoclocksqb sevenoclocksqb + sevenoclockct fiveoclockct fiveoclocksqt sevenoclocksqt + ) + (NPS NPD NPY) + simpleGrading (1 1 1) + + //slice2 + hex ( + sevenoclocksqb elevenoclocksqb elevenoclockcb sevenoclockcb + sevenoclocksqt elevenoclocksqt elevenoclockct sevenoclockct + ) + (NPS NPD NPY) +simpleGrading (1 1 1) + + //slice3 + hex ( + elevenoclocksqb oneoclocksqb oneoclockcb elevenoclockcb + elevenoclocksqt oneoclocksqt oneoclockct elevenoclockct + ) + (NPS NPD NPY) +simpleGrading (1 1 1) + + //slice4 + hex ( + oneoclocksqb fiveoclocksqb fiveoclockcb oneoclockcb + oneoclocksqt fiveoclocksqt fiveoclockct oneoclockct + ) + (NPS NPD NPY) +simpleGrading (1 1 1) + + ); + + + //create the quarter circles + edges + ( + arc fiveoclockcb sevenoclockcb (0.0 0.0 R) + arc sevenoclockcb elevenoclockcb (-R 0.0 0.0) + arc elevenoclockcb oneoclockcb (0.0 0.0 -R) + arc oneoclockcb fiveoclockcb (R 0.0 0.0) + + arc fiveoclockct sevenoclockct (0.0 L R) + arc sevenoclockct elevenoclockct (-R L 0.0) + arc elevenoclockct oneoclockct (0.0 L -R) + arc oneoclockct fiveoclockct (R L 0.0) + + ); + + patches + ( + patch inlet + ( + (fiveoclocksqb oneoclocksqb elevenoclocksqb sevenoclocksqb) + (fiveoclocksqb fiveoclockcb oneoclockcb oneoclocksqb) + (fiveoclockcb fiveoclocksqb sevenoclocksqb sevenoclockcb) + (sevenoclocksqb elevenoclocksqb elevenoclockcb sevenoclockcb) + (oneoclocksqb oneoclockcb elevenoclockcb elevenoclocksqb) + ) + + patch outlet + ( + (fiveoclocksqt oneoclocksqt elevenoclocksqt sevenoclocksqt) + (fiveoclocksqt fiveoclockct oneoclockct oneoclocksqt) + (fiveoclockct fiveoclocksqt sevenoclocksqt sevenoclockct) + (sevenoclocksqt elevenoclocksqt elevenoclockct sevenoclockct) + (oneoclocksqt oneoclockct elevenoclockct elevenoclocksqt) + ) + + wall side-walls + ( + (sevenoclockcb fiveoclockcb fiveoclockct sevenoclockct) + (sevenoclockcb sevenoclockct elevenoclockct elevenoclockcb) + (elevenoclockcb elevenoclockct oneoclockct oneoclockcb) + (oneoclockcb oneoclockct fiveoclockct fiveoclockcb) + ) + +); + diff --git a/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/thermophysicalProperties b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/thermophysicalProperties new file mode 100644 index 00000000..7f498e00 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/thermophysicalProperties @@ -0,0 +1,37 @@ +/*--------------------------------*- 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 const; //sutherland; //calcualtes viscosity as a function of temperature from Stuherland coefficient As and Ts + thermo hConst; //janaf; + equationOfState perfectGas; + energy sensibleInternalEnergy; //sensibleEnthalpy; //uses enthaly in the solution + specie specie; +} + +chemistryReader foamChemistryReader; + +foamChemistryThermoFile "$casePath/CFD/constant/foam.dat"; + +foamChemistryFile "$casePath/CFD/constant/foam.inp"; + +inertSpecie N2; + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/transportProperties b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/transportProperties new file mode 100644 index 00000000..7eea21c2 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/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 ] 1118.15; // 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/PolydisperseFluidizedBed/R2_FB/CFD/constant/turbulenceProperties b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/constant/turbulenceProperties new file mode 100644 index 00000000..d1156961 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/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/PolydisperseFluidizedBed/R2_FB/CFD/system/controlDict b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/system/controlDict new file mode 100644 index 00000000..0a1e3dac --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/system/controlDict @@ -0,0 +1,226 @@ +/*--------------------------------*- 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 120.0; + +deltaT 0.00025; + +writeControl runTime; //timeStep; // + +writeInterval 0.25; //4000; //0.5; //5000; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 6; + +writeCompression off; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable true; + +adjustTimeStep no; + +maxCo 0.5; + +maxDeltaT 0.1; + + +// ************************************************************************* // + libs ( + "libfieldFunctionObjects.so" + ); + +functions +{ + moleFrac + { + type rhoReactionThermoMoleFractions; + } + + probes1 + { + type probes; + functionObjectLibs ("libsampling.so"); + #include "probesDict"; + } + + + fieldMinMax_T + { + type fieldMinMax; + libs ("libfieldFunctionObjects.so"); + fields (T); + // Report the location of the field extrema + location yes; + // Type of extrema for rank > 0 primitives + mode magnitude; // magnitude | component + } + + fieldMinMax_Cpv + { + type fieldMinMax; + libs ("libfieldFunctionObjects.so"); + fields (Cpv); + // Report the location of the field extrema + location yes; + // Type of extrema for rank > 0 primitives + mode magnitude; // magnitude | component + } + + fieldMinMax_partTemp + { + type fieldMinMax; + libs ("libfieldFunctionObjects.so"); + fields (partTemp); + location yes; + mode magnitude; + } + + globalMassFrac + { + type volRegion; + 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 + ); + } + + inflow_GasSpecies + { + type surfaceRegion; + libs ("libfieldFunctionObjects.so"); + writeControl timeStep; + writeInterval 100; + log true; + // Output field values as well + writeFields false; + regionType patch; + name inlet; + operation sum;//areaIntegrate; + + fields + ( + CO + CO2 + H2 + H2O + N2 + ); + } + + inflow_phi + { + type surfaceRegion; + libs ("libfieldFunctionObjects.so"); + writeControl timeStep; + writeInterval 100; + log true; + // Output field values as well + writeFields false; + regionType patch; + name inlet; + operation sum;//areaIntegrate; + + fields + ( + phi + ); + } + + inflow_U + { + type surfaceRegion; + libs ("libfieldFunctionObjects.so"); + writeControl timeStep; + writeInterval 100; + log true; + // Output field values as well + writeFields false; + regionType patch; + name inlet; + operation sum;//areaIntegrate; + + fields + ( + U + ); + } + + outflow_GasSpecies + { + $inflow_GasSpecies; + name outlet; + } + + outflow_phi + { + $inflow_phi; + name outlet; + } + + outflow_U + { + $inflow_U; + name outlet; + } +} + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/system/decomposeParDict b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/system/decomposeParDict new file mode 100644 index 00000000..7fe2c0f0 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/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 (2 2 2); + delta 0.001; +} + +hierarchicalCoeffs +{ + n ( 1 1 1 ); + delta 0.001; + order xyz; +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots ( ); + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/system/fvOptions b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/system/fvOptions new file mode 100644 index 00000000..5cec3738 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/system/fvOptions @@ -0,0 +1,28 @@ +/*--------------------------------*- 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 1500; + } +} \ No newline at end of file diff --git a/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/system/fvSchemes b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/system/fvSchemes new file mode 100644 index 00000000..a819f794 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/system/fvSchemes @@ -0,0 +1,83 @@ +/*--------------------------------*- 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; + grad(e) 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 limitedLinear 1; + 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; + e 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; + div(phi,T) Gauss limitedLinear 1; +} + +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/PolydisperseFluidizedBed/R2_FB/CFD/system/fvSolution b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/system/fvSolution new file mode 100644 index 00000000..1e54f5d8 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/system/fvSolution @@ -0,0 +1,132 @@ +/*--------------------------------*- 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|e|R|k|epsilon)" + { + solver smoothSolver; + smoother symGaussSeidel; + tolerance 1e-05; + relTol 0.1; + maxIter 100; + } + + "(U|h|e|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 100; + } + + "(Yi|CO|CO2|H2|H2O|N2)Final" + { + $Yi; + tolerance 1e-06; + relTol 0; + maxIter 100; + } + + T + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-8; + relTol 0; + } +} + +PIMPLE +{ + momentumPredictor yes; + nOuterCorrectors 5; + nCorrectors 2; + nNonOrthogonalCorrectors 0; + rhoMin rhoMin [ 1 -3 0 0 0 ] 0.4; + rhoMax rhoMax [ 1 -3 0 0 0 ] 2.0; +} + +relaxationFactors +{ + fields + { + T 0.5; + "(Yi|CO|CO2|H2|H2O|N2)" 0.6; + p 0.6; + } + equations + { + ".*" 0.8; + "(h|e).*" 0.5; + } +} + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/system/probesDict b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/system/probesDict new file mode 100644 index 00000000..bad69162 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/CFD/system/probesDict @@ -0,0 +1,59 @@ +/*--------------------------------*- 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 + Cpv + N2 + CO2 + CO + H2 + H2O + ModSpeciesMassField_N2 + ModSpeciesMassField_CO2 + ModSpeciesMassField_CO + ModSpeciesMassField_H2 + ModSpeciesMassField_H2O + X_CO + X_CO2 + X_H2 + X_N2 + 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/PolydisperseFluidizedBed/R2_FB/DEM/in.liggghts_init b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/DEM/in.liggghts_init new file mode 100644 index 00000000..8456fd19 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/DEM/in.liggghts_init @@ -0,0 +1,84 @@ +# Particle insertion into domain +coarsegraining 7.0 model_check error +atom_style granular +atom_modify map array + +communicate single vel yes +boundary f f f +newton off + +units si +processors 2 2 2 + +region reg block -0.034 0.034 0.000 0.15 -0.034 0.034 +create_box 2 reg + +neighbor 1e-4 bin +neigh_modify delay 0 + +# Material properties required for granular pair styles +fix m1 all property/global youngsModulus peratomtype 5.e6 5.e6 +fix m2 all property/global poissonsRatio peratomtype 0.45 0.45 +fix m3 all property/global coefficientRestitution peratomtypepair 2 0.3 0.3 0.3 0.3 +fix m4 all property/global coefficientFriction peratomtypepair 2 0.5 0.5 0.5 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 zwalls1 all wall/gran model hertz tangential history primitive type 1 yplane 0.000 +fix zwalls2 all wall/gran model hertz tangential history primitive type 1 yplane 0.15 +fix cylwalls all wall/gran model hertz tangential history primitive type 1 ycylinder 0.034 0. 0. + +# particle distributions and insertion +region insreg1 cylinder y 0.0 0.0 0.034 0.00 0.15 units box + +#insert Quartz particles +fix pts5 all particletemplate/sphere 61 atom_type 2 density constant 2630 radius constant 0.00025 +fix pdd2 all particledistribution/discrete 1 1 pts5 1.0 + +#insert iron-ore range +fix pts1 all particletemplate/sphere 21 atom_type 1 density constant 4300 radius constant 0.000375 +fix pts2 all particletemplate/sphere 31 atom_type 1 density constant 4300 radius constant 0.000188 +fix pts3 all particletemplate/sphere 41 atom_type 1 density constant 4300 radius constant 0.000125 +fix pts4 all particletemplate/sphere 51 atom_type 1 density constant 4300 radius constant 6.25E-05 + +fix pdd1 all particledistribution/discrete 1 4 pts1 0.228 pts2 0.286 pts3 0.332 pts4 0.154 + +fix ts_check all check/timestep/gran 10 0.1 0.1 + +# apply nve integration to all particles that are inserted as single particles +fix integr all nve/sphere + +fix ins2 all insert/pack seed 5331 distributiontemplate pdd2 & + maxattempt 1000 insert_every once overlapcheck yes all_in yes vel constant 0.0 0.0 0.0 & + region insreg1 mass_in_region 0.2 + +run 150000 + +fix ins1 all insert/pack seed 5330 distributiontemplate pdd1 & + maxattempt 1000 insert_every once overlapcheck yes all_in yes vel constant 0.0 0.0 0.0 & + region insreg1 mass_in_region 0.365 + +#make groups +group ore type 1 +group quartz type 2 + +# 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 5000 post/dump.liggghts_init id type x y z vx vy vz fx fy fz radius mass + +run 300000 upto +write_restart post/restart/liggghts.restart diff --git a/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/DEM/in.liggghts_run b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/DEM/in.liggghts_run new file mode 100644 index 00000000..df930752 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/DEM/in.liggghts_run @@ -0,0 +1,282 @@ +# Pour granular particles into chute container, then induce flow +log ../DEM/log.liggghts +thermo_log ../DEM/post/thermo.txt + +coarsegraining 7.0 model_check error + +atom_style granular +atom_modify map array +communicate single vel yes + +boundary f f f +newton off + +units si +processors 2 2 2 + +# read the restart file +read_restart ../DEM/post/restart/liggghts.restart + +neighbor 1e-4 bin +neigh_modify delay 0 + +# Material properties required for granular pair styles +fix m1 all property/global youngsModulus peratomtype 5.e6 5.e6 +fix m2 all property/global poissonsRatio peratomtype 0.45 0.45 +fix m3 all property/global coefficientRestitution peratomtypepair 2 0.3 0.3 0.3 0.3 +fix m4 all property/global coefficientFriction peratomtypepair 2 0.5 0.5 0.5 0.5 + +# pair style +pair_style gran model hertz tangential history # Hertzian without cohesion +pair_coeff * * + +# timestep, gravity +timestep 0.000005 +fix gravi all gravity 9.81 vector 0.0 -1.0 0.0 + +# walls +fix zwalls1 all wall/gran model hertz tangential history primitive type 1 yplane 0.000 +fix zwalls2 all wall/gran model hertz tangential history primitive type 1 yplane 0.15 +fix cylwalls all wall/gran model hertz tangential history primitive type 1 ycylinder 0.034 0. 0. + +# Thermal properties +fix ftco all property/global thermalConductivity peratomtype 1.4 1.4 +fix ftca all property/global thermalCapacity peratomtype 3000 5000 + +#re-make groups +group ore type 1 +group quartz type 2 + +############################################### +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 + +# apply nve integration to all particles that are inserted as single particles +fix integr all nve/sphere + +#compute kinetic energy of particles to see if they are moving changing +compute KinEn all ke +variable ke_tot equal c_KinEn + +# this one invokes heat transfer calculation, transfers per-particle temperature and adds convective heat flux to particles +fix tconv all couple/cfd/convection T0 1022 + +############### +# this should invoke chemistry +fix cfd3 ore couple/cfd/chemistry n_species 5 species_names H2 H2O CO CO2 N2 n_diff 2 diffusant_names CO H2 + +# Activate for 3-layer unreacted core shrink model +fix cfd5 ore chem/shrink/core speciesA CO molMassA 0.02801 speciesC CO2 molMassC 0.04401 scale_reduction_rate 10.0 screen no +fix cfd6 ore chem/shrink/core speciesA H2 molMassA 0.00202 speciesC H2O molMassC 0.01801 scale_reduction_rate 10.0 screen no + +# Material properties for chemical reaction +fix k0_CO ore property/atom k0_cfd5 vector yes no no 17 25 2700 +fix Ea_CO ore property/atom Ea_cfd5 vector yes no no 69488 95000 130940 + +fix k0_H2 ore property/atom k0_cfd6 vector yes no no 30 23 160 +fix Ea_H2 ore property/atom Ea_cfd6 vector yes no no 63627 85000 105908 + +# particle parameters +fix porosity ore property/atom porosity_ vector yes no no 0.61 0.34 0.19 0.17 +fix tortuosity ore property/global tortuosity_ scalar 3 +fix pore_diameter ore property/global pore_diameter_ scalar 1.e-7 + + +# define layer properties +fix LayerRelRadii ore property/atom relRadii vector yes no no 1.0 0.998 0.995 0.98 + +### define fix for mass layer - initial testing +fix LayerMasses ore property/atom massLayer vector yes no no 0. 0. 0. 0. +fix LayerDennsities ore property/global density_ore vector 7870. 5740. 5170. 5240. + +## define fix for rho_eff and fracRed - initialize as zero +fix fracRed ore property/atom fracRed_ore vector yes no no 0. 0. 0. +fix rhoeff ore property/atom rhoeff vector yes no no 0. 0. 0. 0. + +############### +# Write data into files for post-processing +group part type 1 + +variable np equal count(part) +variable WI equal 100000 +variable time equal time + +compute fr_1 all reduce sum f_fracRed[1] f_fracRed[2] f_fracRed[3] +fix fr_d1 all ave/time 1 1 1 c_fr_1[1] c_fr_1[2] c_fr_1[3] +variable fr_d1_1 equal f_fr_d1[1] +variable fr_d1_2 equal f_fr_d1[2] +variable fr_d1_3 equal f_fr_d1[3] + +# Calculate total fractional reduction to be written into the dump file for postProcessing/graphical representation +variable frOV_d1 equal 1/9*(f_fr_d1[3])+2/9*(f_fr_d1[2])+6/9*(f_fr_d1[1]) + +fix printfr1 all print ${WI} "${time} ${fr_d1_1} ${fr_d1_2} ${fr_d1_3} ${frOV_d1}" file fr_d1.dat title "#time fr_d1_1 fr_d1_2 fr_d1_3 fr_overall_d1" + +variable fr_1_divided equal f_fr_d1[1]/${np} +variable fr_2_divided equal f_fr_d1[2]/${np} +variable fr_3_divided equal f_fr_d1[3]/${np} +variable frOV_divided equal 1/9*v_fr_3_divided+2/9*v_fr_2_divided+6/9*v_fr_1_divided + +fix printfrdividied all print ${WI} "${time} ${fr_1_divided} ${fr_2_divided} ${fr_3_divided} ${frOV_divided}" file frDivided.dat title "#time fr_1 fr_2 fr_3 frOV" + +### 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" + +############### + +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 + +fix printAterm all print ${WI} "${time} ${a_CO_1} ${a_CO_2} ${a_CO_3} ${a_H2_1} ${a_H2_2} ${a_H2_3}" file Aterm.dat title "#time 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 printMterm all print ${WI} "${time} ${mt_CO} ${mt_H2}" file Mterm.dat title "#time mt_CO mt_H2" + +############### +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 + +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" + +############### + +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] + +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" + +############### + +## 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" + +############### +# screen output +compute rke all erotate/sphere +thermo_style custom step atoms ke c_rke vol +thermo 10 +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 vx vy vz fx fy fz radius mass f_fracRed[1] f_fracRed[2] f_fracRed[3] +run 1 diff --git a/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/parCFDDEMrun.sh b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/parCFDDEMrun.sh new file mode 100755 index 00000000..aeee36fd --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/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="R2_FluidBed" +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="false" + +#--------------------------------------------------------------------------------# + +#- 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/PolydisperseFluidizedBed/R2_FB/parDEMrun.sh b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/parDEMrun.sh new file mode 100755 index 00000000..2841da36 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/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/PolydisperseFluidizedBed/R2_FB/postrun.sh b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/postrun.sh new file mode 100755 index 00000000..06624406 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/postrun.sh @@ -0,0 +1,19 @@ +#!/bin/bash +#- source CFDEM env vars +. ~/.bashrc + +#- include functions +source $CFDEM_PROJECT_DIR/etc/functions.sh + +casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")" + +#- get VTK data from liggghts dump file +cd $casePath/DEM/post +python -i $CFDEM_LPP_DIR/lpp.py dump*.liggghts_run + +#- get VTK data from CFD sim +cd $casePath/CFD +reconstructPar +foamToVTK + + diff --git a/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/prerun.sh b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/prerun.sh new file mode 100755 index 00000000..7b370ae7 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/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/PolydisperseFluidizedBed/R2_FB/run.config b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/run.config new file mode 100644 index 00000000..032fedbb --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/PolydisperseFluidizedBed/R2_FB/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" : 4, + "pre_scripts" : ["prerun.sh"], + "post_scripts" : ["postrun.sh"] + } + ] +}