diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/Allclean b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/Allclean new file mode 100644 index 00000000..a27b0fac --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/Allclean @@ -0,0 +1,35 @@ +#!/bin/sh +#cd ${0%/*} || exit 1 # run from this directory + +# Source tutorial run functions +. $WM_PROJECT_DIR/bin/tools/CleanFunctions +source $CFDEM_PROJECT_DIR/etc/functions.sh + +#- define variables +casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")" +cd $casePath/CFD +cleanCase +# rm $casePath/CFD/rmass*.dat +#rm $casePath/CFD/*.dat +#rm $casePath/CFD/*.txt +rm $casePath/log* +#rm $casePath/run_error.log +#cp -R 0/Org/p 0/p +#cp -R 0/Org/U 0/U +#cp -R 0/Org/Us 0/Us +#cp -R 0/Org/phiIB 0/phiIB +#cp -R 0/Org/voidfraction 0/voidfraction + +rm -R $casePath/DEM/post +mkdir $casePath/DEM/post +mkdir $casePath/DEM/post/restart +#cd $casePath/DEM/post/restart +#touch liggghts.restart + +## if postproc is activated (in fix_chem_shrink) +#rm $casePath/changeOfCO2 +#rm $casePath/changeOfO2 +#rm $casePath/rhogas_ +#rm $casePath/pmass_ + +# ----------------------------------------------------------------- end-of-file diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/Allrun.sh b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/Allrun.sh new file mode 100755 index 00000000..5c5cfbbc --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/Allrun.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +#===================================================================# +# allrun script for testcase as part of test routine +# run settlingTest +# Christoph Goniva - Sept. 2010 +#===================================================================# + +#- source CFDEM env vars +. ~/.bashrc + +#- include functions +source $CFDEM_PROJECT_DIR/etc/functions.sh + +#- define variables +casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")" +export casePath + +#cd $casePath/CFD +#blockMesh + +#$casePath/parDEMrun.sh + +#bash $casePath/parCFDDEMrun.sh + +export casePath +# check if mesh was built +if [ -f "$casePath/CFD/constant/polyMesh/points" ]; then + echo "mesh was built before - using old mesh" +else + echo "mesh needs to be built" + cd $casePath/CFD + blockMesh +fi + +if [ -f "$casePath/DEM/post/restart/liggghts.restart" ]; then + echo "LIGGGHTS init was run before - using existing restart file" +else + #- run DEM in new terminal + $casePath/parDEMrun.sh +fi + +#echo "Run Simulation" +#cd $casePath/CFD +#decomposePar +#mpirun -np $nrProcs $solverName -parallel | tee -a $logfileName + +#- run parallel CFD-DEM in new terminal +#gnome-terminal -e "bash $casePath/parCFDDEMrun.sh" +bash $casePath/parCFDDEMrun.sh diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/CO b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/CO new file mode 100644 index 00000000..b971c1ce --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/CO @@ -0,0 +1,52 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object CO; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 0.4; + +boundaryField +{ + top + { + type zeroGradient; + } + + bottom + { + type zeroGradient; + } + + side-walls + { + type zeroGradient; + } + + inlet + { + type fixedValue; + value uniform 0.4; + } + + outlet + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/CO2 b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/CO2 new file mode 100644 index 00000000..4ad6de47 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/CO2 @@ -0,0 +1,51 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object CO2; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 0.0; + +boundaryField +{ + top + { + type zeroGradient; + } + + bottom + { + type zeroGradient; + } + + side-walls + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/Ksl b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/Ksl new file mode 100644 index 00000000..bc087769 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/Ksl @@ -0,0 +1,51 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.6 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object Ksl; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -3 -1 0 0 0 0]; + +internalField uniform 0.0; + +boundaryField +{ + top + { + type zeroGradient; + } + + bottom + { + type zeroGradient; + } + + side-walls + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/N2 b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/N2 new file mode 100644 index 00000000..ed7c9acc --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/N2 @@ -0,0 +1,52 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object N2; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 0.6; + +boundaryField +{ + top + { + type zeroGradient; + } + + bottom + { + type zeroGradient; + } + + side-walls + { + type zeroGradient; + } + + inlet + { + type fixedValue; + value uniform 0.6; + } + + outlet + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/Qsource b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/Qsource new file mode 100644 index 00000000..64313b48 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/Qsource @@ -0,0 +1,51 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object Qsource; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -3 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + top + { + type zeroGradient; + } + + bottom + { + type zeroGradient; + } + + side-walls + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/T b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/T new file mode 100644 index 00000000..02b5cb3b --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/T @@ -0,0 +1,52 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object T; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 1 0 0 0]; + +internalField uniform 1223.15; // 950 + 273.15 + +boundaryField +{ + top + { + type zeroGradient; + } + + bottom + { + type zeroGradient; + } + + side-walls + { + type zeroGradient; + } + + inlet + { + type fixedValue; + value uniform 1223.15; + } + + outlet + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/U b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/U new file mode 100644 index 00000000..047777bd --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/U @@ -0,0 +1,49 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + location "0"; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.011 0 0); + +boundaryField +{ + top + { + type zeroGradient; + } + bottom + { + type zeroGradient; + } + side-walls + { + type zeroGradient; + } + inlet + { + type fixedValue; + value uniform (0.011 0 0); + } + + outlet + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/Us b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/Us new file mode 100644 index 00000000..a769f873 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/Us @@ -0,0 +1,48 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.6 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + location "0"; + object Us; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + top + { + type zeroGradient; + } + bottom + { + type zeroGradient; + } + side-walls + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/alphat b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/alphat new file mode 100644 index 00000000..5176c807 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/alphat @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object alphat; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + top + { + type zeroGradient; + } + bottom + { + type zeroGradient; + } + side-walls + { + type zeroGradient; + } + inlet + { + type zeroGradient; + } + outlet + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/epsilon b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/epsilon new file mode 100644 index 00000000..9810c397 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/epsilon @@ -0,0 +1,53 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object epsilon; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -3 0 0 0 0]; + +internalField uniform 0.003; + +boundaryField +{ + top + { + type zeroGradient; + } + bottom + { + type zeroGradient; + } + side-walls + { + type zeroGradient; + } + inlet + { + type zeroGradient; + // If turbulence is present + /* + * type compressible::turbulentMixingLengthDissipationRateInlet; + * mixingLength 0.005; + * value uniform 200; + */ + } + outlet + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/k b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/k new file mode 100644 index 00000000..b076e39a --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/k @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object k; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0.001; + +boundaryField +{ + top + { + type zeroGradient; + } + bottom + { + type zeroGradient; + } + side-walls + { + type zeroGradient; + } + inlet + { + type zeroGradient; + } + outlet + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/mut b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/mut new file mode 100644 index 00000000..612df953 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/mut @@ -0,0 +1,48 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object mut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + top + { + type zeroGradient; + } + bottom + { + type zeroGradient; + } + side-walls + { + type zeroGradient; + } + inlet + { + type zeroGradient; + } + + outlet + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/nut b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/nut new file mode 100644 index 00000000..0027f055 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/nut @@ -0,0 +1,51 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.6 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object nut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + top + { + type zeroGradient; + } + + bottom + { + type zeroGradient; + } + + side-walls + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/p b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/p new file mode 100644 index 00000000..4af5d3be --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/p @@ -0,0 +1,49 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform 101325; + +boundaryField +{ + top + { + type zeroGradient; + } + bottom + { + type zeroGradient; + } + side-walls + { + type zeroGradient; + } + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 101325; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/p.org b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/p.org new file mode 100644 index 00000000..af41df32 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/p.org @@ -0,0 +1,52 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform 101325; + +boundaryField +{ + top + { + type zeroGradient; + } + + bottom + { + type zeroGradient; + } + + side-walls + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 101325; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/rho b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/rho new file mode 100644 index 00000000..a5f53ea7 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/rho @@ -0,0 +1,50 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.6 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object rho; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -3 0 0 0 0 0]; + +internalField uniform 1.14; + +boundaryField +{ + top + { + type zeroGradient; + } + + bottom + { + type zeroGradient; + } + + side-walls + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type zeroGradient; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/voidfraction b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/voidfraction new file mode 100644 index 00000000..3126fb49 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/0/voidfraction @@ -0,0 +1,51 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.6 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object voidfraction; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 1; + +boundaryField +{ + top + { + type zeroGradient; + } + + bottom + { + type zeroGradient; + } + + side-walls + { + type zeroGradient; + } + + inlet + { + type fixedValue; + value $internalField; + } + + outlet + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/constant/chemistryProperties b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/constant/chemistryProperties new file mode 100644 index 00000000..f95868bd --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/constant/chemistryProperties @@ -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 dictionary; + location "constant"; + object chemistryProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +chemistry off; //on; + +/* +chemistryType +{ + chemistrySolver ode; + chemistryThermo rho; +} + +initialChemicalTimeStep 1e-07; + +EulerImplicitCoeffs +{ + cTauChem 0.05; + equilibriumRateLimiter off; +} + +odeCoeffs +{ + solver seulex; + eps 0.05; +} */ + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/constant/combustionProperties b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/constant/combustionProperties new file mode 100644 index 00000000..487421c2 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/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/SingleParticleCases/ISO4695/CFD/constant/couplingProperties b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/constant/couplingProperties new file mode 100644 index 00000000..7196cfd3 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/constant/couplingProperties @@ -0,0 +1,357 @@ +/*---------------------------------------------------------------------------*\ +| ========= | | +| \\ / 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 dilute; //dense;//// + +clockModel off;//standardClock;//off; + +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 1223.15; + 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 + ); +} + +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/SingleParticleCases/ISO4695/CFD/constant/foam.dat b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/constant/foam.dat new file mode 100644 index 00000000..5191ec94 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/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/SingleParticleCases/ISO4695/CFD/constant/foam.inp b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/constant/foam.inp new file mode 100644 index 00000000..47f83881 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/constant/foam.inp @@ -0,0 +1,12 @@ +species +( + CO + CO2 + N2 +); + +reactions +{ +} + + diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/constant/g b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/constant/g new file mode 100644 index 00000000..abca4e14 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/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/SingleParticleCases/ISO4695/CFD/constant/liggghtsCommands b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/constant/liggghtsCommands new file mode 100644 index 00000000..ea16dec7 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/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/SingleParticleCases/ISO4695/CFD/constant/polyMesh/.blockMeshDict.swp b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/constant/polyMesh/.blockMeshDict.swp new file mode 100644 index 00000000..c91a9d30 Binary files /dev/null and b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/constant/polyMesh/.blockMeshDict.swp differ diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/constant/polyMesh/blockMeshDict b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/constant/polyMesh/blockMeshDict new file mode 100644 index 00000000..024f6e99 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/constant/polyMesh/blockMeshDict @@ -0,0 +1,91 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant/polyMesh"; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 1.0; + +vertices +( + (0 0 0) + (1.5 0 0) + (1.5 0.5 0) + (0 0.5 0) + (0 0 0.5) + (1.5 0 0.5) + (1.5 0.5 0.5) + (0 0.5 0.5) +); + +blocks +( + hex (0 1 2 3 4 5 6 7)(29 9 9) simpleGrading (1 1 1) + +); + +edges +( +); + +boundary +( + top + { + type wall; + faces + ( + (3 7 6 2) + ); + } + bottom + { + type wall; + faces + ( + (1 5 4 0) + ); + } + side-walls + { + type wall; + faces + ( + (0 3 2 1) + (4 5 6 7) + ); + } + inlet + { + type patch; + faces + ( + (0 4 7 3) + ); + } + outlet + { + type patch; + faces + ( + (2 6 5 1) + ); + } +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/constant/polyMesh/cylinderMesh.m4 b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/constant/polyMesh/cylinderMesh.m4 new file mode 100644 index 00000000..6df74167 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/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; + + define(D, 0.075) //75 mm column diameter + define(L, 0.15) //150 mm length + define(PI, 3.14159265) + + define(R, calc(D/2)) + define(CW, calc(D/4)) //Width of middle square section + + define(CX, calc(R*cos((PI/180)*45))) + define(CZ, calc(R*sin((PI/180)*45))) + + define(NPS, 4) //how many cells in the square section + define(NPD, 2) //how many cells from square section to perimeter + define(NPY, 15) // how many cells from top to bottom + + vertices + ( + ( CW 0.0 CW) vlabel(fiveoclocksqb) + (-CW 0.0 CW) vlabel(sevenoclocksqb) + (-CW 0.0 -CW) vlabel(elevenoclocksqb) + ( CW 0.0 -CW) vlabel(oneoclocksqb) + + ( CX 0.0 CZ) vlabel(fiveoclockcb) + (-CX 0.0 CZ) vlabel(sevenoclockcb) + (-CX 0.0 -CZ) vlabel(elevenoclockcb) + ( CX 0.0 -CZ) vlabel(oneoclockcb) + + ( CW L CW) vlabel(fiveoclocksqt) + (-CW L CW) vlabel(sevenoclocksqt) + (-CW L -CW) vlabel(elevenoclocksqt) + ( CW L -CW) vlabel(oneoclocksqt) + + ( CX L CZ) vlabel(fiveoclockct) + (-CX L CZ) vlabel(sevenoclockct) + (-CX L -CZ) vlabel(elevenoclockct) + ( CX L -CZ) vlabel(oneoclockct) + ); + + blocks + ( + //square block + hex ( + sevenoclocksqb fiveoclocksqb oneoclocksqb elevenoclocksqb + sevenoclocksqt fiveoclocksqt oneoclocksqt elevenoclocksqt + ) + (NPS NPS NPY) + simpleGrading (1 1 1) + + //slice1 + hex ( + sevenoclockcb fiveoclockcb fiveoclocksqb sevenoclocksqb + sevenoclockct fiveoclockct fiveoclocksqt sevenoclocksqt + ) + (NPS NPD NPY) + simpleGrading (1 1 1) + + //slice2 + hex ( + sevenoclocksqb elevenoclocksqb elevenoclockcb sevenoclockcb + sevenoclocksqt elevenoclocksqt elevenoclockct sevenoclockct + ) + (NPS NPD NPY) +simpleGrading (1 1 1) + + //slice3 + hex ( + elevenoclocksqb oneoclocksqb oneoclockcb elevenoclockcb + elevenoclocksqt oneoclocksqt oneoclockct elevenoclockct + ) + (NPS NPD NPY) +simpleGrading (1 1 1) + + //slice4 + hex ( + oneoclocksqb fiveoclocksqb fiveoclockcb oneoclockcb + oneoclocksqt fiveoclocksqt fiveoclockct oneoclockct + ) + (NPS NPD NPY) +simpleGrading (1 1 1) + + ); + + + //create the quarter circles + edges + ( + arc fiveoclockcb sevenoclockcb (0.0 0.0 R) + arc sevenoclockcb elevenoclockcb (-R 0.0 0.0) + arc elevenoclockcb oneoclockcb (0.0 0.0 -R) + arc oneoclockcb fiveoclockcb (R 0.0 0.0) + + arc fiveoclockct sevenoclockct (0.0 L R) + arc sevenoclockct elevenoclockct (-R L 0.0) + arc elevenoclockct oneoclockct (0.0 L -R) + arc oneoclockct fiveoclockct (R L 0.0) + + ); + + patches + ( + patch inlet + ( + (fiveoclocksqb oneoclocksqb elevenoclocksqb sevenoclocksqb) + (fiveoclocksqb fiveoclockcb oneoclockcb oneoclocksqb) + (fiveoclockcb fiveoclocksqb sevenoclocksqb sevenoclockcb) + (sevenoclocksqb elevenoclocksqb elevenoclockcb sevenoclockcb) + (oneoclocksqb oneoclockcb elevenoclockcb elevenoclocksqb) + ) + + patch outlet + ( + (fiveoclocksqt oneoclocksqt elevenoclocksqt sevenoclocksqt) + (fiveoclocksqt fiveoclockct oneoclockct oneoclocksqt) + (fiveoclockct fiveoclocksqt sevenoclocksqt sevenoclockct) + (sevenoclocksqt elevenoclocksqt elevenoclockct sevenoclockct) + (oneoclocksqt oneoclockct elevenoclockct elevenoclocksqt) + ) + + wall wall + ( + (sevenoclockcb fiveoclockcb fiveoclockct sevenoclockct) + (sevenoclockcb sevenoclockct elevenoclockct elevenoclockcb) + (elevenoclockcb elevenoclockct oneoclockct oneoclockcb) + (oneoclockcb oneoclockct fiveoclockct fiveoclockcb) + ) + +); + diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/constant/thermophysicalProperties b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/constant/thermophysicalProperties new file mode 100644 index 00000000..7f498e00 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/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/SingleParticleCases/ISO4695/CFD/constant/transportProperties b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/constant/transportProperties new file mode 100644 index 00000000..0209a87c --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/constant/transportProperties @@ -0,0 +1,47 @@ +/*--------------------------------*- 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.526e-05; // dnyamic viscosity of CO : 1.74*10^-5 [kg/ms] -- density: 1.14 kg/m3 + // dynamic viscosity of O2 = 2,04-10^-5[kg/ms]; + // density of O2 = 1.4290 [kg/m^3] + // kinematic viscosity of air (o2+n2) = 1.48e-05; + +kf kf [ 1 1 -3 -1 0 0 0 ] 0.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/SingleParticleCases/ISO4695/CFD/constant/turbulenceProperties b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/constant/turbulenceProperties new file mode 100644 index 00000000..d1156961 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/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/SingleParticleCases/ISO4695/CFD/system/controlDict b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/system/controlDict new file mode 100644 index 00000000..49b4efa6 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/system/controlDict @@ -0,0 +1,145 @@ +/*--------------------------------*- 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 1200.0; + +deltaT 1; + +writeControl timeStep; + +writeInterval 50; + +purgeWrite 10; + +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 + ( + CO2 + CO + N2 + ); + } + + globalMass + { + type volRegion; + libs ("libfieldFunctionObjects.so"); + writeControl timeStep;//outputTime; + writeInterval 1; + log true; + writeFields false; + regionType all; + name c1; + operation volIntegrate; + fields + ( + rhoeps + rho + ); + } +} + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/system/decomposeParDict b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/system/decomposeParDict new file mode 100644 index 00000000..c5dcd7c4 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/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 2; + +//method scotch; +method simple; + +simpleCoeffs +{ + n (2 1 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n ( 1 1 1 ); + delta 0.001; + order xyz; +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots ( ); + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/system/fvOptions b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/system/fvOptions new file mode 100644 index 00000000..9536c869 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/system/fvOptions @@ -0,0 +1,30 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvOptions; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +limitedTemperature +{ + type limitTemperature; + active yes; + limitTemperatureCoeffs + { + active yes; + selectionMode all; + Tmin 1200; + Tmax 2500; + } +} + + diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/system/fvSchemes b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/system/fvSchemes new file mode 100644 index 00000000..a819f794 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/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/SingleParticleCases/ISO4695/CFD/system/fvSolution b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/system/fvSolution new file mode 100644 index 00000000..9976d4cd --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/system/fvSolution @@ -0,0 +1,131 @@ +/*--------------------------------*- 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; + } + + "(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/SingleParticleCases/ISO4695/CFD/system/probesDict b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/system/probesDict new file mode 100644 index 00000000..e206213e --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/CFD/system/probesDict @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \ / O peration | Version: 2.1.x | +| \ / A nd | Web: www.OpenFOAM.org | +| \/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object probesDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + + +fields +( + rho + p + T + Cpv + N2 + CO2 + CO + ModSpeciesMassField_N2 + ModSpeciesMassField_CO2 + ModSpeciesMassField_CO + X_CO + X_CO2 +); + +writeControl timeStep; +writeInterval 50; + + +// Locations to be probed. +probeLocations +( + (7.0 2.5 2.5) + (8.0 2.5 2.5) + (1.0 2.5 2.5) +); + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/DEM/.in.liggghts_run.swo b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/DEM/.in.liggghts_run.swo new file mode 100644 index 00000000..a18da512 Binary files /dev/null and b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/DEM/.in.liggghts_run.swo differ diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/DEM/in.liggghts_init b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/DEM/in.liggghts_init new file mode 100644 index 00000000..30fee690 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/DEM/in.liggghts_init @@ -0,0 +1,58 @@ +# Particle insertion into domain +atom_style granular +atom_modify map array +echo both + +communicate single vel yes + +boundary f f f +newton off + +units si +processors 2 1 1 + +region reg block 0. 1.5 0. 0.5 0. 0.5 units box +create_box 1 reg + +neighbor 0.0005 bin +neigh_modify delay 0 + +# Material properties required for granular pair styles +fix m1 all property/global youngsModulus peratomtype 5.e6 +fix m2 all property/global poissonsRatio peratomtype 0.45 +fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3 +fix m4 all property/global coefficientFriction peratomtypepair 1 0.5 + +# pair style +pair_style gran model hertz tangential history # Hertzian without cohesion +pair_coeff * * + +# timestep, gravity +timestep 1e-2 +fix gravi all gravity 0.0 vector 0.0 -1.0 0.0 + +# walls +fix xwalls1 all wall/gran model hertz tangential history primitive type 1 xplane 0.0 +fix xwalls2 all wall/gran model hertz tangential history primitive type 1 xplane 1.5 +fix ywalls1 all wall/gran model hertz tangential history primitive type 1 yplane 0.0 +fix ywalls2 all wall/gran model hertz tangential history primitive type 1 yplane 0.5 +fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zplane 0.0 +fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane 0.5 + +# create single particle in a specific spot +create_atoms 1 single 0.75 0.25 0.25 units box +set atom 1 diameter 0.01106028 density 4300 vx 0 vy 0 vz 0 + +# screen output +compute rke all erotate/sphere +thermo_style custom step atoms ke c_rke vol +thermo 1000 +thermo_modify lost ignore norm no +compute_modify thermo_temp dynamic yes + +# insert the first particles so that dump is not empty +run 1 +dump dmp all custom 100 post/dump.liggghts_init id type x y z vx vy vz fx fy fz radius mass + +run 10 upto +write_restart post/restart/liggghts.restart diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/DEM/in.liggghts_run b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/DEM/in.liggghts_run new file mode 100644 index 00000000..99b5bb1b --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/DEM/in.liggghts_run @@ -0,0 +1,201 @@ +# Pour granular particles into chute container, then induce flow +log ../DEM/log.liggghts +thermo_log ../DEM/post/thermo.txt + +atom_style granular +atom_modify map array +communicate single vel yes + +boundary f f f +newton off + +units si +processors 2 1 1 + +# read the restart file +read_restart ../DEM/post/restart/liggghts.restart + +neighbor 0.0005 bin +neigh_modify delay 0 + +# Material properties required for granular pair styles + +fix m1 all property/global youngsModulus peratomtype 5.e6 +fix m2 all property/global poissonsRatio peratomtype 0.45 +fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3 +fix m4 all property/global coefficientFriction peratomtypepair 1 0.5 + +# pair style +pair_style gran model hertz tangential history # Hertzian without cohesion +pair_coeff * * + +# timestep, gravity +timestep 0.02 +fix gravi all gravity 9.81 vector 0.0 -1.0 0.0 + +# walls +fix xwalls1 all wall/gran model hertz tangential history primitive type 1 xplane 0.0 +fix xwalls2 all wall/gran model hertz tangential history primitive type 1 xplane 1.5 +fix ywalls1 all wall/gran model hertz tangential history primitive type 1 yplane 0.0 +fix ywalls2 all wall/gran model hertz tangential history primitive type 1 yplane 0.5 +fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zplane 0.0 +fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane 0.5 + +# Thermal properties +fix ftco all property/global thermalConductivity peratomtype 1.4 +fix ftca all property/global thermalCapacity peratomtype 3000 + +############################################### + +# cfd coupling +fix cfd all couple/cfd couple_every 50 mpi +fix cfd2 all couple/cfd/force + +# this one invokes heat transfer calculation, transfers per-particle temperature and adds convective heat flux to particles +fix tconv all couple/cfd/convection T0 1221 + +# this should invoke chemistry +fix cfd3 all couple/cfd/chemistry n_species 3 species_names CO CO2 N2 n_diff 1 diffusant_names CO + +# Activate for 3-layer unreacted core shrink model +fix cfd5 all chem/shrink/core speciesA CO molMassA 0.02801 speciesC CO2 molMassC 0.04401 scale_reduction_rate 10.0 screen yes + +# Chemical properties for unreacted shrink core (activate only when chem/shrink/core is active) +fix k0_CO all property/atom k0_cfd5 vector yes no no 17 25 2700 +fix Ea_CO all property/atom Ea_cfd5 vector yes no no 69488 73674 113859 + +# particle porosity/tortuosity/pore diameter +fix porosity all property/atom porosity_ vector yes no no 0.65 0.31 0.16 0.15 +fix tortuosity all property/global tortuosity_ scalar 3 +fix pore_diameter all property/global pore_diameter_ scalar 5.5e-7 + +# define layer properties +fix LayerRelRadii all property/atom relRadii vector yes no no 1.0 0.998 0.995 0.98 + +### define fix for mass layer - initial testing +fix LayerMasses all property/atom massLayer vector yes no no 0. 0. 0. 0. +fix LayerDennsities all property/atom density_all vector yes no no 7870. 5740. 5170. 5240. + +## define fix for rho_eff and fracRed - initialize as zero +fix fracRed all property/atom fracRed_all vector yes no no 0. 0. 0. +fix rhoeff all property/atom rhoeff vector yes no no 0. 0. 0. 0. + +############### +# Write data into files for post-processing + +variable WI equal 10 +variable time equal time +variable m1 equal mass[1] +variable rp equal radius[1] +variable rho1 equal mass[1]/((4/3)*PI*radius[1]*radius[1]*radius[1]) +fix printmass all print ${WI} "${time} ${m1} ${rho1} ${rp}" file mass_rho_rad.txt title "#time mass rho rad_par" + +# compute kinetic energy of particles to see if they are moving changing +compute KinEn all ke +variable ke_tot equal c_KinEn + +# print total kinetic energy +fix printCompute all print ${WI} "${time} ${ke_tot}" file printKE.txt title "#time ke_tot" + +compute Ea_CO all reduce sum f_Ea_CO[1] f_Ea_CO[2] f_Ea_CO[3] +fix Ea all ave/time 1 1 1 c_Ea_CO[1] c_Ea_CO[2] c_Ea_CO[3] +variable Ea1 equal f_Ea[1] +variable Ea2 equal f_Ea[2] +variable Ea3 equal f_Ea[3] + +compute k0CO all reduce sum f_k0_CO[1] f_k0_CO[2] f_k0_CO[3] +fix k0 all ave/time 1 1 1 c_k0CO[1] c_k0CO[2] c_k0CO[3] +variable k01 equal f_k0[1] +variable k02 equal f_k0[2] +variable k03 equal f_k0[3] + +fix printk0Ea all print ${WI} "${time} ${Ea1} ${Ea2} ${Ea3} ${k01} ${k02} ${k03}" file k0Ea.dat title "#time Ea1 Ea2 Ea3 k01 k02 k03" + +############### +# Print out values affecting chemical reduction into specified folder for given time +# Diffusion Coefficient for CO and H2 + +compute COdiff all reduce sum f_CO_diffCoeff +fix diffField_CO all ave/time 1 1 1 c_COdiff +variable CO_diffCo equal f_diffField_CO + +fix printDCoeff all print ${WI} "${time} ${CO_diffCo}" file DiffCoeff.dat title "#time CO_diffCoeff" + +############### +# Specific Resistance terms depending on reacting gases + +compute ACOd1 all reduce sum f_Aterm_cfd5[1] f_Aterm_cfd5[2] f_Aterm_cfd5[3] +fix ACOd1 all ave/time 1 1 1 c_ACOd1[1] c_ACOd1[2] c_ACOd1[3] +variable a_CO_1 equal f_ACOd1[1] +variable a_CO_2 equal f_ACOd1[2] +variable a_CO_3 equal f_ACOd1[3] + +compute BCOd1 all reduce sum f_Bterm_cfd5[1] f_Bterm_cfd5[2] f_Bterm_cfd5[3] +fix BCOd1 all ave/time 10 1 10 c_BCOd1[1] c_BCOd1[2] c_BCOd1[3] +variable b_CO_1 equal f_BCOd1[1] +variable b_CO_2 equal f_BCOd1[2] +variable b_CO_3 equal f_BCOd1[3] + +compute MCOd1 all reduce sum f_Massterm_cfd5 +fix MTCOd1 all ave/time 10 1 10 c_MCOd1 +variable mt_CO equal f_MTCOd1 + +fix printAterm all print ${WI} "${time} ${a_CO_1} ${a_CO_2} ${a_CO_3}" file Aterm.dat title "#time a_CO_1 aCO_2 a_CO_3" + +fix printBterm all print ${WI} "${time} ${b_CO_1} ${b_CO_2} ${b_CO_3}" file Bterm.dat title "#time b_CO_1 b_CO_2 b_CO_3" + +fix printMassTerm all print ${WI} "${time} ${mt_CO}" file MassTerm.dat title "#time mt_CO" + +# Print out fractional reduction for specific diameter ranges as well as total fractional reduction + +############### +# print out rate change of mass for gaseous reactant +compute dmdot all reduce sum f_dmA_cfd5[1] f_dmA_cfd5[2] f_dmA_cfd5[3] +fix dmA_val all ave/time 1 1 1 c_dmdot[1] c_dmdot[2] c_dmdot[3] +variable dmdot_1 equal f_dmA_val[1] +variable dmdot_2 equal f_dmA_val[2] +variable dmdot_3 equal f_dmA_val[3] + +fix printdmdot all print ${WI} "${time} ${dmdot_1} ${dmdot_2} ${dmdot_3}" file dmdot.dat title "#time dmdot_1 dmdot_2 dmdot_3" + +compute fr_1 all reduce sum f_fracRed[1] f_fracRed[2] f_fracRed[3] +fix fr_d1 all ave/time 1 1 1 c_fr_1[1] c_fr_1[2] c_fr_1[3] +variable fr_d1_1 equal f_fr_d1[1] +variable fr_d1_2 equal f_fr_d1[2] +variable fr_d1_3 equal f_fr_d1[3] + +# Calculate total fractional reduction to be written into the dump file for postProcessing/graphical representation +variable frOV_d1 equal 1/9*(f_fr_d1[3])+2/9*(f_fr_d1[2])+6/9*(f_fr_d1[1]) + +fix printfr1 all print ${WI} "${time} ${fr_d1_1} ${fr_d1_2} ${fr_d1_3} ${frOV_d1}" file fr_d1.dat title "#time fr_d1_1 fr_d1_2 fr_d1_3 fr_overall_d1" + +############################################### +## Check Layer Radii and Write them to files ### +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 100 ../DEM/post/dump*.liggghts_run id type x y z vx vy vz fx fy fz radius mass f_fracRed[1] f_fracRed[2] f_fracRed[3] +run 1 diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/README b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/README new file mode 100644 index 00000000..6db9fda8 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/README @@ -0,0 +1,6 @@ +Keq W-> Fe + Keq_ = exp(2744.63/T-2.946); + M-> W + Keq_ = exp(-3585.64/T+4.58); + H-> M + Keq_ = exp(3968.37/T+3.94); diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/grepScript.sh b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/grepScript.sh new file mode 100755 index 00000000..ed6b811b --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/grepScript.sh @@ -0,0 +1,16 @@ +#!/bin/bash +#- source CFDEM env vars +. ~/.bashrc + +#- include functions +source $CFDEM_PROJECT_DIR/etc/functions.sh + +casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")" + +cd $casePath +grep -E 'pdensity' log_ISO4695 > pdensity.txt +grep -E 'porosity' log_ISO4695 > porosity.txt +grep -E 'active layers' log_ISO4695 > activeLayers.txt +grep -E 'rhoeff_' log_ISO4695 > rhoeff.txt +grep -E 'pmass' log_ISO4695 > pmass.txt +grep -E 'pdensity after mass reduction =' log_ISO4695 > densityARed.txt diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/parCFDDEMrun.sh b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/parCFDDEMrun.sh new file mode 100644 index 00000000..ec6c115f --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/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="ISO4695" +logfileName="log_$headerText" +solverName="cfdemSolverRhoPimpleChem" +nrProcs="2" +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/SingleParticleCases/ISO4695/parDEMrun.sh b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/parDEMrun.sh new file mode 100755 index 00000000..3b9653f8 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/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=2 +machineFileName="none" +debugMode="off" +#--------------------------------------------------------------------------------# + +#- call function to run DEM case +parDEMrun $logpath $logfileName $casePath $headerText $solverName $nrProcs $machineFileName $debugMode + diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/postrun.sh b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/postrun.sh new file mode 100755 index 00000000..06624406 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/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/SingleParticleCases/ISO4695/prerun.sh b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/prerun.sh new file mode 100755 index 00000000..7b370ae7 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/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/SingleParticleCases/ISO4695/run.config b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/run.config new file mode 100644 index 00000000..9091b486 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/run.config @@ -0,0 +1,19 @@ +{ + "type" : "CFDEMcoupling", + "runs" : [ + { + "name" : "liggghts-init", + "input_script" : "DEM/in.liggghts_init", + "type" : "liggghts/serial" + }, + { + "name" : "cfdemrun", + "depends_on" : "liggghts-init", + "solver" : "cfdemSolverPiso", + "type" : "CFDEMcoupling/mpi", + "nprocs" : 2, + "pre_scripts" : ["prerun.sh"], + "post_scripts" : ["postrun.sh"] + } + ] +} diff --git a/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/runLiseScript b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/runLiseScript new file mode 100644 index 00000000..06278633 --- /dev/null +++ b/tutorials/cfdemSolverRhoPimpleChem/SingleParticleCases/ISO4695/runLiseScript @@ -0,0 +1,19 @@ +#!/bin/bash +#PBS -o fb.out +#PBS -V +#PBS -k oe +#PBS -j oe +#PBS -l nodes=1:ppn=4 +#PBS -l walltime=24:00:00 +#PBS -m ae +#PBS -M mustafa_efe.kinaci@jku.at + +source ~/.bashrc +source /apps/openfoam-4.0/OpenFOAM-4.x-version-4.0/etc/bashrc +source $HOME/CFDEM/CFDEMcoupling/etc/bashrc +module add icc gcc + +caseDir=$HOME/CFDEM/CFDEMcoupling/tutorials/cfdemSolverRhoPimpleChem/ISO4695 +cd $caseDir + +./Allrun.sh