diff --git a/tutorials/cfdemSolverMultiphase/damBreak/Allclean.sh b/tutorials/cfdemSolverMultiphase/damBreak/Allclean.sh new file mode 100755 index 00000000..525587d4 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/Allclean.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +#- define variables +casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")" + +#- 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 -r $casePath/CFD/0 +rm $casePath/log* + +echo "Remove restart file?" +echo "Enter: yes, Ctrl + C: no" +read + +rm $casePath/DEM/post/restart/*.* +rm $casePath/DEM/post/restart/liggghts.restartCFDEM* diff --git a/tutorials/cfdemSolverMultiphase/damBreak/Allrun.sh b/tutorials/cfdemSolverMultiphase/damBreak/Allrun.sh new file mode 100755 index 00000000..555a8043 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/Allrun.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +#===================================================================# +# Allrun script for cfdemSolverMultiphase +#===================================================================# + +#- define variables +postProcessing=false #true +casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")" + +# 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 + +cd $casePath/CFD +cp -r 0.org 0 +setFields + +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 + +bash $casePath/parCFDDEMrun.sh + +if [ "$postProcessing" = true ]; then + source $casePath/postRun.sh +fi diff --git a/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/Ksl b/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/Ksl new file mode 100644 index 00000000..2d0d2d3d --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/Ksl @@ -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 volScalarField; + location "0"; + object Ksl; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -3 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + walls + { + type zeroGradient; + //type fixedValue; + //value uniform 0; + } +/* outlet + { + type zeroGradient; + } + frontAndBack + { + type empty; + } +*/ + atmosphere + { + type zeroGradient; + } + +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/U b/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/U new file mode 100644 index 00000000..6817d47e --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/U @@ -0,0 +1,52 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.x | +| \\ / 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); + +boundaryField +{ + atmosphere + { + type fixedValue; + value uniform (0 0 0); + } +/* frontAndBack + { + type empty; + } + + outlet + { + //type zeroGradient; + + type inletOutlet; + inletValue uniform (0 0 0); + value uniform (0 0 0); + + } + */ + walls + { + type fixedValue; + value uniform (0 0 0); + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/Us b/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/Us new file mode 100644 index 00000000..996c4974 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/Us @@ -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 volVectorField; + location "0"; + object Us; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + walls + { + type zeroGradient; + //type fixedValue; + //value uniform (1 0 0); + } +/* outlet + { + type zeroGradient; + //type fixedValue; + //value uniform (1 0 0);; + } +*/ + atmosphere + { + type zeroGradient; + } + +/* frontAndBack + { + type empty; + } +*/ +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/alpha.air b/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/alpha.air new file mode 100644 index 00000000..b5595fc3 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/alpha.air @@ -0,0 +1,59 @@ +/*--------------------------------*- 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 alpha.air; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + walls + { + type alphaContactAngle; + thetaProperties + ( + ( water air ) 90 0 0 0 + + ); + value uniform 0; + } + atmosphere + { + type alphaContactAngle; + thetaProperties + ( + ( water air ) 90 0 0 0 + + ); + value uniform 0; + } +/* outlet + { + //type zeroGradient; + type inletOutlet; + inletValue uniform 1; + value uniform 1; + } + frontAndBack + { + type empty; + } +*/ +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/alpha.water b/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/alpha.water new file mode 100644 index 00000000..a8b310c8 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/alpha.water @@ -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 alpha.water; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + walls + { + type zeroGradient; + } +/* outlet + { + //type zeroGradient; + type inletOutlet; + inletValue uniform 0; + value uniform 0; + } + frontAndBack + { + type empty; + } +*/ + atmosphere + { + type zeroGradient; //fixedValue; + //value uniform 0; + } +} + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/alphas b/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/alphas new file mode 100644 index 00000000..34caed99 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/alphas @@ -0,0 +1,45 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object alphas; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ +/* outlet + { + type zeroGradient; + } + frontAndBack + { + type empty; + } +*/ + walls + { + type zeroGradient; + } + atmosphere + { + type zeroGradient; + } + +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/epsilon b/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/epsilon new file mode 100644 index 00000000..ab29b736 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/epsilon @@ -0,0 +1,52 @@ +/*--------------------------------*- 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 epsilon; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -3 0 0 0 0]; + +internalField uniform 0.003; + +boundaryField +{ + walls + { + type epsilonWallFunction; + Cmu 0.09; + kappa 0.41; + E 9.8; + value uniform 0.003; + } + outlet + { + type inletOutlet; + inletValue uniform 0.003; + value uniform 0.003; + } +/* frontAndBack + { + type empty; + } +*/ + atmosphere + { + type fixedValue; + value uniform 0.003; + } + +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/k b/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/k new file mode 100644 index 00000000..3347d063 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/k @@ -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 volScalarField; + location "0"; + object k; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0.001; + +boundaryField +{ + walls + { + type kqRWallFunction; + value uniform 0.001; + } + outlet + { + type inletOutlet; + inletValue uniform 0.001; + value uniform 0.001; + } +/* frontAndBack + { + type empty; + } +*/ + atmosphere + { + type fixedValue; + value uniform 0.001; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/nut b/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/nut new file mode 100644 index 00000000..8edd2719 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/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 +{ + walls + { + type nutWallFunction; + Cmu 0.09; + kappa 0.41; + E 9.8; + value uniform 0; + } + + outlet + { + type calculated; + value uniform 0; + } +/* frontAndBack + { + type empty; + } +*/ + atmosphere + { + type calculated; + value uniform 0; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/p_rgh b/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/p_rgh new file mode 100644 index 00000000..f044e615 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/p_rgh @@ -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; + object p_rgh; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + + walls + { + type fixedFluxPressure; + value uniform 0; + } + +/* outlet + { + type fixedValue; + value uniform 0; + } +*/ + atmosphere + { + type fixedValue; + value uniform 0; + } +/* frontAndBack + { + type empty; + } +*/ +} + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/sSmoothField b/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/sSmoothField new file mode 100644 index 00000000..df22fd91 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/sSmoothField @@ -0,0 +1,45 @@ +/*--------------------------------*- 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 sSmoothField; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + + walls + { + type zeroGradient; + } + +/* outlet + { + type zeroGradient; + } + frontAndBack + { + type empty; + } +*/ + atmosphere + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/vSmoothField b/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/vSmoothField new file mode 100644 index 00000000..6bf85d8d --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/vSmoothField @@ -0,0 +1,45 @@ +/*--------------------------------*- 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 volVectorField; + object vSmoothField; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 0 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + + walls + { + type zeroGradient; + } + +/* outlet + { + type zeroGradient; + } + frontAndBack + { + type empty; + } +*/ + atmosphere + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/voidfraction b/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/voidfraction new file mode 100644 index 00000000..2a99d9ae --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/CFD/0.org/voidfraction @@ -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 volScalarField; + location "0"; + object voidfraction; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 1; + +boundaryField +{ + walls + { + type zeroGradient; + } +/* outlet + { + type fixedValue; + value uniform 1; + } +*/ + atmosphere + { + type zeroGradient; //fixedValue; + //value uniform 1; + } +/* frontAndBack + { + type empty; + } +*/ + +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/damBreak/CFD/a.foam b/tutorials/cfdemSolverMultiphase/damBreak/CFD/a.foam new file mode 100644 index 00000000..e69de29b diff --git a/tutorials/cfdemSolverMultiphase/damBreak/CFD/constant/couplingProperties b/tutorials/cfdemSolverMultiphase/damBreak/CFD/constant/couplingProperties new file mode 100644 index 00000000..f6a59a36 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/CFD/constant/couplingProperties @@ -0,0 +1,281 @@ +/*---------------------------------------------------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.4 | +| \\ / A nd | Web: http://www.openfoam.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + + +FoamFile +{ + version 2.0; + format ascii; + + root ""; + case ""; + instance ""; + local ""; + + class dictionary; + object couplingProperties; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +//===========================================================================// +// sub-models & settings + +syncMode false; +//verbose; +useDDTvoidfraction; + +modelType "A"; // A or B + +couplingInterval 50; + +voidFractionModel divided;//centre;// + +locateModel engine;//turboEngineM2M;// + +meshMotionModel noMeshMotion; + +regionModel allRegion; + +IOModel basicIO; + +probeModel off; + +dataExchangeModel twoWayMPI;//twoWayFiles;//twoWayM2M;//oneWayVTK;// + +averagingModel dense;//dilute;// + +clockModel standardClock;//off; + +smoothingModel constDiffSmoothing; //off;// localPSizeDiffSmoothing;// constDiffSmoothing; // + +forceModels +( + //GidaspowDrag + //BeetstraDrag + //DiFeliceDrag + gradPForce + viscForce + KochHillDrag + //interface + //DEMbasedDrag + //RongDrag + //Archimedes + //volWeightedAverage + //totalMomentumExchange + //particleCellVolume + //fieldTimeAverage + surfaceTensionForce +); + +momCoupleModels +( + implicitCouple +); + +turbulenceModelType "turbulenceProperties"; //"RASProperties";//"LESProperties";// + +//===========================================================================// +// sub-model properties + +localPSizeDiffSmoothingProps +{ + lowerLimit 0.1; + upperLimit 1e10; + dSmoothingLength 1.5e-3; + Csmoothing 1.0; +} + +constDiffSmoothingProps +{ + lowerLimit 0.1; + upperLimit 1e10; + smoothingLength 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 false; + verbose true; +} +volWeightedAverageProps +{ + scalarFieldNames + ( + voidfraction + ); + vectorFieldNames + ( + ); + upperThreshold 0.999; + lowerThreshold 0; + verbose true; +} +totalMomentumExchangeProps +{ + implicitMomExFieldName "Ksl"; + explicitMomExFieldName "none"; + fluidVelFieldName "U"; + granVelFieldName "Us"; +} +GidaspowDragProps +{ + verbose true; + velFieldName "U"; + voidfractionFieldName "voidfraction"; + interpolation true; + phi 1; +} +DEMbasedDragProps +{ + velFieldName "U"; + voidfractionFieldName "voidfraction"; +} + +DiFeliceDragProps +{ + //verbose true; + velFieldName "U"; + voidfractionFieldName "voidfraction"; + granVelFieldName "Us"; + interpolation true; +} + +KochHillDragProps +{ + //verbose true; + velFieldName "U"; + voidfractionFieldName "voidfraction"; + interpolation true; + //forceSubModels + //( + // ImExCorr + //); + implForceDEM true; + //implForceDEMaccumulated true; + //explicitCorr true; +} + +BeetstraDragProps +{ + velFieldName "U"; + gravityFieldName "g"; + rhoParticle 2000.; + voidfractionFieldName "voidfraction"; + interpolation ; + useFilteredDragModel ; + useParcelSizeDependentFilteredDrag ; + k 0.05; + aLimit 0.0; +// verbose true; +} + +RongDragProps +{ + verbose true; + velFieldName "U"; + voidfractionFieldName "voidfraction"; + interpolation true; + implForceDEM true; + implForceDEMaccumulated true; + granVelFieldName "Us"; +} + +virtualMassForceProps +{ + velFieldName "U"; +} + +particleCellVolumeProps +{ + upperThreshold 0.999; + lowerThreshold 0.; + verbose true; +} + +fieldStoreProps +{ + scalarFieldNames + ( + ); + + vectorFieldNames + ( + "U" + ); +} + +oneWayVTKProps +{ + couplingFilename "vtk_out%4.4d.vtk"; + maxNumberOfParticles 30000; +} + +twoWayFilesProps +{ + maxNumberOfParticles 10100; +} + +centreProps +{ + alphaMin 0.1; +} + +engineProps +{ + treeSearch true; +} + +turboEngineM2MProps +{ + turboEngineProps + { + treeSearch true; + } +} + +dividedProps +{ + alphaMin 0.01; + scaleUpVol 1.0; +} + +twoWayMPIProps +{ + liggghtsPath "../DEM/in.liggghts_run"; +} +twoWayM2MProps +{ + maxNumberOfParticles 10100; + liggghtsPath "../DEM/in.liggghts_run"; +} + +surfaceTensionForceProps +{ +} +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/damBreak/CFD/constant/g b/tutorials/cfdemSolverMultiphase/damBreak/CFD/constant/g new file mode 100644 index 00000000..317bdd50 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/CFD/constant/g @@ -0,0 +1,22 @@ +/*--------------------------------*- 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 uniformDimensionedVectorField; + location "constant"; + object g; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -2 0 0 0 0]; +value ( 0 0 -9.81 ); + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/damBreak/CFD/constant/liggghtsCommands b/tutorials/cfdemSolverMultiphase/damBreak/CFD/constant/liggghtsCommands new file mode 100644 index 00000000..d9e1ce81 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/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 off; + writeName "post/restart/liggghts.restartCFDEM"; + overwrite on; +} diff --git a/tutorials/cfdemSolverMultiphase/damBreak/CFD/constant/motionProperties b/tutorials/cfdemSolverMultiphase/damBreak/CFD/constant/motionProperties new file mode 100644 index 00000000..d96a5705 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/CFD/constant/motionProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 4.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object motionProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +movingFvMesh staticFvMesh; + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/damBreak/CFD/constant/polyMesh/blockMeshDict b/tutorials/cfdemSolverMultiphase/damBreak/CFD/constant/polyMesh/blockMeshDict new file mode 100644 index 00000000..19527945 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/CFD/constant/polyMesh/blockMeshDict @@ -0,0 +1,110 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.0 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ +version 2.0; +format ascii; +class dictionary; +object blockMeshDict; +} +// ************************************ + + + + + + + meshGenApp blockMesh; + convertToMeters 0.01; + + //64 mm column diameter + //15 cm 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 0 0) + (20 0 0) + (20 10 0) + (0 10 0) + (0 0 30) + (20 0 30) + (20 10 30) + (0 10 30) + ); + + blocks + ( + hex (0 1 2 3 4 5 6 7) (40 20 60) simpleGrading (1 1 1) + ); + + edges + ( + ); + + boundary + ( + atmosphere + { + type patch; + faces + ( + (4 5 6 7) + ); + } +/* frontAndBack + { + type empty; + faces + ( + (0 1 5 4) + (4 5 9 8) + (8 9 13 12) + (3 7 6 2) + (7 11 10 6) + (11 15 14 10) + + ); + } + + outlet + { + type patch; + faces + ( + (5 6 10 9) + ); + } +*/ + walls + { + type wall; + faces + ( + (0 3 2 1) + (0 4 7 3) + (3 7 6 2) + (1 2 6 5) + (0 1 5 4) + ); + } +); + +mergePatchPairs +( +); diff --git a/tutorials/cfdemSolverMultiphase/damBreak/CFD/constant/transportProperties b/tutorials/cfdemSolverMultiphase/damBreak/CFD/constant/transportProperties new file mode 100644 index 00000000..bae5857c --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/CFD/constant/transportProperties @@ -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 dictionary; + location "constant"; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +phases +( + water + { + transportModel Newtonian; + nu nu [ 0 2 -1 0 0 0 0 ] 1e-06; + rho rho [ 1 -3 0 0 0 0 0 ] 1000; + } +/* + oil + { + transportModel Newtonian; + nu nu [ 0 2 -1 0 0 0 0 ] 1e-06; + rho rho [ 1 -3 0 0 0 0 0 ] 500; + } +*/ + air + { + transportModel Newtonian; + nu nu [ 0 2 -1 0 0 0 0 ] 1e-05; + rho rho [ 1 -3 0 0 0 0 0 ] 1; //100; +// nu nu [ 0 2 -1 0 0 0 0 ] 1.48e-05; +// rho rho [ 1 -3 0 0 0 0 0 ] 1; + } +); + +sigmas +( +// (water oil) 0.07 + (air water) 0.07 +// (air oil) 0.07 + +); + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/damBreak/CFD/constant/transportProperties_temp b/tutorials/cfdemSolverMultiphase/damBreak/CFD/constant/transportProperties_temp new file mode 100644 index 00000000..1e803628 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/CFD/constant/transportProperties_temp @@ -0,0 +1,37 @@ +/*--------------------------------*- 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.5e-04; + +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/cfdemSolverMultiphase/damBreak/CFD/constant/turbulenceProperties b/tutorials/cfdemSolverMultiphase/damBreak/CFD/constant/turbulenceProperties new file mode 100644 index 00000000..c09c9524 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/CFD/constant/turbulenceProperties @@ -0,0 +1,30 @@ +/*--------------------------------*- 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 turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType laminar; //RAS; + +RAS +{ + RASModel laminar; + + turbulence off; + + printCoeffs on; +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/damBreak/CFD/system/controlDict b/tutorials/cfdemSolverMultiphase/damBreak/CFD/system/controlDict new file mode 100644 index 00000000..879abbbf --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/CFD/system/controlDict @@ -0,0 +1,55 @@ +/*--------------------------------*- 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 "system"; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application pisoFoam; + +startFrom startTime; + +startTime 0; + +stopAt endTime; + +endTime 1.5; + +deltaT 0.0005; + +writeControl adjustableRunTime; + +writeInterval 0.1; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 6; + +writeCompression uncompressed; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +adjustTimeStep no; + +maxCo 0.1; +maxAlphaCo 0.1; + + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/damBreak/CFD/system/controlDict.foam b/tutorials/cfdemSolverMultiphase/damBreak/CFD/system/controlDict.foam new file mode 100644 index 00000000..7493598b --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/CFD/system/controlDict.foam @@ -0,0 +1,117 @@ +/*--------------------------------*- 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 "system"; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application pisoFoam; + +startFrom startTime; + +startTime 0; + +stopAt endTime; + +endTime 0.1;//0.01; + +deltaT 0.001; + +writeControl adjustableRunTime; + +writeInterval 0.001;//0.01; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 6; + +writeCompression uncompressed; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +adjustTimeStep no; + +maxCo 0.1; + +libs ("libOpenFOAM.so" "libgroovyBC.so"); + +functions +( + + probes + { + type probes; + // Where to load it from + functionObjectLibs ( "libsampling.so" ); + // Name of the directory for probe data + name probes; + probeLocations + ( + (0 0 0.0001) + (0 0 0.0026) + (0 0 0.0051) + (0 0 0.0076) + (0 0 0.0101) + (0 0 0.0126) + (0 0 0.0151) + (0 0 0.0176) + (0 0 0.0201) + (0 0 0.0226) + (0 0 0.0251) + (0 0 0.0276) + (0 0 0.0301) + (0 0 0.0326) + (0 0 0.0351) + (0 0 0.0375) + (0 0 0.0401) + (0 0 0.0426) + (0 0 0.0451) + (0 0 0.0476) + (0 0 0.0529) + ); + + // Fields to be probed + fields ( p U voidfraction volAverage_voidfraction); + + // Write at same frequency as fields + outputControl timeStep;//outputTime; + outputInterval 1; + } + + /*pressureDrop + { + type patchAverage; + functionObjectLibs + ( + "libsimpleFunctionObjects.so" + ); + verbose true; + patches + ( + inlet + outlet + ); + fields + ( + p + ); + factor 1; + }*/ +); +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/damBreak/CFD/system/decomposeParDict b/tutorials/cfdemSolverMultiphase/damBreak/CFD/system/decomposeParDict new file mode 100644 index 00000000..4de14078 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/CFD/system/decomposeParDict @@ -0,0 +1,86 @@ +/*-------------------------------*- C++ -*---------------------------------*\ +| ========= | +| \\ / OpenFOAM | +| \\ / | +| \\ / The Open Source CFD Toolbox | +| \\/ http://www.OpenFOAM.org | +\*-------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + note "mesh decomposition control dictionary"; + location "system"; + object decomposeParDict; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +//- Keep owner and neighbour on same processor for faces in zones: +// preserveFaceZones (heater solid1 solid3); + +//method scotch; +// method hierarchical; + method simple; +// method metis; +// method manual; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (2 2 1); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + /* + processorWeights + ( + 1 + 1 + 1 + 1 + ); + */ +} + +scotchCoeffs +{ + //processorWeights + //( + // 1 + // 1 + // 1 + // 1 + //); + //writeGraph true; + //strategy "b"; +} + +manualCoeffs +{ + dataFile "decompositionData"; +} + + +//// Is the case distributed +//distributed yes; +//// Per slave (so nProcs-1 entries) the directory above the case. +//roots +//( +// "/tmp" +// "/tmp" +//); + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/damBreak/CFD/system/funkySetFieldsDict b/tutorials/cfdemSolverMultiphase/damBreak/CFD/system/funkySetFieldsDict new file mode 100644 index 00000000..39414dd5 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/CFD/system/funkySetFieldsDict @@ -0,0 +1,33 @@ +FoamFile +{ + version 2.0; + format ascii; + + root "/.automount/werner/Werner/bgschaid/bgschaid-foamStuff/DepositionTests"; + case "neutralTest"; + instance "system"; + local ""; + + class dictionary; + object funkySetFieldsDict; +} + +expressions +( + init + { + field voidfraction; + expression "1"; + valuePatches 2(inlet outlet); // set value 1 at those patches + } + setGamma + { + field voidfraction; + expression "0.43"; + //condition "pow(pow(pos().x-0.2,2) + pow(pos().y-0,2)+ pow(pos().z-0,2),0.5) < 0.04"; + condition "pos().z < 0.01467 && pos().z > 0.0"; + keepPatches true; + //valuePatches 1(inlet); // set value 1 at those patches + } + +); diff --git a/tutorials/cfdemSolverMultiphase/damBreak/CFD/system/fvSchemes b/tutorials/cfdemSolverMultiphase/damBreak/CFD/system/fvSchemes new file mode 100644 index 00000000..e15a3682 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/CFD/system/fvSchemes @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default Euler; +} + +gradSchemes +{ + default Gauss linear; + grad(U) Gauss linear; + grad(gamma) Gauss linear; +} + +divSchemes +{ + div(rhoPhi,U) Gauss upwind; + div(phi,alpha) Gauss vanLeer; + div(phirb,alpha) Gauss linear; + div((muEff*dev(T(grad(U))))) Gauss linear; + div((viscousTerm*dev2(grad(U).T()))) Gauss linear; + div(((grad(U)*rho)*dev(grad(U).T()))) Gauss linear; + div(((dev(grad(U).T())*rho)*dev(grad(U).T()))) Gauss linear; + div((((((alpha.water*rho)*nu.water)|(alpha.water*rho))*rho)*dev(grad(U).T()))) Gauss linear; + div(((nu*rho)*dev(grad(U).T()))) Gauss linear; +} + +laplacianSchemes +{ + default Gauss linear corrected; +} + +interpolationSchemes +{ + default linear; +} + +snGradSchemes +{ + default corrected; +} + +fluxRequired +{ + default no; + pcorr; + p_rgh; + "alpha.*"; +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/damBreak/CFD/system/fvSchemes.org b/tutorials/cfdemSolverMultiphase/damBreak/CFD/system/fvSchemes.org new file mode 100644 index 00000000..fac85f68 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/CFD/system/fvSchemes.org @@ -0,0 +1,76 @@ +/*--------------------------------*- 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 "system"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default Euler; +} + +gradSchemes +{ + default Gauss linear; + grad(p) Gauss linear; + grad(U) Gauss linear; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) Gauss limitedLinearV 1; + div(phi,k) Gauss limitedLinear 1; + div(phi,epsilon) Gauss limitedLinear 1; + div(phi,R) Gauss limitedLinear 1; + div(R) Gauss linear; + div(phi,nuTilda) Gauss limitedLinear 1; + div((viscousTerm*dev(grad(U).T()))) Gauss linear; + div((nu*dev(grad(U).T()))) Gauss linear; + div((nuEff*dev(grad(U).T()))) Gauss linear; +} + +laplacianSchemes +{ + default Gauss linear corrected; + laplacian(viscousTerm,U) Gauss linear corrected; + laplacian(nu,U) Gauss linear corrected; + laplacian(nuEff,U) Gauss linear corrected; + laplacian((1|A(U)),p) Gauss linear corrected; + laplacian((voidfraction2|A(U)),p) Gauss linear corrected; + laplacian(DkEff,k) Gauss linear corrected; + laplacian(DepsilonEff,epsilon) Gauss linear corrected; + laplacian(DREff,R) Gauss linear corrected; + laplacian(DnuTildaEff,nuTilda) Gauss linear corrected; +} + +interpolationSchemes +{ + default linear; + interpolate(U) linear; +} + +snGradSchemes +{ + default corrected; +} + +fluxRequired +{ + default no; + p ; +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/damBreak/CFD/system/fvSolution b/tutorials/cfdemSolverMultiphase/damBreak/CFD/system/fvSolution new file mode 100644 index 00000000..6907a786 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/CFD/system/fvSolution @@ -0,0 +1,138 @@ +/*--------------------------------*- 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 +{ + "alpha.*" + { + nAlphaSubCycles 1; + cAlpha 1; + } + + pcorr + { + solver PCG; + preconditioner + { + preconditioner GAMG; + tolerance 1e-05; + relTol 0; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + nFinestSweeps 2; + cacheAgglomeration on; + nCellsInCoarsestLevel 10; + agglomerator faceAreaPair; + mergeLevels 1; + } + tolerance 1e-05; + relTol 0; + maxIter 100; + } + + p_rgh + { + solver GAMG; + tolerance 1e-07; + relTol 0.05; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + nFinestSweeps 2; + cacheAgglomeration on; + nCellsInCoarsestLevel 10; + agglomerator faceAreaPair; + mergeLevels 1; + } + + p_rghFinal + { + solver PCG; + preconditioner + { + preconditioner GAMG; + tolerance 1e-07; + relTol 0; + nVcycles 2; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + nFinestSweeps 2; + cacheAgglomeration on; + nCellsInCoarsestLevel 10; + agglomerator faceAreaPair; + mergeLevels 1; + } + tolerance 1e-07; + relTol 0; + maxIter 20; + } + + "(k|epsilon|R|nuTilda)" + { + solver smoothSolver; + smoother GaussSeidel; + tolerance 1e-9; + relTol 0; + nSweeps 1; + } + + "(voidfraction|Us|Ksl|sSmoothField|vSmoothField|UsNext|voidfractionNext)" + { + solver PCG; + preconditioner DIC; + tolerance 1e-05; + relTol 0; + } + + U + { + solver smoothSolver; + smoother GaussSeidel; + tolerance 1e-08; + relTol 0.1; + nSweeps 1; + } + + UFinal + { + $U; + tolerance 1e-08; + relTol 0; + } + +} + +PIMPLE +{ + nCorrectors 2; + nNonOrthogonalCorrectors 0; +} + +relaxationFactors +{ + fields + { + } + equations + { + "U.*" 1; + } +} + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/damBreak/CFD/system/fvSolution.org b/tutorials/cfdemSolverMultiphase/damBreak/CFD/system/fvSolution.org new file mode 100644 index 00000000..d6fb7a2b --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/CFD/system/fvSolution.org @@ -0,0 +1,62 @@ +/*--------------------------------*- 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 "system"; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ + "(p)" + { + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0.1; + } + + pFinal + { + solver PCG; + preconditioner DIC; + tolerance 1e-06; + relTol 0; + } + + "(U|k|epsilon|R|nuTilda)" + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-05; + relTol 0; + } + + "(voidfraction|Us|Ksl|dSmoothing|UsNext|voidfractionNext)" + { + solver PCG; + preconditioner DIC; + tolerance 1e-05; + relTol 0; + } +} + +PISO +{ + nCorrectors 4; + nNonOrthogonalCorrectors 1; + pRefCell 0; + pRefValue 0; +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/damBreak/CFD/system/setFieldsDict b/tutorials/cfdemSolverMultiphase/damBreak/CFD/system/setFieldsDict new file mode 100644 index 00000000..f38b704c --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/CFD/system/setFieldsDict @@ -0,0 +1,41 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object setFieldsDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +defaultFieldValues +( + volScalarFieldValue alpha.air 1 + volScalarFieldValue alpha.water 0 +// volScalarFieldValue alpha.oil 0 +// volScalarFieldValue alpha.mercury 0 + volVectorFieldValue U ( 0 0 0 ) +); + +regions +( + boxToCell + { + box ( 0.15 0 0 ) ( 0.2 0.1 0.1 ); + fieldValues + ( + volScalarFieldValue alpha.water 1 + volScalarFieldValue alpha.air 0 + ); + } +); + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/damBreak/DEM/in.liggghts_init b/tutorials/cfdemSolverMultiphase/damBreak/DEM/in.liggghts_init new file mode 100644 index 00000000..1e06dcea --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/DEM/in.liggghts_init @@ -0,0 +1,71 @@ +# Pour granular particles into chute container, then induce flow +echo both +atom_style granular +atom_modify map array +communicate single vel yes + +boundary f f f +newton off + +units si + +region reg block 0 0.2 0 0.1 0 0.3 units box +create_box 1 reg + +neighbor 0.001 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 #0.9 +fix m4 all property/global coefficientFriction peratomtypepair 1 0.5 #0.3 + +# pair style +pair_style gran model hertz tangential history # Hertzian without cohesion +pair_coeff * * + +# timestep, gravity +timestep 0.00001 +fix gravi all gravity 9.81 vector 0.0 0.0 -1.0 + +# walls +fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zplane 0 +fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane 0.3 +fix xwalls1 all wall/gran model hertz tangential history primitive type 1 xplane 0 +fix xwalls2 all wall/gran model hertz tangential history primitive type 1 xplane 0.2 +fix ywalls1 all wall/gran model hertz tangential history primitive type 1 yplane 0 +fix ywalls2 all wall/gran model hertz tangential history primitive type 1 yplane 0.1 +fix xwalls3 all wall/gran model hertz tangential history primitive type 1 xplane 0.15 +#fix cfdmesh all mesh/surface file ../CFD/mesh.stl type 1 +#fix walls all wall/gran model hertz tangential history mesh n_meshes 1 meshes cfdmesh + +# particle distributions and insertion +#region bc block -0.05 0.05 -0.0025 0.0025 0.05 0.1 units box +region bc block 0.15 0.2 0 0.1 0 0.1 units box +fix pts1 all particletemplate/sphere 1 atom_type 1 density constant 2500 radius constant 0.00135 +fix pdd1 all particledistribution/discrete 1 1 pts1 1.0 + +fix ins all insert/pack seed 100001 distributiontemplate pdd1 vel constant 0. 0. -1.0 insert_every once overlapcheck yes particles_in_region 3883 region bc + +# apply nve integration to all particles that are inserted as single particles +fix integr all nve/sphere + +# screen output +compute rke all erotate/sphere +thermo_style custom step atoms ke c_rke vol +thermo 1000 +thermo_modify lost ignore norm no +compute_modify thermo_temp dynamic yes + +# insert the first particles so that dump is not empty +run 1 +dump dmp all custom 500 post/dump*.liggghts_init id type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius +#force : f_couple_cfd[0] f_couple_cfd[1] f_couple_cfd[2] +#node : f_couple_cfd[6] +#cell id : f_couple_cfd[7] + +run 30000 upto +write_restart post/restart/liggghts.restart diff --git a/tutorials/cfdemSolverMultiphase/damBreak/DEM/in.liggghts_run b/tutorials/cfdemSolverMultiphase/damBreak/DEM/in.liggghts_run new file mode 100644 index 00000000..de7989ed --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/DEM/in.liggghts_run @@ -0,0 +1,74 @@ +# 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 m m m +newton off + +units si +processors 2 2 1 + +# read the restart file +read_restart ../DEM/post/restart/liggghts.restart + +neighbor 0.0005 bin +neigh_modify delay 0 + +# 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 #0.9 +fix m4 all property/global coefficientFriction peratomtypepair 1 0.5 #0.3 + +# pair style +pair_style gran model hertz tangential history # Hertzian without cohesion +pair_coeff * * + +# timestep, gravity +timestep 0.00001 +fix gravi all gravity 9.81 vector 0.0 0.0 -1.0 + +# walls +fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zplane 0 +fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane 0.3 +fix xwalls1 all wall/gran model hertz tangential history primitive type 1 xplane 0 +fix xwalls2 all wall/gran model hertz tangential history primitive type 1 xplane 0.2 +fix ywalls1 all wall/gran model hertz tangential history primitive type 1 yplane 0 +fix ywalls2 all wall/gran model hertz tangential history primitive type 1 yplane 0.1 +#fix cfdmesh all mesh/surface file ../CFD/mesh.stl type 1 +#fix walls all wall/gran model hertz tangential history mesh n_meshes 1 meshes cfdmesh + +# change the particles density +set group all density 2500 + +# cfd coupling +fix cfd all couple/cfd couple_every 100 mpi +fix cfd2 all couple/cfd/force/implicit +#fix cfd2 all couple/cfd/force/accumulator RongDrag 10 1.5e-3 +#fix cfd2 all couple/cfd/force/implicit/accumulated #CrankNicolson 0.5 + +# apply nve integration to all particles that are inserted as single particles +fix integr all nve/sphere + +# center of mass +compute centerOfMass all com + +# compute total dragforce +compute dragtotal all reduce sum f_dragforce[1] f_dragforce[2] f_dragforce[3] + +# screen output +compute rke all erotate/sphere +thermo_style custom step atoms ke c_rke vol c_centerOfMass[3] c_dragtotal[1] c_dragtotal[2] c_dragtotal[3] +thermo 10 +thermo_modify lost ignore norm no +compute_modify thermo_temp dynamic yes + +dump dmp all custom 10000 ../DEM/post/dump*.liggghts_run id type x y z vx vy vz fx fy fz f_dragforce[1] f_dragforce[2] f_dragforce[3] radius +#dump dmpStl all mesh/stl 500 ../DEM/post/dump*.stl + +run 1 diff --git a/tutorials/cfdemSolverMultiphase/damBreak/DEM/post/.gitignore b/tutorials/cfdemSolverMultiphase/damBreak/DEM/post/.gitignore new file mode 100644 index 00000000..e69de29b diff --git a/tutorials/cfdemSolverMultiphase/damBreak/DEM/post/restart/.gitignore b/tutorials/cfdemSolverMultiphase/damBreak/DEM/post/restart/.gitignore new file mode 100644 index 00000000..e69de29b diff --git a/tutorials/cfdemSolverMultiphase/damBreak/parCFDDEMrun.sh b/tutorials/cfdemSolverMultiphase/damBreak/parCFDDEMrun.sh new file mode 100755 index 00000000..820ec424 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/parCFDDEMrun.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +#===================================================================# +# allrun script for testcase as part of test routine +# run settlingTest CFD part +# Christoph Goniva - Feb. 2011 +#===================================================================# + +#- source CFDEM env vars +. ~/.bashrc + +#- include functions +source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh + +#--------------------------------------------------------------------------------# +#- define variables +casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")" +logpath=$casePath +headerText="run_parallel_cfdemSolverMultiphase_test" +logfileName="log_$headerText" +solverName="cfdemSolverMultiphase" +nrProcs="4" +machineFileName="none" # yourMachinefileName | none +debugMode="off" # on | off| strict +testHarnessPath="$CFDEM_TEST_HARNESS_PATH" +#--------------------------------------------------------------------------------# + +#- call function to run a parallel CFD-DEM case +parCFDDEMrun $logpath $logfileName $casePath $headerText $solverName $nrProcs $machineFileName $debugMode + diff --git a/tutorials/cfdemSolverMultiphase/damBreak/parDEMrun.sh b/tutorials/cfdemSolverMultiphase/damBreak/parDEMrun.sh new file mode 100755 index 00000000..d1e3a033 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/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_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh + +echo "starting DEM run in parallel..." +#--------------------------------------------------------------------------------# +#- define variables +casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")" +logpath="$casePath" +headerText="run_liggghts_init_DEM" +logfileName="log_$headerText" +solverName="in.liggghts_init" +nrProcs=4 +machineFileName="none" +debugMode="off" +#--------------------------------------------------------------------------------# + +#- call function to run DEM case +parDEMrun $logpath $logfileName $casePath $headerText $solverName $nrProcs $machineFileName $debugMode + diff --git a/tutorials/cfdemSolverMultiphase/damBreak/postRun.sh b/tutorials/cfdemSolverMultiphase/damBreak/postRun.sh new file mode 100755 index 00000000..349dfcf6 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/postRun.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +#- define variables +casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")" + +#- get VTK data from liggghts dump file +cd $casePath/DEM/post +python $CFDEM_LPP_DIR/lpp.py dump*.liggghts_run + +#- get VTK data from CFD sim +cd $casePath/CFD +reconstructPar +foamToVTK + diff --git a/tutorials/cfdemSolverMultiphase/damBreak/run.config b/tutorials/cfdemSolverMultiphase/damBreak/run.config new file mode 100644 index 00000000..3b8f66a3 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/damBreak/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" : "cfdemSolverMultiphase", + "type" : "CFDEMcoupling/mpi", + "nprocs" : 4, + "pre_scripts" : ["prerun.sh"], + "post_scripts" : ["postrun.sh"] + } + ] +} diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/Allclean.sh b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/Allclean.sh new file mode 100755 index 00000000..525587d4 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/Allclean.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +#- define variables +casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")" + +#- 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 -r $casePath/CFD/0 +rm $casePath/log* + +echo "Remove restart file?" +echo "Enter: yes, Ctrl + C: no" +read + +rm $casePath/DEM/post/restart/*.* +rm $casePath/DEM/post/restart/liggghts.restartCFDEM* diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/Allrun.sh b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/Allrun.sh new file mode 100755 index 00000000..6503f26c --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/Allrun.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +#===================================================================# +# Allrun script for cfdemSolverMultiphase +#===================================================================# + +#- define variables +postProcessing=true +casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")" + +# 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 + +cd $casePath/CFD +cp -r 0.org 0 +setFields + +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 + +bash $casePath/parCFDDEMrun.sh + +if [ "$postProcessing" = true ]; then + bash $casePath/postRun.sh +fi diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/Ksl b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/Ksl new file mode 100644 index 00000000..2d0d2d3d --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/Ksl @@ -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 volScalarField; + location "0"; + object Ksl; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -3 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + walls + { + type zeroGradient; + //type fixedValue; + //value uniform 0; + } +/* outlet + { + type zeroGradient; + } + frontAndBack + { + type empty; + } +*/ + atmosphere + { + type zeroGradient; + } + +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/U b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/U new file mode 100644 index 00000000..48b0791b --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/U @@ -0,0 +1,53 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.x | +| \\ / 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); + +boundaryField +{ + atmosphere + { + type inletOutlet; //fixedValue; + inletValue uniform (0 0 0); + value uniform (0 0 0); + } +/* frontAndBack + { + type empty; + } + + outlet + { + //type zeroGradient; + + type inletOutlet; + inletValue uniform (0 0 0); + value uniform (0 0 0); + + } + */ + walls + { + type fixedValue; + value uniform (0 0 0); + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/Us b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/Us new file mode 100644 index 00000000..996c4974 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/Us @@ -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 volVectorField; + location "0"; + object Us; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + walls + { + type zeroGradient; + //type fixedValue; + //value uniform (1 0 0); + } +/* outlet + { + type zeroGradient; + //type fixedValue; + //value uniform (1 0 0);; + } +*/ + atmosphere + { + type zeroGradient; + } + +/* frontAndBack + { + type empty; + } +*/ +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/alpha.air b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/alpha.air new file mode 100644 index 00000000..196a9167 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/alpha.air @@ -0,0 +1,55 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object alpha.air; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + walls + { + type alphaContactAngle; + thetaProperties + ( + ( water air ) 90 0 0 0 + + ); + value uniform 0; + } + atmosphere + { + type inletOutlet; + inletValue uniform 1; + value uniform 1; + } +/* outlet + { + //type zeroGradient; + type inletOutlet; + inletValue uniform 1; + value uniform 1; + } + frontAndBack + { + type empty; + } +*/ +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/alpha.water b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/alpha.water new file mode 100644 index 00000000..62654f88 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/alpha.water @@ -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 alpha.water; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + walls + { + type zeroGradient; + } +/* outlet + { + //type zeroGradient; + type inletOutlet; + inletValue uniform 0; + value uniform 0; + } + frontAndBack + { + type empty; + } +*/ + atmosphere + { + type inletOutlet; + inletValue uniform 0; + value uniform 0; + } +} + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/alphas b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/alphas new file mode 100644 index 00000000..34caed99 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/alphas @@ -0,0 +1,45 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.x | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object alphas; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ +/* outlet + { + type zeroGradient; + } + frontAndBack + { + type empty; + } +*/ + walls + { + type zeroGradient; + } + atmosphere + { + type zeroGradient; + } + +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/epsilon b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/epsilon new file mode 100644 index 00000000..ab29b736 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/epsilon @@ -0,0 +1,52 @@ +/*--------------------------------*- 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 epsilon; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -3 0 0 0 0]; + +internalField uniform 0.003; + +boundaryField +{ + walls + { + type epsilonWallFunction; + Cmu 0.09; + kappa 0.41; + E 9.8; + value uniform 0.003; + } + outlet + { + type inletOutlet; + inletValue uniform 0.003; + value uniform 0.003; + } +/* frontAndBack + { + type empty; + } +*/ + atmosphere + { + type fixedValue; + value uniform 0.003; + } + +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/k b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/k new file mode 100644 index 00000000..3347d063 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/k @@ -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 volScalarField; + location "0"; + object k; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0.001; + +boundaryField +{ + walls + { + type kqRWallFunction; + value uniform 0.001; + } + outlet + { + type inletOutlet; + inletValue uniform 0.001; + value uniform 0.001; + } +/* frontAndBack + { + type empty; + } +*/ + atmosphere + { + type fixedValue; + value uniform 0.001; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/nut b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/nut new file mode 100644 index 00000000..8edd2719 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/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 +{ + walls + { + type nutWallFunction; + Cmu 0.09; + kappa 0.41; + E 9.8; + value uniform 0; + } + + outlet + { + type calculated; + value uniform 0; + } +/* frontAndBack + { + type empty; + } +*/ + atmosphere + { + type calculated; + value uniform 0; + } +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/p_rgh b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/p_rgh new file mode 100644 index 00000000..c0547a75 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/p_rgh @@ -0,0 +1,56 @@ +/*--------------------------------*- 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; + object p_rgh; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + + walls + { + type zeroGradient; //fixedFluxPressure; + //value uniform 0; + } + +/* outlet + { + type fixedValue; + value uniform 0; + } +*/ + atmosphere + { + type fixedValue; + value uniform 0; + /* type totalPressure; + p0 uniform 0; + U U; + phi phi; + rho rho; + psi none; + gamma 1; + value uniform 0;*/ + } +/* frontAndBack + { + type empty; + } +*/ +} + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/sSmoothField b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/sSmoothField new file mode 100644 index 00000000..df22fd91 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/sSmoothField @@ -0,0 +1,45 @@ +/*--------------------------------*- 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 sSmoothField; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + + walls + { + type zeroGradient; + } + +/* outlet + { + type zeroGradient; + } + frontAndBack + { + type empty; + } +*/ + atmosphere + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/vSmoothField b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/vSmoothField new file mode 100644 index 00000000..6bf85d8d --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/vSmoothField @@ -0,0 +1,45 @@ +/*--------------------------------*- 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 volVectorField; + object vSmoothField; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 0 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + + walls + { + type zeroGradient; + } + +/* outlet + { + type zeroGradient; + } + frontAndBack + { + type empty; + } +*/ + atmosphere + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/voidfraction b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/voidfraction new file mode 100644 index 00000000..52144c70 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/0.org/voidfraction @@ -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 volScalarField; + location "0"; + object voidfraction; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 1; + +boundaryField +{ + walls + { + type zeroGradient; + } +/* outlet + { + type fixedValue; + value uniform 1; + } +*/ + atmosphere + { + type fixedValue; + value uniform 1; + } +/* frontAndBack + { + type empty; + } +*/ + +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/constant/couplingProperties b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/constant/couplingProperties new file mode 100644 index 00000000..2ecb6005 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/constant/couplingProperties @@ -0,0 +1,281 @@ +/*---------------------------------------------------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 1.4 | +| \\ / A nd | Web: http://www.openfoam.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + + +FoamFile +{ + version 2.0; + format ascii; + + root ""; + case ""; + instance ""; + local ""; + + class dictionary; + object couplingProperties; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +//===========================================================================// +// sub-models & settings + +syncMode false; +//verbose; +useDDTvoidfraction; +modelType "A"; // A or B + +couplingInterval 10; + +voidFractionModel divided;//centre;// + +locateModel engine;//turboEngineM2M;// + +meshMotionModel noMeshMotion; + +regionModel allRegion; + +IOModel basicIO; + +probeModel off; + +dataExchangeModel twoWayMPI;//twoWayFiles;//twoWayM2M;//oneWayVTK;// + +averagingModel dense;//dilute;// + +clockModel standardClock;//off; + +smoothingModel constDiffSmoothing; // off;// localPSizeDiffSmoothing; // + +forceModels +( + //GidaspowDrag + //BeetstraDrag + //DiFeliceDrag + gradPForce + viscForce + KochHillDrag + //interface + //DEMbasedDrag + //RongDrag + //Archimedes + //volWeightedAverage + //totalMomentumExchange + //particleCellVolume + //fieldTimeAverage + surfaceTensionForce +); + +momCoupleModels +( + implicitCouple +); + +turbulenceModelType "turbulenceProperties"; //"RASProperties";//"LESProperties";// + +//===========================================================================// +// sub-model properties + +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 false; + verbose false; +} +volWeightedAverageProps +{ + scalarFieldNames + ( + voidfraction + ); + vectorFieldNames + ( + ); + upperThreshold 0.999; + lowerThreshold 0; + verbose true; +} +totalMomentumExchangeProps +{ + implicitMomExFieldName "Ksl"; + explicitMomExFieldName "none"; + fluidVelFieldName "U"; + granVelFieldName "Us"; +} +GidaspowDragProps +{ + verbose false; + velFieldName "U"; + voidfractionFieldName "voidfraction"; + interpolation true; + phi 1; + granVelFieldName "Us"; +} +DEMbasedDragProps +{ + velFieldName "U"; + voidfractionFieldName "voidfraction"; +} + +DiFeliceDragProps +{ + //verbose true; + velFieldName "U"; + voidfractionFieldName "voidfraction"; + granVelFieldName "Us"; + interpolation true; +} + +KochHillDragProps +{ + //verbose true; + velFieldName "U"; + voidfractionFieldName "voidfraction"; + interpolation false; + //forceSubModels + //( + // ImExCorr + //); + implForceDEM true; + //implForceDEMaccumulated true; + //explicitCorr true; +} + +BeetstraDragProps +{ + velFieldName "U"; + gravityFieldName "g"; + rhoParticle 2000.; + voidfractionFieldName "voidfraction"; + interpolation ; + useFilteredDragModel ; + useParcelSizeDependentFilteredDrag ; + k 0.05; + aLimit 0.0; +// verbose true; +} + +RongDragProps +{ + verbose true; + velFieldName "U"; + voidfractionFieldName "voidfraction"; + interpolation true; + implForceDEM true; + implForceDEMaccumulated true; + granVelFieldName "Us"; +} + +virtualMassForceProps +{ + velFieldName "U"; +} + +particleCellVolumeProps +{ + upperThreshold 0.999; + lowerThreshold 0.; + verbose true; +} + +fieldStoreProps +{ + scalarFieldNames + ( + ); + + vectorFieldNames + ( + "U" + ); +} + +oneWayVTKProps +{ + couplingFilename "vtk_out%4.4d.vtk"; + maxNumberOfParticles 30000; +} + +twoWayFilesProps +{ + maxNumberOfParticles 10100; +} + +centreProps +{ + alphaMin 0.1; +} + +engineProps +{ + treeSearch true; +} + +turboEngineM2MProps +{ + turboEngineProps + { + treeSearch true; + } +} + +dividedProps +{ + alphaMin 0.3; + //scaleUpVol 1.0; +} + +twoWayMPIProps +{ + liggghtsPath "../DEM/in.liggghts_run"; +} +twoWayM2MProps +{ + maxNumberOfParticles 10100; + liggghtsPath "../DEM/in.liggghts_run"; +} + +surfaceTensionForceProps +{ +} +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/constant/g b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/constant/g new file mode 100644 index 00000000..f4596ed7 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/constant/g @@ -0,0 +1,22 @@ +/*--------------------------------*- 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 uniformDimensionedVectorField; + location "constant"; + object g; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -2 0 0 0 0]; +value ( 0 0 -9.8 ); + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/constant/liggghtsCommands b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/constant/liggghtsCommands new file mode 100644 index 00000000..d9e1ce81 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/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 off; + writeName "post/restart/liggghts.restartCFDEM"; + overwrite on; +} diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/constant/polyMesh/blockMeshDict b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/constant/polyMesh/blockMeshDict new file mode 100644 index 00000000..8747be6f --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/constant/polyMesh/blockMeshDict @@ -0,0 +1,110 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.0 | +| \\ / A nd | Web: http://www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ +version 2.0; +format ascii; +class dictionary; +object blockMeshDict; +} +// ************************************ + + + + + + + meshGenApp blockMesh; + convertToMeters 0.01; + + //64 mm column diameter + //15 cm 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 0 0) + (5 0 0) + (5 5 0) + (0 5 0) + (0 0 20) + (5 0 20) + (5 5 20) + (0 5 20) + ); + + blocks + ( + hex (0 1 2 3 4 5 6 7) (16 16 64) simpleGrading (1 1 1) + ); + + edges + ( + ); + + boundary + ( + atmosphere + { + type patch; + faces + ( + (4 5 6 7) + ); + } +/* frontAndBack + { + type empty; + faces + ( + (0 1 5 4) + (4 5 9 8) + (8 9 13 12) + (3 7 6 2) + (7 11 10 6) + (11 15 14 10) + + ); + } + + outlet + { + type patch; + faces + ( + (5 6 10 9) + ); + } +*/ + walls + { + type wall; + faces + ( + (0 3 2 1) + (0 4 7 3) + (3 7 6 2) + (1 2 6 5) + (0 1 5 4) + ); + } +); + +mergePatchPairs +( +); diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/constant/transportProperties b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/constant/transportProperties new file mode 100644 index 00000000..bae5857c --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/constant/transportProperties @@ -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 dictionary; + location "constant"; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +phases +( + water + { + transportModel Newtonian; + nu nu [ 0 2 -1 0 0 0 0 ] 1e-06; + rho rho [ 1 -3 0 0 0 0 0 ] 1000; + } +/* + oil + { + transportModel Newtonian; + nu nu [ 0 2 -1 0 0 0 0 ] 1e-06; + rho rho [ 1 -3 0 0 0 0 0 ] 500; + } +*/ + air + { + transportModel Newtonian; + nu nu [ 0 2 -1 0 0 0 0 ] 1e-05; + rho rho [ 1 -3 0 0 0 0 0 ] 1; //100; +// nu nu [ 0 2 -1 0 0 0 0 ] 1.48e-05; +// rho rho [ 1 -3 0 0 0 0 0 ] 1; + } +); + +sigmas +( +// (water oil) 0.07 + (air water) 0.07 +// (air oil) 0.07 + +); + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/constant/transportProperties_temp b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/constant/transportProperties_temp new file mode 100644 index 00000000..1e803628 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/constant/transportProperties_temp @@ -0,0 +1,37 @@ +/*--------------------------------*- 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.5e-04; + +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/cfdemSolverMultiphase/particlesWaterEntry/CFD/constant/turbulenceProperties b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/constant/turbulenceProperties new file mode 100644 index 00000000..6cd2b219 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/constant/turbulenceProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- 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 turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType laminar; //RASModel; + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/system/controlDict b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/system/controlDict new file mode 100644 index 00000000..c85a0a12 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/system/controlDict @@ -0,0 +1,74 @@ +/*--------------------------------*- 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 "system"; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application pisoFoam; + +startFrom startTime; + +startTime 0; + +stopAt endTime; + +endTime 1.0; + +deltaT 0.0001; + +writeControl adjustableRunTime; + +writeInterval 0.01; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 6; + +writeCompression uncompressed; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +adjustTimeStep no; + +maxCo 0.1; +maxAlphaCo 0.1; +/* +libs ( + "libOpenFOAM.so" + "libsimpleSwakFunctionObjects.so" + "libswakFunctionObjects.so" + ); + +functions +{ + volFlow + { + type swakExpression; + valueType patch; + patchName atmosphere; + + verbose true; + expression "U&Sf()"; + accumulations ( sum ); + outputInterval 500; + } +} +*/ +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/system/decomposeParDict b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/system/decomposeParDict new file mode 100644 index 00000000..4de14078 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/system/decomposeParDict @@ -0,0 +1,86 @@ +/*-------------------------------*- C++ -*---------------------------------*\ +| ========= | +| \\ / OpenFOAM | +| \\ / | +| \\ / The Open Source CFD Toolbox | +| \\/ http://www.OpenFOAM.org | +\*-------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + note "mesh decomposition control dictionary"; + location "system"; + object decomposeParDict; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +//- Keep owner and neighbour on same processor for faces in zones: +// preserveFaceZones (heater solid1 solid3); + +//method scotch; +// method hierarchical; + method simple; +// method metis; +// method manual; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (2 2 1); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + /* + processorWeights + ( + 1 + 1 + 1 + 1 + ); + */ +} + +scotchCoeffs +{ + //processorWeights + //( + // 1 + // 1 + // 1 + // 1 + //); + //writeGraph true; + //strategy "b"; +} + +manualCoeffs +{ + dataFile "decompositionData"; +} + + +//// Is the case distributed +//distributed yes; +//// Per slave (so nProcs-1 entries) the directory above the case. +//roots +//( +// "/tmp" +// "/tmp" +//); + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/system/fvSchemes b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/system/fvSchemes new file mode 100644 index 00000000..2f12a845 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/system/fvSchemes @@ -0,0 +1,68 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default Euler; +} + +gradSchemes +{ + default Gauss linear; + grad(U) Gauss linear; + grad(gamma) Gauss linear; +} + +divSchemes +{ + div(rhoPhi,U) Gauss upwind; + div((interpolate(rho)*phi),U) Gauss upwind; + div(phi,alpha) Gauss vanLeer; + div(phirb,alpha) Gauss linear; + div((muEff*dev(T(grad(U))))) Gauss linear; + div((viscousTerm*dev2(grad(U).T()))) Gauss linear; + div(((grad(U)*rho)*dev(grad(U).T()))) Gauss linear; + div(((dev(grad(U).T())*rho)*dev(grad(U).T()))) Gauss linear; + div((((((alpha.water*rho)*nu.water)|(alpha.water*rho))*rho)*dev(grad(U).T()))) Gauss linear; + div(((nu*rho)*dev(grad(U).T()))) Gauss linear; +} + +laplacianSchemes +{ + default Gauss linear corrected; +} + +interpolationSchemes +{ + default linear; +} + +snGradSchemes +{ + default corrected; +} + +fluxRequired +{ + default no; + pcorr; + p_rgh; + "alpha.*"; +} + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/system/fvSolution b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/system/fvSolution new file mode 100644 index 00000000..6907a786 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/system/fvSolution @@ -0,0 +1,138 @@ +/*--------------------------------*- 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 +{ + "alpha.*" + { + nAlphaSubCycles 1; + cAlpha 1; + } + + pcorr + { + solver PCG; + preconditioner + { + preconditioner GAMG; + tolerance 1e-05; + relTol 0; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + nFinestSweeps 2; + cacheAgglomeration on; + nCellsInCoarsestLevel 10; + agglomerator faceAreaPair; + mergeLevels 1; + } + tolerance 1e-05; + relTol 0; + maxIter 100; + } + + p_rgh + { + solver GAMG; + tolerance 1e-07; + relTol 0.05; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + nFinestSweeps 2; + cacheAgglomeration on; + nCellsInCoarsestLevel 10; + agglomerator faceAreaPair; + mergeLevels 1; + } + + p_rghFinal + { + solver PCG; + preconditioner + { + preconditioner GAMG; + tolerance 1e-07; + relTol 0; + nVcycles 2; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + nFinestSweeps 2; + cacheAgglomeration on; + nCellsInCoarsestLevel 10; + agglomerator faceAreaPair; + mergeLevels 1; + } + tolerance 1e-07; + relTol 0; + maxIter 20; + } + + "(k|epsilon|R|nuTilda)" + { + solver smoothSolver; + smoother GaussSeidel; + tolerance 1e-9; + relTol 0; + nSweeps 1; + } + + "(voidfraction|Us|Ksl|sSmoothField|vSmoothField|UsNext|voidfractionNext)" + { + solver PCG; + preconditioner DIC; + tolerance 1e-05; + relTol 0; + } + + U + { + solver smoothSolver; + smoother GaussSeidel; + tolerance 1e-08; + relTol 0.1; + nSweeps 1; + } + + UFinal + { + $U; + tolerance 1e-08; + relTol 0; + } + +} + +PIMPLE +{ + nCorrectors 2; + nNonOrthogonalCorrectors 0; +} + +relaxationFactors +{ + fields + { + } + equations + { + "U.*" 1; + } +} + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/system/sampleDict b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/system/sampleDict new file mode 100644 index 00000000..207dab9e --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/system/sampleDict @@ -0,0 +1,36 @@ +/*--------------------------------*- 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 sampleDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +interpolationScheme cellPoint; + +setFormat raw; + +sets +( + data + { + type uniform; + axis z; + start (0.025 0.025 0.2); + end (0.025 0.025 0); + nPoints 1000; + } +); + +fields (alpha.air); + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/system/setFieldsDict b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/system/setFieldsDict new file mode 100644 index 00000000..cea2286d --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/CFD/system/setFieldsDict @@ -0,0 +1,50 @@ +/*--------------------------------*- 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 setFieldsDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +defaultFieldValues +( + volScalarFieldValue alpha.air 1 + volScalarFieldValue alpha.water 0 +// volScalarFieldValue alpha.oil 0 +// volScalarFieldValue alpha.mercury 0 + volVectorFieldValue U ( 0 0 0 ) +); + +regions +( + boxToCell + { + box ( 0 0 0 ) ( 0.05 0.05 0.05 ); + fieldValues + ( + volScalarFieldValue alpha.water 1 + volScalarFieldValue alpha.air 0 + ); + } +/* boxToCell + { + box ( 0.005 0.005 0.05 ) ( 0.045 0.045 0.1 ); + fieldValues + ( + volScalarFieldValue voidfraction 0.35 + ); + } + */ +); + + +// ************************************************************************* // diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/DEM/in.liggghts_init b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/DEM/in.liggghts_init new file mode 100644 index 00000000..07248ceb --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/DEM/in.liggghts_init @@ -0,0 +1,72 @@ +# Pour granular particles into chute container, then induce flow +echo both +atom_style granular +atom_modify map array +communicate single vel yes + +boundary f f f +newton off + +units si + +region reg block 0 0.05 0 0.05 0 0.2 units box +create_box 1 reg + +neighbor 0.001 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 #0.9 +fix m4 all property/global coefficientFriction peratomtypepair 1 0.5 #0.3 + +# pair style +pair_style gran model hertz tangential history # Hertzian without cohesion +pair_coeff * * + +# timestep, gravity +timestep 0.00001 +fix gravi all gravity 9.8 vector 0.0 0.0 -1.0 + +# walls +fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zplane 0.05 +fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane 0.2 +fix xwalls1 all wall/gran model hertz tangential history primitive type 1 xplane 0.005 +fix xwalls2 all wall/gran model hertz tangential history primitive type 1 xplane 0.045 +fix ywalls1 all wall/gran model hertz tangential history primitive type 1 yplane 0.005 +fix ywalls2 all wall/gran model hertz tangential history primitive type 1 yplane 0.045 +#fix cfdmesh all mesh/surface file ../CFD/mesh.stl type 1 +#fix walls all wall/gran model hertz tangential history mesh n_meshes 1 meshes cfdmesh + +# particle distributions and insertion +#region bc block -0.05 0.05 -0.0025 0.0025 0.05 0.1 units box +region bc block 0.005 0.045 0.005 0.045 0.05 0.15 units box +fix pts1 all particletemplate/sphere 1 atom_type 1 density constant 2500 radius constant 0.001 +fix pdd1 all particledistribution/discrete 1 1 pts1 1.0 + +fix ins all insert/pack seed 100001 distributiontemplate pdd1 vel constant 0. 0. 0. insert_every once overlapcheck yes particles_in_region 10000 region bc + +# apply nve integration to all particles that are inserted as single particles +fix integr all nve/sphere + +# screen output +compute rke all erotate/sphere +#compute mp all property/atom mass +#compute mpA all reduce ave c_mp +thermo_style custom step atoms ke c_rke vol #c_mpA +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 500 post/dump*.liggghts_init id type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius +#force : f_couple_cfd[0] f_couple_cfd[1] f_couple_cfd[2] +#node : f_couple_cfd[6] +#cell id : f_couple_cfd[7] + +run 35000 upto +write_restart post/restart/liggghts.restart diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/DEM/in.liggghts_run b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/DEM/in.liggghts_run new file mode 100644 index 00000000..e780d6ea --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/DEM/in.liggghts_run @@ -0,0 +1,76 @@ +# 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 m m m +newton off + +units si +processors 2 2 1 + +# read the restart file +read_restart ../DEM/post/restart/liggghts.restart + +neighbor 0.005 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.00001 +fix gravi all gravity 9.8 vector 0.0 0.0 -1.0 + +# walls +fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zplane 0 +fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane 0.2 +fix xwalls1 all wall/gran model hertz tangential history primitive type 1 xplane 0 +fix xwalls2 all wall/gran model hertz tangential history primitive type 1 xplane 0.05 +fix ywalls1 all wall/gran model hertz tangential history primitive type 1 yplane 0 +fix ywalls2 all wall/gran model hertz tangential history primitive type 1 yplane 0.05 +#fix cfdmesh all mesh/surface file ../CFD/mesh.stl type 1 +#fix walls all wall/gran model hertz tangential history mesh n_meshes 1 meshes cfdmesh + +# change the particles density +set group all density 2500 + +# cfd coupling +fix cfd all couple/cfd couple_every 100 mpi +fix cfd2 all couple/cfd/force/implicit +#fix cfd2 all couple/cfd/force/accumulator RongDrag 10 1.5e-3 +#fix cfd2 all couple/cfd/force/implicit/accumulated #CrankNicolson 0.5 + +# apply nve integration to all particles that are inserted as single particles +fix integr all nve/sphere + +# center of mass +compute centerOfMass all com + +# compute total dragforce +compute dragtotal all reduce sum f_dragforce[1] f_dragforce[2] f_dragforce[3] + +# screen output +compute rke all erotate/sphere +compute mp all property/atom diameter +compute particleMassTotal all reduce ave c_mp +thermo_style custom step atoms ke c_rke vol c_centerOfMass[3] c_dragtotal[1] c_dragtotal[2] c_dragtotal[3] c_particleMassTotal +thermo 10 +thermo_modify lost ignore norm no +compute_modify thermo_temp dynamic yes + +dump dmp all custom 1000 ../DEM/post/dump*.liggghts_run id type x y z vx vy vz fx fy fz f_dragforce[1] f_dragforce[2] f_dragforce[3] radius +#dump dmpStl all mesh/stl 500 ../DEM/post/dump*.stl + +run 1 diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/DEM/post/.gitignore b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/DEM/post/.gitignore new file mode 100644 index 00000000..e69de29b diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/DEM/post/restart/.gitignore b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/DEM/post/restart/.gitignore new file mode 100644 index 00000000..e69de29b diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/parCFDDEMrun.sh b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/parCFDDEMrun.sh new file mode 100755 index 00000000..820ec424 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/parCFDDEMrun.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +#===================================================================# +# allrun script for testcase as part of test routine +# run settlingTest CFD part +# Christoph Goniva - Feb. 2011 +#===================================================================# + +#- source CFDEM env vars +. ~/.bashrc + +#- include functions +source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh + +#--------------------------------------------------------------------------------# +#- define variables +casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")" +logpath=$casePath +headerText="run_parallel_cfdemSolverMultiphase_test" +logfileName="log_$headerText" +solverName="cfdemSolverMultiphase" +nrProcs="4" +machineFileName="none" # yourMachinefileName | none +debugMode="off" # on | off| strict +testHarnessPath="$CFDEM_TEST_HARNESS_PATH" +#--------------------------------------------------------------------------------# + +#- call function to run a parallel CFD-DEM case +parCFDDEMrun $logpath $logfileName $casePath $headerText $solverName $nrProcs $machineFileName $debugMode + diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/parDEMrun.sh b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/parDEMrun.sh new file mode 100755 index 00000000..d1e3a033 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/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_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh + +echo "starting DEM run in parallel..." +#--------------------------------------------------------------------------------# +#- define variables +casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")" +logpath="$casePath" +headerText="run_liggghts_init_DEM" +logfileName="log_$headerText" +solverName="in.liggghts_init" +nrProcs=4 +machineFileName="none" +debugMode="off" +#--------------------------------------------------------------------------------# + +#- call function to run DEM case +parDEMrun $logpath $logfileName $casePath $headerText $solverName $nrProcs $machineFileName $debugMode + diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/postRun.sh b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/postRun.sh new file mode 100755 index 00000000..3c569302 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/postRun.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +#- define variables +casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")" + +#- get VTK data from liggghts dump file +cd $casePath/DEM/post +python $CFDEM_LPP_DIR/lpp.py dump*.liggghts_run + +#- get VTK data from CFD sim +cd $casePath/CFD +reconstructPar +foamToVTK + diff --git a/tutorials/cfdemSolverMultiphase/particlesWaterEntry/run.config b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/run.config new file mode 100644 index 00000000..3b8f66a3 --- /dev/null +++ b/tutorials/cfdemSolverMultiphase/particlesWaterEntry/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" : "cfdemSolverMultiphase", + "type" : "CFDEMcoupling/mpi", + "nprocs" : 4, + "pre_scripts" : ["prerun.sh"], + "post_scripts" : ["postrun.sh"] + } + ] +}