mirror of
https://github.com/ParticulateFlow/CFDEMcoupling-PFM.git
synced 2025-12-08 06:37:44 +00:00
release on 2012-07-17_15-56-10
This commit is contained in:
75
tutorials/cfdemPostproc/fillCylinder/Allrun.sh
Executable file
75
tutorials/cfdemPostproc/fillCylinder/Allrun.sh
Executable file
@ -0,0 +1,75 @@
|
||||
#!/bin/bash
|
||||
|
||||
#===================================================================#
|
||||
# allrun script for cfdemPostproc
|
||||
# Christoph Goniva - Nov. 2011
|
||||
#===================================================================#
|
||||
|
||||
#- define variables
|
||||
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
|
||||
pizzaPath="/home/cfdem/LIGGGHTS/PIZZA/gran_pizza_17Aug10/src"
|
||||
|
||||
liggghtsSim="true"
|
||||
cfdemPostProc="true"
|
||||
postproc="true"
|
||||
|
||||
# check if mesh was built
|
||||
if [ -d "$casePath/CFD/constant/polyMesh/boundary" ]; then
|
||||
echo "mesh was built before - using old mesh"
|
||||
else
|
||||
echo "mesh needs to be built"
|
||||
cd $casePath/CFD
|
||||
blockMesh
|
||||
fi
|
||||
|
||||
if [ $liggghtsSim == "true" ]
|
||||
then
|
||||
cd $casePath/DEM
|
||||
liggghts < in.liggghts_init
|
||||
|
||||
#- get VTK data from liggghts dump file
|
||||
#cd $casePath/DEM
|
||||
#python $pizzaPath/pizza.py -f pizzaScriptInit
|
||||
|
||||
cd $casePath/DEM/post
|
||||
python -i $CFDEM_LPP_DIR/lpp.py dump.liggghts_init
|
||||
|
||||
fi
|
||||
|
||||
if [ $cfdemPostProc == "true" ]
|
||||
then
|
||||
cd $casePath/CFD
|
||||
cfdemPostproc
|
||||
fi
|
||||
|
||||
#echo "now you can run foamToSurface from 2.0.x to generate *.stl or *.inp files.(press enter)"
|
||||
#read
|
||||
|
||||
if [ $postproc == "true" ]
|
||||
then
|
||||
|
||||
#- get VTK data from CFD sim
|
||||
#cd $casePath/CFD
|
||||
foamToVTK
|
||||
|
||||
#- start paraview
|
||||
paraview
|
||||
fi
|
||||
|
||||
#- keep terminal open (if started in new terminal)
|
||||
#echo "...press enter to clean up case"
|
||||
#echo "press Ctr+C to keep data"
|
||||
#read
|
||||
|
||||
#- clean up case
|
||||
echo "deleting data at: $casePath"
|
||||
rm -r $casePath/CFD/0.*
|
||||
rm -r $casePath/CFD/particles
|
||||
rm -r $casePath/CFD/VTK
|
||||
rm -r $casePath/DEM/post/*
|
||||
rm -r $casePath/DEM/log.*
|
||||
rm -r $casePath/log*
|
||||
echo "done"
|
||||
|
||||
#- preserve post directory
|
||||
echo "dummyfile" >> $casePath/DEM/post/dummy
|
||||
40
tutorials/cfdemPostproc/fillCylinder/CFD/0/dummy
Normal file
40
tutorials/cfdemPostproc/fillCylinder/CFD/0/dummy
Normal file
@ -0,0 +1,40 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM Extend Project: Open Source CFD |
|
||||
| \\ / O peration | Version: 1.6-ext |
|
||||
| \\ / A nd | Web: www.extend-project.de |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class tetPointScalarField;
|
||||
object gagaga;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
wall
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
BIN
tutorials/cfdemPostproc/fillCylinder/CFD/animation/Chr.0000.png
Normal file
BIN
tutorials/cfdemPostproc/fillCylinder/CFD/animation/Chr.0000.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 222 KiB |
BIN
tutorials/cfdemPostproc/fillCylinder/CFD/animation/Chr.0001.png
Normal file
BIN
tutorials/cfdemPostproc/fillCylinder/CFD/animation/Chr.0001.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 278 KiB |
BIN
tutorials/cfdemPostproc/fillCylinder/CFD/animation/Chr.0002.png
Normal file
BIN
tutorials/cfdemPostproc/fillCylinder/CFD/animation/Chr.0002.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 284 KiB |
@ -0,0 +1,25 @@
|
||||
/*--------------------------------*- 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 RASProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
RASModel laminar;
|
||||
|
||||
turbulence off;
|
||||
|
||||
printCoeffs on;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
77
tutorials/cfdemPostproc/fillCylinder/CFD/constant/couplingProperties
Executable file
77
tutorials/cfdemPostproc/fillCylinder/CFD/constant/couplingProperties
Executable file
@ -0,0 +1,77 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.4 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class dictionary;
|
||||
object couplingProperties;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
//===========================================================================//
|
||||
// sub-models & settings
|
||||
|
||||
modelType A;
|
||||
|
||||
couplingInterval 10;
|
||||
|
||||
voidFractionModel centre;
|
||||
|
||||
locateModel standard;
|
||||
|
||||
meshMotionModel noMeshMotion;
|
||||
|
||||
regionModel allRegion;
|
||||
|
||||
IOModel off;
|
||||
|
||||
dataExchangeModel oneWayVTK;
|
||||
|
||||
averagingModel dense;
|
||||
|
||||
clockModel off;
|
||||
|
||||
forceModels
|
||||
(
|
||||
off
|
||||
);
|
||||
|
||||
momCoupleModels
|
||||
(
|
||||
off
|
||||
);
|
||||
|
||||
turbulenceModelType RASProperties;
|
||||
|
||||
//===========================================================================//
|
||||
// sub-model properties
|
||||
|
||||
oneWayVTKProps
|
||||
{
|
||||
DEMts 0.0001;
|
||||
relativePath "../DEM/post";
|
||||
couplingFilename "liggghts_init%4.4d.vtk";
|
||||
maxNumberOfParticles 30000;
|
||||
}
|
||||
|
||||
centreProps
|
||||
{
|
||||
alphaMin 0.10;
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,34 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / 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
|
||||
(
|
||||
);
|
||||
|
||||
executeProps0
|
||||
{
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,154 @@
|
||||
/*--------------------------------*- 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 1;
|
||||
|
||||
//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.0069 0.0069 0.0 ) // Vertex fiveoclocksqb = 0
|
||||
(-0.0069 0.0069 0.0 ) // Vertex sevenoclocksqb = 1
|
||||
(-0.0069 -0.0069 0.0 ) // Vertex elevenoclocksqb = 2
|
||||
( 0.0069 -0.0069 0.0 ) // Vertex oneoclocksqb = 3
|
||||
|
||||
( 0.00975807358913172 0.00975807357161699 0.0 ) // Vertex fiveoclockcb = 4
|
||||
(-0.00975807358913172 0.00975807357161699 0.0) // Vertex sevenoclockcb = 5
|
||||
(-0.00975807358913172 -0.00975807357161699 0.0) // Vertex elevenoclockcb = 6
|
||||
( 0.00975807358913172 -0.00975807357161699 0.0) // Vertex oneoclockcb = 7
|
||||
|
||||
( 0.0069 0.0069 0.0553) // Vertex fiveoclocksqt = 8
|
||||
(-0.0069 0.0069 0.0553) // Vertex sevenoclocksqt = 9
|
||||
(-0.0069 -0.0069 0.0553) // Vertex elevenoclocksqt = 10
|
||||
( 0.0069 -0.0069 0.0553) // Vertex oneoclocksqt = 11
|
||||
|
||||
( 0.00975807358913172 0.00975807357161699 0.0553) // Vertex fiveoclockct = 12
|
||||
(-0.00975807358913172 0.00975807357161699 0.0553) // Vertex sevenoclockct = 13
|
||||
(-0.00975807358913172 -0.00975807357161699 0.0553) // Vertex elevenoclockct = 14
|
||||
( 0.00975807358913172 -0.00975807357161699 0.0553) // Vertex oneoclockct = 15
|
||||
);
|
||||
|
||||
blocks
|
||||
(
|
||||
//square block
|
||||
hex (
|
||||
2 3 0 1
|
||||
10 11 8 9
|
||||
)
|
||||
(8 8 24)
|
||||
simpleGrading (1 1 1)
|
||||
|
||||
//slice1
|
||||
hex (
|
||||
1 0 4 5
|
||||
9 8 12 13
|
||||
)
|
||||
(8 4 24)
|
||||
simpleGrading (1 1 1)
|
||||
|
||||
//slice2
|
||||
hex (
|
||||
6 2 1 5
|
||||
14 10 9 13
|
||||
)
|
||||
( 4 8 24)
|
||||
simpleGrading (1 1 1)
|
||||
|
||||
//slice3
|
||||
hex (
|
||||
6 7 3 2
|
||||
14 15 11 10
|
||||
)
|
||||
(8 4 24)
|
||||
simpleGrading (1 1 1)
|
||||
|
||||
//slice4
|
||||
hex (
|
||||
3 7 4 0
|
||||
11 15 12 8
|
||||
)
|
||||
(4 8 24)
|
||||
simpleGrading (1 1 1)
|
||||
|
||||
);
|
||||
|
||||
|
||||
//create the quarter circles
|
||||
edges
|
||||
(
|
||||
arc 4 5 (0.0 0.0138 0.0 )
|
||||
arc 5 6 (-0.0138 0.0 0.0)
|
||||
arc 6 7 (0.0 -0.0138 0.0 )
|
||||
arc 7 4 (0.0138 0.0 0.0)
|
||||
|
||||
arc 12 13 (0.0 0.0138 0.0553 )
|
||||
arc 13 14 (-0.0138 0.0 0.0553 )
|
||||
arc 14 15 (0.0 -0.0138 0.0553 )
|
||||
arc 15 12 (0.0138 0.0 0.0553 )
|
||||
|
||||
);
|
||||
|
||||
patches
|
||||
(
|
||||
patch inlet
|
||||
(
|
||||
(0 3 2 1)
|
||||
(0 4 7 3)
|
||||
(4 0 1 5)
|
||||
(1 2 6 5)
|
||||
(3 7 6 2)
|
||||
)
|
||||
|
||||
patch outlet
|
||||
(
|
||||
(8 11 10 9)
|
||||
(8 12 15 11)
|
||||
(12 8 9 13)
|
||||
(9 10 14 13)
|
||||
(11 15 14 10)
|
||||
)
|
||||
|
||||
wall wall
|
||||
(
|
||||
(5 4 12 13)
|
||||
(5 13 14 6)
|
||||
(6 14 15 7)
|
||||
(7 15 12 4)
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
mergePatchPairs
|
||||
(
|
||||
);
|
||||
@ -0,0 +1,34 @@
|
||||
/*--------------------------------*- 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;
|
||||
|
||||
movingPatchNames
|
||||
(
|
||||
outlet
|
||||
inlet
|
||||
);
|
||||
|
||||
scaling 1.0;
|
||||
|
||||
iterations 1;
|
||||
|
||||
shrinkMesh true;
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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 RASModel;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
52
tutorials/cfdemPostproc/fillCylinder/CFD/system/controlDict
Normal file
52
tutorials/cfdemPostproc/fillCylinder/CFD/system/controlDict
Normal file
@ -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 dictionary;
|
||||
location "system";
|
||||
object controlDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
application pisoFoam;
|
||||
|
||||
startFrom startTime;
|
||||
|
||||
startTime 0;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime 0.003;
|
||||
|
||||
deltaT 0.001;
|
||||
|
||||
writeControl adjustableRunTime;
|
||||
|
||||
writeInterval 0.001;
|
||||
|
||||
purgeWrite 0;
|
||||
|
||||
writeFormat ascii;
|
||||
|
||||
writePrecision 6;
|
||||
|
||||
writeCompression uncompressed;
|
||||
|
||||
timeFormat general;
|
||||
|
||||
timePrecision 6;
|
||||
|
||||
runTimeModifiable yes;
|
||||
|
||||
adjustTimeStep no;
|
||||
|
||||
maxCo 0.1;
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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 dictionary;
|
||||
location "system";
|
||||
object controlDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
application pisoFoam;
|
||||
|
||||
startFrom startTime;
|
||||
|
||||
startTime 0;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime 0.003;
|
||||
|
||||
deltaT 0.001;
|
||||
|
||||
writeControl adjustableRunTime;
|
||||
|
||||
writeInterval 0.001;
|
||||
|
||||
purgeWrite 0;
|
||||
|
||||
writeFormat ascii;
|
||||
|
||||
writePrecision 6;
|
||||
|
||||
writeCompression uncompressed;
|
||||
|
||||
timeFormat general;
|
||||
|
||||
timePrecision 6;
|
||||
|
||||
runTimeModifiable yes;
|
||||
|
||||
adjustTimeStep no;
|
||||
|
||||
maxCo 0.1;
|
||||
|
||||
// ************************************************************************* //
|
||||
73
tutorials/cfdemPostproc/fillCylinder/CFD/system/fvSchemes
Normal file
73
tutorials/cfdemPostproc/fillCylinder/CFD/system/fvSchemes
Normal file
@ -0,0 +1,73 @@
|
||||
/*--------------------------------*- 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 none;
|
||||
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((nuEff*dev(grad(U).T()))) Gauss linear;
|
||||
div((nuEff*dev(T(grad(U))))) Gauss linear;
|
||||
}
|
||||
|
||||
laplacianSchemes
|
||||
{
|
||||
default none;
|
||||
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 ;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
86
tutorials/cfdemPostproc/fillCylinder/CFD/system/fvSolution
Normal file
86
tutorials/cfdemPostproc/fillCylinder/CFD/system/fvSolution
Normal file
@ -0,0 +1,86 @@
|
||||
/*--------------------------------*- 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
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
k
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
epsilon
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
R
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
nuTilda
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
}
|
||||
}
|
||||
|
||||
PISO
|
||||
{
|
||||
nCorrectors 4;
|
||||
nNonOrthogonalCorrectors 1;
|
||||
pRefCell 0;
|
||||
pRefValue 0;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
65
tutorials/cfdemPostproc/fillCylinder/DEM/in.liggghts_init
Executable file
65
tutorials/cfdemPostproc/fillCylinder/DEM/in.liggghts_init
Executable file
@ -0,0 +1,65 @@
|
||||
# Pour granular particles into chute container, then induce flow
|
||||
|
||||
atom_style granular
|
||||
atom_modify map array
|
||||
communicate single vel yes
|
||||
|
||||
boundary m m m
|
||||
newton off
|
||||
|
||||
units si
|
||||
|
||||
region reg block -0.015 0.015 -0.015 0.015 -0.001 0.0554 units box
|
||||
create_box 1 reg
|
||||
|
||||
neighbor 0.001 bin
|
||||
neigh_modify delay 0
|
||||
|
||||
|
||||
#Material properties required for new 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/hertz/history 1 0 #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 zwalls all wall/gran/hertz/history 1 0 zplane 0.0 0.0553 1
|
||||
fix cylwalls all wall/gran/hertz/history 1 0 zcylinder 0.01385 1
|
||||
|
||||
#cfd coupling
|
||||
#fix cfd all couple/cfd
|
||||
|
||||
#particle insertion
|
||||
group nve_group region reg
|
||||
region bc cylinder z 0.0 0.0 0.012 0.02 0.03 units box
|
||||
fix ins nve_group pour 10000 1 1 vol 0.7 100 diam uniform 0.001 0.001 dens uniform 200 200 vel uniform 0. 0. 0. 0. -1.0 region bc
|
||||
|
||||
#apply nve integration to all particles that are inserted as single particles
|
||||
fix integr nve_group nve/sphere
|
||||
|
||||
|
||||
#screen output
|
||||
compute 1 all erotate/sphere
|
||||
thermo_style custom step atoms ke c_1 vol
|
||||
thermo 1000
|
||||
thermo_modify lost ignore norm no
|
||||
compute_modify thermo_temp dynamic yes
|
||||
|
||||
#insert the first particles so that dump is not empty
|
||||
run 1
|
||||
dump dmp all custom 1000 post/dump.liggghts_init id type 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 3000 upto
|
||||
#write_restart liggghts.restart
|
||||
1
tutorials/cfdemPostproc/fillCylinder/DEM/post/dummy
Normal file
1
tutorials/cfdemPostproc/fillCylinder/DEM/post/dummy
Normal file
@ -0,0 +1 @@
|
||||
dummyfile
|
||||
29
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/Allrun.sh
Executable file
29
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/Allrun.sh
Executable file
@ -0,0 +1,29 @@
|
||||
#!/bin/bash
|
||||
|
||||
#===================================================================#
|
||||
# allrun script for testcase as part of test routine
|
||||
# run settlingTest
|
||||
# Christoph Goniva - July. 2011, mod by Alice Hager - July 2011
|
||||
#===================================================================#
|
||||
|
||||
source $CFDEM_SRC_DIR/etc/functions.sh
|
||||
|
||||
#- define variables
|
||||
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
|
||||
|
||||
echo $casePath
|
||||
|
||||
# check if mesh was built
|
||||
if [ -d "$casePath/CFD/constant/polyMesh/boundary" ]; then
|
||||
echo "mesh was built before - using old mesh"
|
||||
else
|
||||
echo "mesh needs to be built"
|
||||
cd $casePath/CFD
|
||||
blockMesh
|
||||
fi
|
||||
|
||||
|
||||
#gnome-terminal --title='cfdemSolverIB two settling disks CFD' -e "CFDrun()"
|
||||
gnome-terminal --title='cfdemSolverIB twoSpheresGlowinskiMPI CFD' -e "bash $casePath/parCFDDEMrun.sh"
|
||||
#gnome-terminal --title='cfdemSolverIB two settling disks DEM' -e "DEMrun()"
|
||||
#gnome-terminal --title='cfdemSolverIB twoSpheresGlowinskiMPI DEM' -e "bash $casePath/DEMrun.sh"
|
||||
47
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/0/U
Executable file
47
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/0/U
Executable file
@ -0,0 +1,47 @@
|
||||
/*--------------------------------*- 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 U;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 1 -1 0 0 0 0];
|
||||
|
||||
internalField uniform (0 0 0);
|
||||
|
||||
boundaryField
|
||||
{
|
||||
inlet
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform (0 0 0);
|
||||
}
|
||||
|
||||
wall
|
||||
{
|
||||
type zeroGradient;
|
||||
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type fixedValue;//zeroGradient;
|
||||
value uniform (0 0 0);
|
||||
}
|
||||
|
||||
/*frontAndBack
|
||||
{
|
||||
type empty;
|
||||
}*/
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
43
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/0/Us
Executable file
43
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/0/Us
Executable file
@ -0,0 +1,43 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volVectorField;
|
||||
location "0";
|
||||
object Us;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 1 -1 0 0 0 0];
|
||||
|
||||
internalField uniform (0 0 0);
|
||||
|
||||
boundaryField
|
||||
{
|
||||
inlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
wall
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
frontAndBack
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
45
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/0/p
Executable file
45
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/0/p
Executable file
@ -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 p;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 2 -2 0 0 0 0];
|
||||
|
||||
internalField uniform 100000;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
inlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
wall
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;//fixedValue;
|
||||
//value uniform 100000;
|
||||
}
|
||||
|
||||
frontAndBack
|
||||
{
|
||||
type empty;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
48
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/0/phiIB
Executable file
48
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/0/phiIB
Executable file
@ -0,0 +1,48 @@
|
||||
/*--------------------------------*- 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 phiIB;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 2 -1 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
inlet
|
||||
{
|
||||
//type zeroGradient;
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
|
||||
wall
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
//type zeroGradient;
|
||||
}
|
||||
|
||||
frontAndBack
|
||||
{
|
||||
type empty;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
41
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/0/voidfraction
Executable file
41
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/0/voidfraction
Executable file
@ -0,0 +1,41 @@
|
||||
/*--------------------------------*- 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 voidfraction;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 1;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
inlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
wall
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
frontAndBack
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
25
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/constant/RASProperties
Executable file
25
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/constant/RASProperties
Executable file
@ -0,0 +1,25 @@
|
||||
/*--------------------------------*- 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 RASProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
RASModel laminar;//kEpsilon;
|
||||
|
||||
turbulence on;
|
||||
|
||||
printCoeffs on;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,127 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.4 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class dictionary;
|
||||
object couplingProperties;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
//===========================================================================//
|
||||
// sub-models & settings
|
||||
|
||||
modelType none;
|
||||
|
||||
couplingInterval 10;
|
||||
|
||||
depth 0;
|
||||
|
||||
voidFractionModel IB;//bigParticle;//centre; //
|
||||
|
||||
locateModel engineIB;//standard;//
|
||||
|
||||
meshMotionModel noMeshMotion;
|
||||
|
||||
regionModel allRegion;
|
||||
|
||||
dataExchangeModel twoWayMPI;//twoWayFiles;
|
||||
|
||||
IOModel basicIO;
|
||||
|
||||
averagingModel dilute;
|
||||
|
||||
clockModel off;
|
||||
|
||||
forceModels
|
||||
(
|
||||
ShirgaonkarIB
|
||||
ArchimedesIB
|
||||
);
|
||||
|
||||
momCoupleModels
|
||||
(
|
||||
);
|
||||
|
||||
turbulenceModelType RASProperties;//LESProperties; //
|
||||
|
||||
//===========================================================================//
|
||||
// sub-model properties
|
||||
|
||||
ShirgaonkarIBProps
|
||||
{
|
||||
velFieldName "U";
|
||||
densityFieldName "rho";
|
||||
pressureFieldName "p";
|
||||
verbose;
|
||||
}
|
||||
|
||||
ArchimedesIBProps
|
||||
{
|
||||
densityFieldName "rho";
|
||||
gravityFieldName "g";
|
||||
voidfractionFieldName "voidfractionNext";
|
||||
}
|
||||
|
||||
twoWayFilesProps
|
||||
{
|
||||
maxNumberOfParticles 10000;
|
||||
DEMts 0.00003;
|
||||
}
|
||||
|
||||
twoWayMPIProps
|
||||
{
|
||||
maxNumberOfParticles 10100;
|
||||
liggghtsPath "../DEM/in.liggghts_init";
|
||||
}
|
||||
|
||||
IBProps
|
||||
{
|
||||
maxCellsPerParticle 1000;
|
||||
alphaMin 0.30;
|
||||
scaleUpVol 1.0;
|
||||
}
|
||||
|
||||
bigParticleProps
|
||||
{
|
||||
maxCellsPerParticle 1000;
|
||||
alphaMin 0.30;
|
||||
scaleUpVol 1.0;
|
||||
}
|
||||
centreProps
|
||||
{
|
||||
alphaMin 0.30;
|
||||
}
|
||||
|
||||
dividedProps
|
||||
{
|
||||
alphaMin 0.05;
|
||||
scaleUpVol 1.2;
|
||||
}
|
||||
|
||||
engineIBProps
|
||||
{
|
||||
engineProps
|
||||
{
|
||||
treeSearch false;
|
||||
}
|
||||
zSplit 8;
|
||||
xySplit 16;
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
39
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/constant/dynamicMeshDict
Executable file
39
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/constant/dynamicMeshDict
Executable file
@ -0,0 +1,39 @@
|
||||
/*--------------------------------*- 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 dynamicMeshDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dynamicFvMesh dynamicRefineFvMesh;//staticFvMesh;//
|
||||
|
||||
dynamicRefineFvMeshCoeffs
|
||||
{
|
||||
refineInterval 1;//refine every refineInterval timesteps
|
||||
field interFace;
|
||||
lowerRefineLevel .0001;
|
||||
upperRefineLevel 0.99;
|
||||
unrefineLevel 10;
|
||||
nBufferLayers 1;
|
||||
maxRefinement 2;//maximum refinement level (starts from 0)
|
||||
maxCells 1000000;
|
||||
correctFluxes
|
||||
(
|
||||
(phi U)
|
||||
(phi_0 U)
|
||||
);
|
||||
dumpLevel false;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
22
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/constant/g
Executable file
22
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/constant/g
Executable file
@ -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 -981);
|
||||
//value (0 0 0);
|
||||
|
||||
// ************************************************************************* //
|
||||
31
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/constant/liggghtsCommands
Executable file
31
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/constant/liggghtsCommands
Executable file
@ -0,0 +1,31 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / 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
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,81 @@
|
||||
/*--------------------------------*- 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 dictionary;
|
||||
object blockMeshDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
convertToMeters 1;
|
||||
|
||||
/*vertices
|
||||
(
|
||||
(0 -8 -0.05)
|
||||
(1 -8 -0.05)
|
||||
(1 4 -0.05)
|
||||
(0 4 -0.05)
|
||||
(0 -8 0.05)
|
||||
(1 -8 0.05)
|
||||
(1 4 0.05)
|
||||
(0 4 0.05)
|
||||
);*/
|
||||
|
||||
vertices
|
||||
(
|
||||
(0 0 0)
|
||||
(1 0 0)
|
||||
(1 1 0)
|
||||
(0 1 0)
|
||||
(0 0 4)
|
||||
(1 0 4)
|
||||
(1 1 4)
|
||||
(0 1 4)
|
||||
);
|
||||
|
||||
blocks
|
||||
(
|
||||
hex (0 1 2 3 4 5 6 7) (10 10 40) simpleGrading (1 1 1)
|
||||
//hex (0 1 2 3 4 5 6 7) (120 480 1) simpleGrading (1 1 1)
|
||||
);
|
||||
|
||||
edges
|
||||
(
|
||||
);
|
||||
|
||||
patches
|
||||
(
|
||||
wall inlet
|
||||
(
|
||||
(0 3 2 1)
|
||||
)
|
||||
wall wall
|
||||
(
|
||||
(2 6 5 1)
|
||||
(0 4 7 3)
|
||||
(3 7 6 2)
|
||||
(1 5 4 0)
|
||||
)
|
||||
wall outlet
|
||||
(
|
||||
(4 5 6 7)
|
||||
)
|
||||
/*empty frontAndBack
|
||||
(
|
||||
(0 3 2 1)
|
||||
(4 5 6 7)
|
||||
)*/
|
||||
);
|
||||
|
||||
mergePatchPairs
|
||||
(
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,39 @@
|
||||
/*--------------------------------*- 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 ] 0.01;//0.111426;//1.875e-03;//7.5e-03;//0.265883;
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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 RASModel;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
50
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/octave/coord_pos.mat
Executable file
50
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/octave/coord_pos.mat
Executable file
@ -0,0 +1,50 @@
|
||||
# Created by Octave 3.2.3, Fri Jul 15 15:25:22 2011 CEST <alice@alice-desktop>
|
||||
# name: coord
|
||||
# type: matrix
|
||||
# rows: 35
|
||||
# columns: 4
|
||||
0.0007668711656441718 4.994152046783626 0.0007668711656441718 4.502923976608187
|
||||
0.008819018404907975 4.982456140350877 0.009585889570552147 4.479532163742689
|
||||
0.01878834355828221 4.95906432748538 0.01687116564417178 4.456140350877193
|
||||
0.02799079754601227 4.923976608187134 0.02377300613496933 4.432748538011696
|
||||
0.03489263803680982 4.87719298245614 0.03029141104294479 4.409356725146199
|
||||
0.04064417177914111 4.830409356725146 0.03680981595092025 4.362573099415204
|
||||
0.04716257668711656 4.7953216374269 0.04447852760736196 4.315789473684211
|
||||
0.05483128834355828 4.736842105263158 0.05138036809815951 4.257309941520468
|
||||
0.06096625766871166 4.678362573099415 0.05789877300613497 4.198830409356725
|
||||
0.06940184049079755 4.608187134502923 0.06403374233128835 4.140350877192982
|
||||
0.0789877300613497 4.502923976608187 0.0709355828220859 4.081871345029239
|
||||
0.08857361963190184 4.39766081871345 0.07745398773006135 4.011695906432748
|
||||
0.09470858895705522 4.327485380116959 0.08588957055214724 3.91812865497076
|
||||
0.1023773006134969 4.23391812865497 0.09279141104294479 3.83625730994152
|
||||
0.1108128834355828 4.128654970760234 0.09930981595092024 3.766081871345029
|
||||
0.1165644171779141 4.046783625730994 0.1058282208588957 3.695906432748538
|
||||
0.1219325153374233 3.964912280701754 0.111579754601227 3.625730994152047
|
||||
0.1273006134969325 3.883040935672514 0.1184815950920245 3.555555555555555
|
||||
0.1345858895705521 3.766081871345029 0.1253834355828221 3.473684210526315
|
||||
0.1418711656441718 3.637426900584795 0.1334355828220859 3.380116959064327
|
||||
0.1491564417177914 3.497076023391813 0.1403374233128834 3.298245614035087
|
||||
0.156058282208589 3.380116959064327 0.147239263803681 3.204678362573099
|
||||
0.1625766871165644 3.263157894736842 0.1549079754601227 3.111111111111111
|
||||
0.1706288343558282 3.134502923976608 0.1614263803680982 3.029239766081871
|
||||
0.1779141104294479 3.029239766081871 0.1679447852760736 2.923976608187134
|
||||
0.1855828220858896 2.912280701754386 0.1748466257668712 2.830409356725146
|
||||
0.1924846625766871 2.807017543859649 0.1825153374233129 2.701754385964912
|
||||
0.1997699386503068 2.690058479532164 0.192101226993865 2.573099415204678
|
||||
0.2070552147239264 2.56140350877193 0.2001533742331288 2.456140350877193
|
||||
0.2151073619631902 2.432748538011696 0.2070552147239264 2.350877192982456
|
||||
0.2223926380368098 2.315789473684211 0.2177914110429448 2.210526315789473
|
||||
0.2289110429447853 2.210526315789473 0.2269938650306748 2.116959064327485
|
||||
0.2373466257668712 2.105263157894737 0.236579754601227 2.035087719298246
|
||||
0.2434815950920245 2.023391812865497 0.2427147239263804 1.976608187134503
|
||||
0.2492331288343558 1.953216374269006 0.2496165644171779 1.953216374269006
|
||||
# name: L1
|
||||
# type: scalar
|
||||
3
|
||||
# name: dataLen
|
||||
# type: matrix
|
||||
# rows: 3
|
||||
# columns: 1
|
||||
35
|
||||
35
|
||||
0
|
||||
128
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/octave/coord_vel.mat
Executable file
128
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/octave/coord_vel.mat
Executable file
@ -0,0 +1,128 @@
|
||||
# Created by Octave 3.2.3, Fri Jul 15 13:54:15 2011 CEST <alice@FLUID50>
|
||||
# name: coord
|
||||
# type: matrix
|
||||
# rows: 113
|
||||
# columns: 4
|
||||
0.0003894080996884735 -0.2761341222879672 0.001557632398753894 -0.512820512820511
|
||||
0.002725856697819315 -0.7100591715976314 0.003894080996884735 -0.9072978303747519
|
||||
0.005062305295950155 -1.143984220907299 0.005841121495327103 -1.301775147928993
|
||||
0.007009345794392523 -1.499013806706113 0.008177570093457943 -1.735700197238657
|
||||
0.009345794392523364 -1.893491124260354 0.009735202492211837 -2.011834319526628
|
||||
0.01090342679127726 -2.209072978303748 0.01129283489096573 -2.327416173570018
|
||||
0.01246105919003115 -2.524654832347139 0.0132398753894081 -2.603550295857989
|
||||
0.01440809968847352 -2.800788954635109 0.01557632398753894 -2.958579881656803
|
||||
0.01635514018691589 -3.155818540433923 0.01752336448598131 -3.353057199211044
|
||||
0.01869158878504673 -3.510848126232741 0.01985981308411215 -3.708086785009861
|
||||
0.02102803738317757 -3.865877712031558 0.02180685358255452 -4.023668639053254
|
||||
0.02297507788161994 -4.181459566074951 0.02414330218068536 -4.378698224852071
|
||||
0.0249221183800623 -4.497041420118343 0.02609034267912773 -4.694280078895464
|
||||
0.02686915887850467 -4.812623274161735 0.02803738317757009 -4.970414201183432
|
||||
0.02881619937694704 -5.088757396449704 0.02959501557632399 -5.2465483234714
|
||||
0.03076323987538941 -5.404339250493097 0.03193146417445483 -5.562130177514792
|
||||
0.03309968847352025 -5.719921104536489 0.03426791277258567 -5.956607495069033
|
||||
0.03582554517133956 -6.11439842209073 0.03699376947040498 -6.272189349112425
|
||||
0.0381619937694704 -6.469428007889546 0.0397196261682243 -6.627218934911243
|
||||
0.04088785046728972 -6.824457593688363 0.04244548286604361 -7.021696252465484
|
||||
0.04400311526479751 -7.179487179487179 0.04517133956386293 -7.416173570019724
|
||||
0.04711838006230529 -7.495069033530571 0.04750778816199377 -7.731755424063117
|
||||
0.04984423676012461 -7.810650887573965 0.05023364485981308 -8.007889546351084
|
||||
0.05257009345794392 -8.086785009861932 0.05179127725856698 -8.205128205128204
|
||||
0.05607476635514019 -8.402366863905325 0.05373831775700934 -8.402366863905325
|
||||
0.05919003115264797 -8.717948717948717 0.05607476635514019 -8.63905325443787
|
||||
0.06269470404984423 -9.03353057199211 0.05802180685358255 -8.796844181459566
|
||||
0.06580996884735202 -9.23076923076923 0.05996884735202492 -8.994082840236686
|
||||
0.06892523364485981 -9.506903353057199 0.06191588785046729 -9.151873767258383
|
||||
0.07165109034267912 -9.704142011834319 0.06386292834890965 -9.349112426035504
|
||||
0.07437694704049844 -9.90138067061144 0.06658878504672897 -9.546351084812624
|
||||
0.07749221183800623 -10.13806706114398 0.06814641744548286 -9.664694280078896
|
||||
0.08099688473520249 -10.3353057199211 0.06853582554517133 -9.664694280078896
|
||||
0.0852803738317757 -10.61143984220907 0.07126168224299065 -9.90138067061144
|
||||
0.08956386292834891 -10.88757396449704 0.07359813084112149 -10.01972386587771
|
||||
0.09228971962616822 -11.16370808678501 0.07593457943925233 -10.13806706114398
|
||||
0.09501557632398754 -11.40039447731755 0.07982866043613707 -10.3353057199211
|
||||
0.09813084112149532 -11.59763313609468 0.08333333333333333 -10.45364891518738
|
||||
0.1008566978193146 -11.91321499013807 0.08722741433021806 -10.61143984220907
|
||||
0.1031931464174455 -12.14990138067061 0.0911214953271028 -10.72978303747534
|
||||
0.1059190031152648 -12.50493096646943 0.09462616822429906 -10.84812623274162
|
||||
0.1082554517133956 -12.82051282051282 0.0985202492211838 -11.00591715976331
|
||||
0.1105919003115265 -13.17554240631164 0.102803738317757 -11.08481262327416
|
||||
0.1133177570093458 -13.53057199211045 0.1066978193146417 -11.20315581854043
|
||||
0.1152647975077882 -13.88560157790927 0.1105919003115265 -11.28205128205128
|
||||
0.1172118380062305 -14.28007889546351 0.1144859813084112 -11.36094674556213
|
||||
0.1191588785046729 -14.63510848126233 0.1183800623052959 -11.43984220907298
|
||||
0.1214953271028037 -15.06903353057199 0.1218847352024922 -11.51873767258383
|
||||
0.1234423676012461 -15.38461538461539 0.1257788161993769 -11.59763313609468
|
||||
0.1253894080996885 -15.77909270216962 0.1281152647975078 -11.67652859960552
|
||||
0.1273364485981308 -16.09467455621302 0.1320093457943925 -11.75542406311637
|
||||
0.1296728971962617 -16.44970414201184 0.1366822429906542 -11.87376725838264
|
||||
0.131619937694704 -16.7258382642998 0.1401869158878505 -11.95266272189349
|
||||
0.1335669781931464 -17.0414201183432 0.1433021806853582 -12.07100591715976
|
||||
0.1359034267912773 -17.31755424063116 0.146417445482866 -12.14990138067061
|
||||
0.1382398753894081 -17.59368836291913 0.1495327102803738 -12.26824457593688
|
||||
0.1425233644859813 -17.83037475345168 0.1530373831775701 -12.42603550295858
|
||||
0.1460280373831776 -18.0276134122288 0.1561526479750779 -12.58382642998028
|
||||
0.1491433021806854 -18.10650887573965 0.1584890965732087 -12.70216962524655
|
||||
0.1522585669781931 -18.14595660749507 0.1588785046728972 -12.97830374753452
|
||||
0.1557632398753894 -18.14595660749507 0.1592679127725857 -13.21499013806706
|
||||
0.1580996884735202 -18.06706114398422 0.1596573208722741 -13.6094674556213
|
||||
0.1584890965732087 -17.75147928994083 0.1600467289719626 -13.92504930966469
|
||||
0.1592679127725857 -17.23865877712031 0.1604361370716511 -14.16173570019724
|
||||
0.1592679127725857 -17.51479289940828 0.1604361370716511 -14.43786982248521
|
||||
0.1600467289719626 -16.56804733727811 0.1604361370716511 -14.7534516765286
|
||||
0.1600467289719626 -16.92307692307692 0.161214953271028 -14.9112426035503
|
||||
0.1604361370716511 -15.93688362919132 0.1627725856697819 -15.02958579881657
|
||||
0.1608255451713396 -16.29191321499014 0.1631619937694704 -15.02958579881657
|
||||
0.1623831775700935 -15.77909270216962 0.1635514018691589 -15.18737672583826
|
||||
0.1635514018691589 -15.54240631163708 0.1647196261682243 -15.38461538461539
|
||||
0.1654984423676013 -15.50295857988166 0.1666666666666667 -15.30571992110454
|
||||
0.1678348909657321 -15.54240631163708 0.169392523364486 -15.22682445759369
|
||||
0.1701713395638629 -15.62130177514793 0.1721183800623053 -15.22682445759369
|
||||
0.1736760124610592 -15.70019723865878 0.1744548286604361 -15.18737672583826
|
||||
0.17601246105919 -15.70019723865878 0.1775700934579439 -15.14792899408284
|
||||
0.1783489096573209 -15.70019723865878 0.1799065420560748 -15.10848126232742
|
||||
0.1814641744548287 -15.77909270216962 0.183411214953271 -15.10848126232742
|
||||
0.183411214953271 -15.81854043392505 0.1873052959501558 -15.06903353057199
|
||||
0.1865264797507788 -15.93688362919132 0.1911993769470405 -14.95069033530572
|
||||
0.1904205607476636 -16.09467455621302 0.1931464174454829 -14.83234714003945
|
||||
0.1935358255451713 -16.17357001972386 0.1954828660436137 -14.7534516765286
|
||||
0.1962616822429906 -16.25246548323472 0.1974299065420561 -14.5956607495069
|
||||
0.1997663551401869 -16.29191321499014 0.1993769470404984 -14.47731755424063
|
||||
0.2017133956386293 -16.25246548323472 0.2005451713395638 -14.28007889546351
|
||||
0.2040498442367601 -16.17357001972386 0.2024922118380062 -14.08284023668639
|
||||
0.2067757009345794 -16.13412228796844 0.2024922118380062 -14.12228796844181
|
||||
0.2087227414330218 -16.05522682445759 0.2040498442367601 -13.84615384615385
|
||||
0.2114485981308411 -15.93688362919132 0.2059968847352025 -13.64891518737673
|
||||
0.2137850467289719 -15.81854043392505 0.2071651090342679 -13.41222879684418
|
||||
0.2165109034267913 -15.70019723865878 0.2091121495327103 -13.17554240631164
|
||||
0.2176791277258567 -15.5818540433925 0.2098909657320872 -12.93885601577909
|
||||
0.2200155763239875 -15.34516765285996 0.2114485981308411 -12.74161735700197
|
||||
0.2219626168224299 -15.14792899408284 0.2126168224299065 -12.50493096646943
|
||||
0.2231308411214953 -14.95069033530572 0.2137850467289719 -12.22879684418146
|
||||
0.2254672897196262 -14.67455621301775 0.2153426791277258 -11.91321499013807
|
||||
0.227803738317757 -14.35897435897436 0.2172897196261682 -11.6370808678501
|
||||
0.2297507788161994 -14.08284023668639 0.2188473520249221 -11.28205128205128
|
||||
0.2316978193146417 -13.767258382643 0.2200155763239875 -11.00591715976331
|
||||
0.2332554517133956 -13.49112426035503 0.2215732087227414 -10.69033530571992
|
||||
0.2355919003115265 -13.21499013806706 0.2231308411214953 -10.3353057199211
|
||||
0.2379283489096573 -12.93885601577909 0.2250778816199377 -9.980276134122288
|
||||
0.2402647975077881 -12.66272189349112 0.2274143302180685 -9.546351084812624
|
||||
0.242601246105919 -12.38658777120316 0.2274143302180685 -9.585798816568047
|
||||
0.2453271028037383 -12.14990138067061 0.2293613707165109 -9.191321499013807
|
||||
0.2472741433021807 -11.95266272189349 0.2313084112149533 -8.757396449704142
|
||||
0.2492211838006231 -11.7948717948718 0.2332554517133956 -8.481262327416173
|
||||
0 0 0.235202492211838 -8.205128205128204
|
||||
0 0 0.2371495327102804 -7.968441814595661
|
||||
0 0 0.2390965732087227 -7.692307692307692
|
||||
0 0 0.2410436137071651 -7.455621301775148
|
||||
0 0 0.2433800623052959 -7.297830374753451
|
||||
0 0 0.2461059190031153 -7.140039447731755
|
||||
# name: L1
|
||||
# type: scalar
|
||||
3
|
||||
# name: dataLen
|
||||
# type: matrix
|
||||
# rows: 3
|
||||
# columns: 1
|
||||
107
|
||||
113
|
||||
0
|
||||
56
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/octave/postproc.m
Executable file
56
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/octave/postproc.m
Executable file
@ -0,0 +1,56 @@
|
||||
% postproc.m: loads the data necessary and saves the graphs (compared to the reults by glowinski)
|
||||
|
||||
clear;
|
||||
clc;
|
||||
close all;
|
||||
|
||||
% read data from literature
|
||||
load coord_pos.mat
|
||||
|
||||
% read data from simulation
|
||||
par1=load('../../DEM/post/position_particle_1.txt');
|
||||
par2=load('../../DEM/post/position_particle_2.txt');
|
||||
|
||||
linienstaerke=2;
|
||||
MarkerGroesse=8;
|
||||
|
||||
|
||||
figure(1)
|
||||
offset=5-par1(1,4);
|
||||
h= plot(par1(:,1),offset+par1(:,4),'*',par2(:,1),offset+par2(:,4),'+',coord(1:dataLen(1,1),1+(1-1)*2),coord(1:dataLen(1,1),2+(1-1)*2),'o',coord(1:dataLen(2,1),1+(2-1)*2),coord(1:dataLen(2,1),2+(2-1)*2),'s');
|
||||
set(h,'LineWidth',linienstaerke,'MarkerSize',MarkerGroesse);
|
||||
set(gca,'FontSize',14)
|
||||
axis([0 .25 0 6])
|
||||
xlabel('time (s)')
|
||||
ylabel('position (cm)')
|
||||
title('Comparison of the y-position of two particles','FontSize',15)
|
||||
legend('following particle','leading particle','following particle Glow.','leading particle Glow.')
|
||||
set(gca,'FontSize',12)
|
||||
#print('pos_y_two_part_rec_glow.png')
|
||||
print('pos_y_two_part_rec_glow.eps','-deps2')
|
||||
|
||||
clear;
|
||||
|
||||
% read data from literature
|
||||
load coord_vel.mat
|
||||
|
||||
% read data from simulation
|
||||
par1vel=load('../../DEM/post/velocity_particle_1.txt');
|
||||
par2vel=load('../../DEM/post/velocity_particle_2.txt');
|
||||
|
||||
|
||||
linienstaerke=2;
|
||||
MarkerGroesse=8;
|
||||
|
||||
figure(2)
|
||||
h= plot(par1vel(:,1),par1vel(:,4),'*',par2vel(:,1),par2vel(:,4),'+',coord(1:dataLen(1,1),1+(1-1)*2),coord(1:dataLen(1,1),2+(1-1)*2),'o',coord(1:dataLen(2,1),1+(2-1)*2),coord(1:dataLen(2,1),2+(2-1)*2),'s');
|
||||
set(h,'LineWidth',linienstaerke,'MarkerSize',MarkerGroesse);
|
||||
set(gca,'FontSize',14)
|
||||
axis([0 .25 -20 0])
|
||||
xlabel('time (s)')
|
||||
ylabel('position (cm)')
|
||||
title('Comparison of the settling velocity of two particles','FontSize',15)
|
||||
legend('following particle','leading particle','following particle Glow.','leading particle Glow.')
|
||||
set(gca,'FontSize',12)
|
||||
%print('vel_y_two_part_rec_glow.png')
|
||||
print('vel_y_two_part_rec_glow.eps','-deps2')
|
||||
81
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/system/controlDict
Executable file
81
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/system/controlDict
Executable file
@ -0,0 +1,81 @@
|
||||
/*--------------------------------*- 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 interDyMFoam;
|
||||
|
||||
startFrom startTime;
|
||||
|
||||
startTime 0;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime 0.05;
|
||||
|
||||
deltaT 0.0003;
|
||||
|
||||
writeControl adjustableRunTime;//timeStep;//
|
||||
|
||||
writeInterval 0.003;//10;//0.05;//
|
||||
|
||||
purgeWrite 0;
|
||||
|
||||
writeFormat ascii;
|
||||
|
||||
writePrecision 6;
|
||||
|
||||
writeCompression uncompressed;
|
||||
|
||||
timeFormat general;
|
||||
|
||||
timePrecision 6;
|
||||
|
||||
runTimeModifiable off;//yes;
|
||||
|
||||
adjustTimeStep no;
|
||||
|
||||
maxCo 1;
|
||||
|
||||
maxDeltaT 1;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
|
||||
functions
|
||||
(
|
||||
probes
|
||||
{
|
||||
type probes;
|
||||
// Where to load it from
|
||||
functionObjectLibs ( "libsampling.so" );
|
||||
// Name of the directory for probe data
|
||||
name drag;
|
||||
probeLocations
|
||||
(
|
||||
(0.0 0.0 0.0)
|
||||
);
|
||||
|
||||
// Fields to be probed
|
||||
fields ( particleForces );
|
||||
|
||||
// Write at same frequency as fields
|
||||
outputControl timeStep;//outputTime;
|
||||
outputInterval 1;
|
||||
}
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
||||
81
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/system/controlDict.foam
Executable file
81
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/system/controlDict.foam
Executable file
@ -0,0 +1,81 @@
|
||||
/*--------------------------------*- 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 interDyMFoam;
|
||||
|
||||
startFrom startTime;
|
||||
|
||||
startTime 0;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime 0.1;
|
||||
|
||||
deltaT 0.0003;
|
||||
|
||||
writeControl adjustableRunTime;//timeStep;//
|
||||
|
||||
writeInterval 0.003;//10;//0.05;//
|
||||
|
||||
purgeWrite 0;
|
||||
|
||||
writeFormat ascii;
|
||||
|
||||
writePrecision 6;
|
||||
|
||||
writeCompression uncompressed;
|
||||
|
||||
timeFormat general;
|
||||
|
||||
timePrecision 6;
|
||||
|
||||
runTimeModifiable off;//yes;
|
||||
|
||||
adjustTimeStep no;
|
||||
|
||||
maxCo 1;
|
||||
|
||||
maxDeltaT 1;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
|
||||
functions
|
||||
(
|
||||
probes
|
||||
{
|
||||
type probes;
|
||||
// Where to load it from
|
||||
functionObjectLibs ( "libsampling.so" );
|
||||
// Name of the directory for probe data
|
||||
name drag;
|
||||
probeLocations
|
||||
(
|
||||
(0.0 0.0 0.0)
|
||||
);
|
||||
|
||||
// Fields to be probed
|
||||
fields ( particleForces );
|
||||
|
||||
// Write at same frequency as fields
|
||||
outputControl timeStep;//outputTime;
|
||||
outputInterval 1;
|
||||
}
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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 8;
|
||||
|
||||
//- 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 2);
|
||||
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"
|
||||
//);
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
75
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/system/fvSchemes
Executable file
75
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/system/fvSchemes
Executable file
@ -0,0 +1,75 @@
|
||||
/*--------------------------------*- 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((nuEff*dev(grad(U).T()))) Gauss linear;
|
||||
div(U) Gauss linear;
|
||||
}
|
||||
|
||||
laplacianSchemes
|
||||
{
|
||||
default 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;
|
||||
laplacian(phiIB) Gauss linear corrected;
|
||||
laplacian(U) Gauss linear corrected;
|
||||
}
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
default linear;
|
||||
interpolate(U) linear;
|
||||
}
|
||||
|
||||
snGradSchemes
|
||||
{
|
||||
default corrected;
|
||||
}
|
||||
|
||||
fluxRequired
|
||||
{
|
||||
default no;
|
||||
p ;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
94
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/system/fvSolution
Executable file
94
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/system/fvSolution
Executable file
@ -0,0 +1,94 @@
|
||||
/*--------------------------------*- 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;
|
||||
}
|
||||
|
||||
pFinal
|
||||
{
|
||||
solver PCG;
|
||||
preconditioner DIC;
|
||||
tolerance 1e-06;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
U
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
k
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
epsilon
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
R
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
nuTilda
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
phiIB
|
||||
{
|
||||
solver PCG;
|
||||
preconditioner DIC;
|
||||
tolerance 1e-06;
|
||||
relTol 0;
|
||||
}
|
||||
}
|
||||
|
||||
PISO
|
||||
{
|
||||
nCorrectors 4;
|
||||
nNonOrthogonalCorrectors 0;
|
||||
pRefCell 0;
|
||||
pRefValue 100000;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
122
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/DEM/in.liggghts_init
Executable file
122
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/DEM/in.liggghts_init
Executable file
@ -0,0 +1,122 @@
|
||||
#echo both
|
||||
|
||||
atom_style granular
|
||||
atom_modify map array
|
||||
communicate single vel yes
|
||||
|
||||
#--modified C.K.
|
||||
#dimension 2
|
||||
|
||||
#--modified C.K.
|
||||
#boundary f f p
|
||||
boundary f f f
|
||||
newton off
|
||||
|
||||
units si
|
||||
processors 2 2 2
|
||||
|
||||
region reg block 0 1 0 1 0 4 units box
|
||||
create_box 1 reg
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 binsize 0.01
|
||||
|
||||
|
||||
#Material properties required for new pair styles
|
||||
|
||||
fix m1 all property/global youngsModulus peratomtype 5.e7
|
||||
fix m2 all property/global poissonsRatio peratomtype 0.45
|
||||
fix m3 all property/global coefficientRestitution peratomtypepair 1 0.9
|
||||
fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
|
||||
|
||||
#pair style
|
||||
pair_style gran/hertz/history 1 0 #Hertzian without cohesion
|
||||
pair_coeff * *
|
||||
|
||||
#timestep, gravity
|
||||
timestep 0.00003
|
||||
|
||||
#fix gravi all gravity 9.81 vector 0.0 -1.0 0.0
|
||||
fix gravi all gravity 981 vector 0.0 0.0 -1.0
|
||||
|
||||
#walls
|
||||
fix xwalls all wall/gran/hertz/history 1 0 xplane 0 1 1
|
||||
#fix ywalls all wall/gran/hertz/history 1 0 yplane -1 1f 1
|
||||
fix ywalls all wall/gran/hertz/history 1 0 yplane 0 1 1
|
||||
fix zwalls all wall/gran/hertz/history 1 0 zplane 0 4 1
|
||||
#--modified C.K. deleted z-wall
|
||||
|
||||
#-import mesh from cad:
|
||||
#fix cad1 all mesh/gran hopperGenauerSALOME.stl 1 1.0 0. 0. 0. 0. 180. 0.
|
||||
|
||||
#-use the imported mesh as granular wall
|
||||
#fix bucket_wall all wall/gran/hertz/history 1 0 mesh/gran 1 cad1
|
||||
|
||||
|
||||
#cfd coupling
|
||||
fix cfd all couple/cfd couple_every 10 mpi
|
||||
fix cfd2 all couple/cfd/force
|
||||
|
||||
|
||||
#- create single partciles
|
||||
#create_atoms 1 single 0.05 0.3 0.025 units box
|
||||
#create_atoms 1 single 1 0.001 0.0 units box
|
||||
create_atoms 1 single .5 .5 3.5 units box
|
||||
create_atoms 1 single .5 .5 3.16 units box
|
||||
#create_atoms 1 single .5 .5 3.26 units box
|
||||
#create_atoms 1 single 1.5 -0.001 0.0 units box
|
||||
#set atom 1 diameter 0.015 density 100 vx 0 vy -.5 vz 0
|
||||
set atom 1 diameter 0.167 density 1.5 vx 0 vy 0 vz 0
|
||||
#set atom 2 diameter 0.167 density 1.14 vx 0 vy 0 vz 0
|
||||
set atom 2 diameter 0.167 density 1.5 vx 0 vy 0 vz 0
|
||||
|
||||
#create_atoms 1 single 0.048 0.018 0.05 units box
|
||||
#set atom 1 diameter 0.001 density 3000 vx 0.1 vy 0 vz 0
|
||||
#create_atoms 1 single 0.052 0.018 0.05 units box
|
||||
#set atom 2 diameter 0.001 density 3000 vx -0.1 vy 0 vz 0
|
||||
|
||||
variable vx1 equal vx[1]
|
||||
variable vy1 equal vy[1]
|
||||
variable vz1 equal vz[1]
|
||||
variable vx2 equal vx[2]
|
||||
variable vy2 equal vy[2]
|
||||
variable vz2 equal vz[2]
|
||||
variable x1 equal x[1]
|
||||
variable y1 equal y[1]
|
||||
variable z1 equal z[1]
|
||||
variable x2 equal x[2]
|
||||
variable y2 equal y[2]
|
||||
variable z2 equal z[2]
|
||||
variable time equal step*dt
|
||||
fix extra1 all print 100 "${time} ${vx1} ${vy1} ${vz1}" file ../DEM/post/velocity_particle_1.txt title "%" screen no
|
||||
fix extra2 all print 100 "${time} ${vx2} ${vy2} ${vz2}" file ../DEM/post/velocity_particle_2.txt title "%" screen no
|
||||
fix extra3 all print 100 "${time} ${x1} ${y1} ${z1}" file ../DEM/post/position_particle_1.txt title "%" screen no
|
||||
fix extra4 all print 100 "${time} ${x2} ${y2} ${z2}" file ../DEM/post/position_particle_2.txt title "%" screen no
|
||||
|
||||
|
||||
#apply nve integration to all particles that are inserted as single particles
|
||||
fix integr all nve/sphere #wenn das ausgeblendet, dann kein vel update
|
||||
#fix 1 all nve/noforce
|
||||
|
||||
#--modified C.K.
|
||||
#fix 2D all enforce2d
|
||||
|
||||
#screen output
|
||||
compute 1 all erotate/sphere
|
||||
thermo_style custom step atoms ke c_1 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
|
||||
#dump myDump all stl 1 ../DEM/post/dump.stl
|
||||
#run 1
|
||||
dump dmp all custom 100 ../DEM/post/dump.liggghts_init id type type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius
|
||||
#undump myDump
|
||||
|
||||
#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 1 upto #80000 upto
|
||||
#write_restart liggghts.restart
|
||||
@ -0,0 +1 @@
|
||||
dummyfile
|
||||
@ -0,0 +1,82 @@
|
||||
#!/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/etc/functions.sh
|
||||
|
||||
#--------------------------------------------------------------------------------#
|
||||
#- define variables
|
||||
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
|
||||
logpath=$casePath
|
||||
headerText="run_parallel_cfdemSolverPiso_ErgunTestMPI_CFDDEM"
|
||||
logfileName="log_$headerText"
|
||||
solverName="cfdemSolverIB"
|
||||
nrProcs="8"
|
||||
machineFileName="none" # yourMachinefileName | none
|
||||
debugMode="off" # on | off
|
||||
testHarnessPath="$CFDEM_TEST_HARNESS_PATH"
|
||||
runOctave="true"
|
||||
postproc="false"
|
||||
#--------------------------------------------------------------------------------#
|
||||
|
||||
#- call function to run a parallel CFD-DEM case
|
||||
parCFDDEMrun $logpath $logfileName $casePath $headerText $solverName $nrProcs $machineFileName $debugMode
|
||||
|
||||
if [ $runOctave == "true" ]
|
||||
then
|
||||
|
||||
cd $casePath/CFD/octave
|
||||
octave postproc.m
|
||||
evince pos_y_two_part_rec_glow.eps
|
||||
evince vel_y_two_part_rec_glow.eps
|
||||
#display pos_y_two_part_rec_glow.png &
|
||||
#display vel_y_two_part_rec_glow.png &
|
||||
fi
|
||||
|
||||
if [ $postproc == "true" ]
|
||||
then
|
||||
#- get VTK data from liggghts dump file
|
||||
cd $casePath/DEM/post
|
||||
python -i $CFDEM_LPP_DIR/lpp.py dump.liggghts_init
|
||||
|
||||
#- get VTK data from CFD sim
|
||||
cd $casePath/CFD
|
||||
foamToVTK
|
||||
|
||||
#- start paraview
|
||||
paraview
|
||||
|
||||
#- keep terminal open (if started in new terminal)
|
||||
echo "...press enter to clean up case"
|
||||
echo "press Ctr+C to keep data"
|
||||
read
|
||||
fi
|
||||
|
||||
#- copy log file to test harness
|
||||
cp ../../$logfileName $testHarnessPath
|
||||
|
||||
#- clean up case
|
||||
echo "deleting data at: $casePath"
|
||||
rm -r $casePath/CFD/0.*
|
||||
rm -r $casePath/CFD/VTK
|
||||
rm -r $casePath/CFD/couplingFiles/*
|
||||
rm -r $casePath/CFD/processor*
|
||||
rm -r $casePath/CFD/particles*
|
||||
rm -r $casePath/CFD/probes
|
||||
rm -r $casePath/DEM/post/*
|
||||
rm -r $casePath/DEM/log.*
|
||||
rm -r $casePath/log_*
|
||||
echo "done"
|
||||
|
||||
#- preserve post directory
|
||||
echo "dummyfile" >> $casePath/DEM/post/dummy
|
||||
|
||||
|
||||
22
tutorials/cfdemSolverPiso/ErgunTestMPI/Allrun.sh
Executable file
22
tutorials/cfdemSolverPiso/ErgunTestMPI/Allrun.sh
Executable file
@ -0,0 +1,22 @@
|
||||
#!/bin/bash
|
||||
|
||||
#===================================================================#
|
||||
# allrun script for testcase as part of test routine
|
||||
# run settlingTest
|
||||
# Christoph Goniva - Sept. 2010
|
||||
#===================================================================#
|
||||
|
||||
#- define variables
|
||||
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
|
||||
|
||||
# check if mesh was built
|
||||
if [ -d "$casePath/CFD/constant/polyMesh/boundary" ]; then
|
||||
echo "mesh was built before - using old mesh"
|
||||
else
|
||||
echo "mesh needs to be built"
|
||||
cd $casePath/CFD
|
||||
blockMesh
|
||||
fi
|
||||
|
||||
#- run parallel CFD-DEM in new terminal
|
||||
gnome-terminal --title='cfdemSolverPiso ErgunTestMPI CFD' -e "bash $casePath/parCFDDEMrun.sh"
|
||||
41
tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/0/Ksl
Normal file
41
tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/0/Ksl
Normal file
@ -0,0 +1,41 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object Ksl;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [1 -3 -1 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
wall
|
||||
{
|
||||
type zeroGradient;
|
||||
//type fixedValue;
|
||||
//value uniform 0;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
89
tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/0/U
Normal file
89
tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/0/U
Normal file
@ -0,0 +1,89 @@
|
||||
/*--------------------------------*- 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 U;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 1 -1 0 0 0 0];
|
||||
|
||||
internalField uniform (0 0 0);
|
||||
|
||||
boundaryField
|
||||
{
|
||||
|
||||
wall
|
||||
{
|
||||
//type fixedValue;
|
||||
//value uniform (0 0 0);
|
||||
type slip;
|
||||
}
|
||||
|
||||
inlet
|
||||
{
|
||||
/*type flowRateInletVelocity;
|
||||
flowRate 0.001;
|
||||
value uniform (0 0 0);*/
|
||||
|
||||
/*type fixedValue;
|
||||
value uniform (0 0 0.0001);*/
|
||||
|
||||
//type zeroGradient;
|
||||
|
||||
/* type groovyBC;
|
||||
variables "Uend=vector(0,0,0.02);tEnd=0.1;";
|
||||
valueExpression "((time() < tEnd) ? Uend/tEnd*time():Uend)";
|
||||
value uniform (0 0 0);*/
|
||||
|
||||
/*// 2.0.x, 1.6,ext
|
||||
type timeVaryingUniformFixedValue;
|
||||
fileName "steps_0p1s";
|
||||
outOfBounds clamp;
|
||||
value uniform (0 0 0);*/
|
||||
|
||||
// 2.1.x
|
||||
type uniformFixedValue;
|
||||
uniformValue table
|
||||
(
|
||||
(0.000 (0 0 0.002))
|
||||
(0.010 (0 0 0.002))
|
||||
(0.011 (0 0 0.004))
|
||||
(0.020 (0 0 0.004))
|
||||
(0.021 (0 0 0.006))
|
||||
(0.030 (0 0 0.006))
|
||||
(0.031 (0 0 0.008))
|
||||
(0.040 (0 0 0.008))
|
||||
(0.041 (0 0 0.010))
|
||||
(0.050 (0 0 0.010))
|
||||
(0.051 (0 0 0.012))
|
||||
(0.060 (0 0 0.012))
|
||||
(0.061 (0 0 0.014))
|
||||
(0.070 (0 0 0.014))
|
||||
(0.071 (0 0 0.016))
|
||||
(0.080 (0 0 0.016))
|
||||
(0.081 (0 0 0.018))
|
||||
(0.090 (0 0 0.018))
|
||||
(0.091 (0 0 0.020))
|
||||
(0.100 (0 0 0.020))
|
||||
);
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
/*type fluxCorrectedVelocity; //inletOutlet;
|
||||
value uniform (0 0 0);
|
||||
inletValue uniform (0 0 0);*/
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
45
tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/0/Us
Normal file
45
tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/0/Us
Normal file
@ -0,0 +1,45 @@
|
||||
/*--------------------------------*- 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
|
||||
{
|
||||
wall
|
||||
{
|
||||
type zeroGradient;
|
||||
//type fixedValue;
|
||||
//value uniform (1 0 0);
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type zeroGradient;
|
||||
//type fixedValue;
|
||||
//value uniform (1 0 0);;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
//type fixedValue;
|
||||
//value uniform (1 0 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
48
tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/0/epsilon
Normal file
48
tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/0/epsilon
Normal file
@ -0,0 +1,48 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object epsilon;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 2 -3 0 0 0 0];
|
||||
|
||||
internalField uniform 0.003;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
wall
|
||||
{
|
||||
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;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
/*type turbulentMixingLengthDissipationRateInlet;
|
||||
mixingLength 0.005;
|
||||
value uniform 0.003;*/
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
45
tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/0/k
Normal file
45
tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/0/k
Normal file
@ -0,0 +1,45 @@
|
||||
/*--------------------------------*- 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
|
||||
{
|
||||
wall
|
||||
{
|
||||
type kqRWallFunction;
|
||||
value uniform 0.001;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type inletOutlet;
|
||||
inletValue uniform 0.001;
|
||||
value uniform 0.001;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
/*type turbulentIntensityKineticEnergyInlet;
|
||||
intensity 0.05;
|
||||
value uniform 0.001;*/
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
45
tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/0/nut
Normal file
45
tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/0/nut
Normal file
@ -0,0 +1,45 @@
|
||||
/*--------------------------------*- 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
|
||||
{
|
||||
wall
|
||||
{
|
||||
type nutWallFunction;
|
||||
Cmu 0.09;
|
||||
kappa 0.41;
|
||||
E 9.8;
|
||||
value uniform 0;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type calculated;
|
||||
value uniform 0;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type calculated;
|
||||
value uniform 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
43
tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/0/p
Normal file
43
tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/0/p
Normal file
@ -0,0 +1,43 @@
|
||||
/*--------------------------------*- 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 p;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 2 -2 0 0 0 0];
|
||||
|
||||
internalField uniform 1.0e5;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
|
||||
wall
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
inlet
|
||||
{
|
||||
type zeroGradient;
|
||||
//type fixedValue;
|
||||
//value uniform 100000;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
//type zeroGradient;
|
||||
type fixedValue;
|
||||
value uniform 100000;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
39
tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/0/rho
Normal file
39
tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/0/rho
Normal file
@ -0,0 +1,39 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: http://www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
object rho;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [1 -3 0 0 0 0 0];
|
||||
|
||||
internalField uniform 10;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
|
||||
wall
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
inlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
41
tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/0/voidfraction
Normal file
41
tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/0/voidfraction
Normal file
@ -0,0 +1,41 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object voidfraction;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 1;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
wall
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 1;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,25 @@
|
||||
/*--------------------------------*- 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 RASProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
RASModel laminar;
|
||||
|
||||
turbulence off;
|
||||
|
||||
printCoeffs on;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,175 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.4 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class dictionary;
|
||||
object couplingProperties;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
//===========================================================================//
|
||||
// sub-models & settings
|
||||
|
||||
modelType "A"; // A or B
|
||||
|
||||
couplingInterval 100;
|
||||
|
||||
voidFractionModel divided;
|
||||
|
||||
locateModel engine;
|
||||
|
||||
meshMotionModel noMeshMotion;
|
||||
|
||||
regionModel allRegion;
|
||||
|
||||
IOModel "off";
|
||||
|
||||
dataExchangeModel twoWayMPI;//twoWayFiles;//oneWayVTK;//
|
||||
|
||||
averagingModel dense;//dilute;//
|
||||
|
||||
clockModel standardClock;//off;
|
||||
|
||||
forceModels
|
||||
(
|
||||
//GidaspowDrag
|
||||
DiFeliceDrag
|
||||
//KochHillDrag
|
||||
gradPForce
|
||||
viscForce
|
||||
//Archimedes
|
||||
//volWeightedAverage
|
||||
//totalMomentumExchange
|
||||
);
|
||||
|
||||
momCoupleModels
|
||||
(
|
||||
implicitCouple
|
||||
);
|
||||
|
||||
turbulenceModelType "RASProperties";//"LESProperties";//
|
||||
|
||||
//===========================================================================//
|
||||
// sub-model properties
|
||||
|
||||
implicitCoupleProps
|
||||
{
|
||||
velFieldName "U";
|
||||
granVelFieldName "Us";
|
||||
voidfractionFieldName "voidfraction";
|
||||
}
|
||||
|
||||
ArchimedesProps
|
||||
{
|
||||
densityFieldName "rho";
|
||||
gravityFieldName "g";
|
||||
}
|
||||
gradPForceProps
|
||||
{
|
||||
pFieldName "p";
|
||||
densityFieldName "rho";
|
||||
voidfractionFieldName "voidfraction";
|
||||
velocityFieldName "U";
|
||||
//interpolation;
|
||||
}
|
||||
|
||||
viscForceProps
|
||||
{
|
||||
velocityFieldName "U";
|
||||
densityFieldName "rho";
|
||||
interpolation;
|
||||
}
|
||||
volWeightedAverageProps
|
||||
{
|
||||
scalarFieldNames
|
||||
(
|
||||
voidfraction
|
||||
);
|
||||
vectorFieldNames
|
||||
(
|
||||
);
|
||||
upperThreshold 0.999;
|
||||
lowerThreshold 0;
|
||||
verbose;
|
||||
}
|
||||
totalMomentumExchangeProps
|
||||
{
|
||||
implicitMomExFieldName "Ksl";
|
||||
explicitMomExFieldName "none";
|
||||
fluidVelFieldName "U";
|
||||
granVelFieldName "Us";
|
||||
densityFieldName "rho";
|
||||
}
|
||||
GidaspowDragProps
|
||||
{
|
||||
velFieldName "U";
|
||||
densityFieldName "rho";
|
||||
}
|
||||
DiFeliceDragProps
|
||||
{
|
||||
velFieldName "U";
|
||||
densityFieldName "rho";
|
||||
voidfractionFieldName "voidfraction";
|
||||
}
|
||||
|
||||
KochHillDragProps
|
||||
{
|
||||
velFieldName "U";
|
||||
densityFieldName "rho";
|
||||
}
|
||||
|
||||
virtualMassForceProps
|
||||
{
|
||||
velFieldName "U";
|
||||
densityFieldName "rho";
|
||||
}
|
||||
|
||||
oneWayVTKProps
|
||||
{
|
||||
couplingFilename "vtk_out%4.4d.vtk";
|
||||
maxNumberOfParticles 30000;
|
||||
}
|
||||
|
||||
twoWayFilesProps
|
||||
{
|
||||
maxNumberOfParticles 10100;
|
||||
}
|
||||
|
||||
centreProps
|
||||
{
|
||||
alphaMin 0.10;
|
||||
}
|
||||
|
||||
engineProps
|
||||
{
|
||||
treeSearch true;
|
||||
}
|
||||
|
||||
dividedProps
|
||||
{
|
||||
alphaMin 0.1;
|
||||
scaleUpVol 1.0;
|
||||
}
|
||||
|
||||
twoWayMPIProps
|
||||
{
|
||||
maxNumberOfParticles 10100;
|
||||
liggghtsPath "../DEM/in.liggghts_resume";
|
||||
}
|
||||
// ************************************************************************* //
|
||||
22
tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/constant/g
Normal file
22
tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/constant/g
Normal file
@ -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 );
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,30 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / 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
|
||||
);
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,154 @@
|
||||
/*--------------------------------*- 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 1;
|
||||
|
||||
//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.0069 0.0069 0.0 ) // Vertex fiveoclocksqb = 0
|
||||
(-0.0069 0.0069 0.0 ) // Vertex sevenoclocksqb = 1
|
||||
(-0.0069 -0.0069 0.0 ) // Vertex elevenoclocksqb = 2
|
||||
( 0.0069 -0.0069 0.0 ) // Vertex oneoclocksqb = 3
|
||||
|
||||
( 0.00975807358913172 0.00975807357161699 0.0 ) // Vertex fiveoclockcb = 4
|
||||
(-0.00975807358913172 0.00975807357161699 0.0) // Vertex sevenoclockcb = 5
|
||||
(-0.00975807358913172 -0.00975807357161699 0.0) // Vertex elevenoclockcb = 6
|
||||
( 0.00975807358913172 -0.00975807357161699 0.0) // Vertex oneoclockcb = 7
|
||||
|
||||
( 0.0069 0.0069 0.0553) // Vertex fiveoclocksqt = 8
|
||||
(-0.0069 0.0069 0.0553) // Vertex sevenoclocksqt = 9
|
||||
(-0.0069 -0.0069 0.0553) // Vertex elevenoclocksqt = 10
|
||||
( 0.0069 -0.0069 0.0553) // Vertex oneoclocksqt = 11
|
||||
|
||||
( 0.00975807358913172 0.00975807357161699 0.0553) // Vertex fiveoclockct = 12
|
||||
(-0.00975807358913172 0.00975807357161699 0.0553) // Vertex sevenoclockct = 13
|
||||
(-0.00975807358913172 -0.00975807357161699 0.0553) // Vertex elevenoclockct = 14
|
||||
( 0.00975807358913172 -0.00975807357161699 0.0553) // Vertex oneoclockct = 15
|
||||
);
|
||||
|
||||
blocks
|
||||
(
|
||||
//square block
|
||||
hex (
|
||||
2 3 0 1
|
||||
10 11 8 9
|
||||
)
|
||||
(8 8 24)
|
||||
simpleGrading (1 1 1)
|
||||
|
||||
//slice1
|
||||
hex (
|
||||
1 0 4 5
|
||||
9 8 12 13
|
||||
)
|
||||
(8 4 24)
|
||||
simpleGrading (1 1 1)
|
||||
|
||||
//slice2
|
||||
hex (
|
||||
6 2 1 5
|
||||
14 10 9 13
|
||||
)
|
||||
( 4 8 24)
|
||||
simpleGrading (1 1 1)
|
||||
|
||||
//slice3
|
||||
hex (
|
||||
6 7 3 2
|
||||
14 15 11 10
|
||||
)
|
||||
(8 4 24)
|
||||
simpleGrading (1 1 1)
|
||||
|
||||
//slice4
|
||||
hex (
|
||||
3 7 4 0
|
||||
11 15 12 8
|
||||
)
|
||||
(4 8 24)
|
||||
simpleGrading (1 1 1)
|
||||
|
||||
);
|
||||
|
||||
|
||||
//create the quarter circles
|
||||
edges
|
||||
(
|
||||
arc 4 5 (0.0 0.0138 0.0 )
|
||||
arc 5 6 (-0.0138 0.0 0.0)
|
||||
arc 6 7 (0.0 -0.0138 0.0 )
|
||||
arc 7 4 (0.0138 0.0 0.0)
|
||||
|
||||
arc 12 13 (0.0 0.0138 0.0553 )
|
||||
arc 13 14 (-0.0138 0.0 0.0553 )
|
||||
arc 14 15 (0.0 -0.0138 0.0553 )
|
||||
arc 15 12 (0.0138 0.0 0.0553 )
|
||||
|
||||
);
|
||||
|
||||
patches
|
||||
(
|
||||
patch inlet
|
||||
(
|
||||
(0 3 2 1)
|
||||
(0 4 7 3)
|
||||
(4 0 1 5)
|
||||
(1 2 6 5)
|
||||
(3 7 6 2)
|
||||
)
|
||||
|
||||
patch outlet
|
||||
(
|
||||
(8 11 10 9)
|
||||
(8 12 15 11)
|
||||
(12 8 9 13)
|
||||
(9 10 14 13)
|
||||
(11 15 14 10)
|
||||
)
|
||||
|
||||
wall wall
|
||||
(
|
||||
(5 4 12 13)
|
||||
(5 13 14 6)
|
||||
(6 14 15 7)
|
||||
(7 15 12 4)
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
mergePatchPairs
|
||||
(
|
||||
);
|
||||
@ -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;
|
||||
}
|
||||
// ************************************************************************* //
|
||||
@ -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 RASModel;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
69
tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/octave/loaddata.m
Normal file
69
tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/octave/loaddata.m
Normal file
@ -0,0 +1,69 @@
|
||||
function [data,colname]=loaddata(filename,columns,headerlines)
|
||||
|
||||
% data = loaddata(filename,columns,headerlines)
|
||||
% data = loaddata(filename,0,headerlines): automatc detection of
|
||||
% columns by word count in first headerline or first data line
|
||||
% (if headerline==0), separated by blanks or tabs
|
||||
% columns=-1: write colum assignment code lines
|
||||
% works only if headerline>0 and colnames separated by
|
||||
% not more than 1 blank!
|
||||
% columns=-2: columns separated by 2 blanks (fluent/scheme auswertung-instat.scm)
|
||||
% [data, colname] = loaddata(filename,0,headerlines)
|
||||
% colname = cell string array of column names from headerline
|
||||
|
||||
fprintf(1,'loading %s ... ', filename);
|
||||
f=fopen(filename,'r');
|
||||
if f==-1
|
||||
fprintf(1,'\n*** error: could not open "%s" ...\n', filename);
|
||||
data=[];
|
||||
else
|
||||
for i=1:headerlines
|
||||
if i==1 s=fgets(f); else fgets(f); end
|
||||
end
|
||||
if headerlines==0
|
||||
s=fgets(f); frewind(f);
|
||||
end
|
||||
if columns<=0 % & headerlines>=1
|
||||
fprintf(1,'\n');
|
||||
fprintf(1,' %s',s);
|
||||
pos = findstr(sprintf('\t'),s); % trennzeichenpositionen in zeile suchen
|
||||
if length(pos)>0
|
||||
endpos=length(s);
|
||||
%if isspace(s(endpos-1)) endpos=endpos-1; end
|
||||
pos = [0 pos(1,:) endpos]; % anfangs- und endposition hinzuf<EFBFBD>gen
|
||||
elseif columns==-2 % spalteneintr<EFBFBD>ge durch 2 blanks getrennt (fluent/scheme)
|
||||
pos=[0];
|
||||
for i=1:length(s)-1
|
||||
if isspace(s(i)) & isspace(s(i+1))
|
||||
pos(end+1)=i+1;
|
||||
end
|
||||
end
|
||||
pos(end+1)=length(s);
|
||||
else % spalteneintr<EFBFBD>ge durch blanks getrennt
|
||||
%pos = findstr(' ',s); % trennzeichenpositionen in zeile suchen
|
||||
pos=[];
|
||||
word=0;
|
||||
for i=1:length(s)
|
||||
if isspace(s(i))
|
||||
word=0;
|
||||
elseif ~word
|
||||
word=1;
|
||||
pos(end+1)=i-1;
|
||||
end
|
||||
end
|
||||
pos(end+1)=length(s);
|
||||
end
|
||||
if headerlines>=1
|
||||
for i=1:length(pos)-1 % alle spalten
|
||||
colname{i}=s(pos(i)+1:pos(i+1)-1);
|
||||
if columns==-1 fprintf(' = data(strmatch(''%s'',colname),:); %% column %d\n', colname{i},i); end
|
||||
if columns==-2 fprintf('%% column %d: %s\n', i, colname{i}); end
|
||||
end
|
||||
end
|
||||
columns = length(pos)-1;
|
||||
fprintf(1,' total: %d columns ',columns);
|
||||
end
|
||||
data=fscanf(f,'%f',[columns,inf]);
|
||||
fclose(f);
|
||||
fprintf(1,'done.\n');
|
||||
end
|
||||
@ -0,0 +1,96 @@
|
||||
close all;
|
||||
clear;
|
||||
clc;
|
||||
|
||||
%====================================%
|
||||
% simulation data 1
|
||||
%====================================%
|
||||
%path = '../probes/0/p';
|
||||
path = '../probes/0/p';
|
||||
columns=22;
|
||||
headerlines=4;
|
||||
data = loaddata(path,columns,headerlines);
|
||||
data=transpose(data);
|
||||
[x,y]=size(data)
|
||||
dp_sim = (data(:,2)-data(:,y))/10000;
|
||||
t_sim = data(:,1);
|
||||
%fprintf('final pressureDrop of sim = %f Pa\n',dp_sim(length(dp_sim)) )
|
||||
|
||||
%====================================%
|
||||
% analytical calculation
|
||||
%====================================%
|
||||
|
||||
%===================
|
||||
% Ergun Equation
|
||||
%===================
|
||||
fprintf('\ncalc Ergun eqn:\n')
|
||||
dp = 0.001 % particle diameter
|
||||
phip = 1 % sphericity
|
||||
epsilon = 0.451335 % void fraction
|
||||
Ustart = 0.002
|
||||
Uend = 0.02
|
||||
timeStepSize = 0.001; % time interval of pressure data
|
||||
Tstart = 0;
|
||||
Tend = t_sim(length(t_sim));
|
||||
deltaU=(Uend-Ustart)/((Tend-Tstart)/timeStepSize);
|
||||
U = Ustart+deltaU:deltaU:Uend; % velocity over time
|
||||
Ua = U / epsilon; % physical velocity
|
||||
L = 0.0156 % length of bed
|
||||
rhoG = 10 % density in kg/m3
|
||||
nuG = 1.5*10^-4 % kinemat Visk in m2/s
|
||||
muG = nuG*rhoG % dynam visc in Pa s
|
||||
|
||||
dpErgun= L * (
|
||||
150*((1-epsilon)^2/epsilon^3)*((muG.*U)/(phip*dp)^2)
|
||||
+1.75*((1-epsilon)/epsilon^3)*((rhoG.*U.^2)/(phip*dp))
|
||||
)/10000/rhoG;
|
||||
|
||||
fprintf('NOTE: this pressure is divided by density (according to CFD solver)\n')
|
||||
fprintf('so the result does not depend on density\n')
|
||||
|
||||
%fprintf('final pressure drop (Ergun eqn)= %f Pa\n',dpErgun)
|
||||
|
||||
%==================================
|
||||
% min fluidization velocity in m/s
|
||||
%==================================
|
||||
rhoP = 2000 % particle density in kg/m3
|
||||
g = 9.81 % gravity m/s2
|
||||
Umf = dp^2*(rhoP-rhoG)*g/(150*muG)*(epsilon^3*phip^2)/(1-epsilon)
|
||||
ReMF = Umf*dp*rhoG/muG % must be <20 !!!
|
||||
%Umf = sqrt(phip*dp^2/1.75*(rhoP-rhoG)/rhoG*g*epsilon^3) % Re>1000
|
||||
|
||||
dpUmf= L * (
|
||||
150*((1-epsilon)^2/epsilon^3)*((muG.*Umf)/(phip*dp)^2)
|
||||
+1.75*((1-epsilon)/epsilon^3)*((rhoG.*Umf.^2)/(phip*dp))
|
||||
)/10000/rhoG;
|
||||
|
||||
%====================================%
|
||||
% plot data
|
||||
%====================================%
|
||||
length(U)
|
||||
length(dp_sim)
|
||||
figure(2)
|
||||
plot(U,dp_sim)
|
||||
title("Ergun pressure drop vs. simulation")
|
||||
a=strcat("analytical (Ergun), Umf=",num2str(Umf),", dpUmf=",num2str(dpUmf));
|
||||
legend(a,"simulation")
|
||||
xlabel("velocity in [m/s]")
|
||||
ylabel("pressure drop [bar]")
|
||||
axis([0,Uend,0,dpErgun(length(dpErgun))])
|
||||
|
||||
figure(1)
|
||||
plot(U,dpErgun,U,dp_sim,[Umf,Uend],dpUmf*ones(1,2))
|
||||
title("Ergun pressure drop vs. simulation")
|
||||
a=strcat("analytical (Ergun), Umf=",num2str(Umf),", dpUmf=",num2str(dpUmf));
|
||||
legend(a,"simulation")
|
||||
xlabel("velocity in [m/s]")
|
||||
ylabel("pressure drop [bar]")
|
||||
axis([0,Uend,0,dpErgun(length(dpErgun))])
|
||||
|
||||
%print('cfdemSolverPiso_settlingTest.eps','-deps2')
|
||||
print -color "cfdemSolverPiso_ErgunTestMPI.eps"
|
||||
replot;
|
||||
|
||||
|
||||
|
||||
|
||||
22
tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/steps_0p1s
Normal file
22
tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/steps_0p1s
Normal file
@ -0,0 +1,22 @@
|
||||
(
|
||||
(0.000 (0 0 0.002))
|
||||
(0.010 (0 0 0.002))
|
||||
(0.011 (0 0 0.004))
|
||||
(0.020 (0 0 0.004))
|
||||
(0.021 (0 0 0.006))
|
||||
(0.030 (0 0 0.006))
|
||||
(0.031 (0 0 0.008))
|
||||
(0.040 (0 0 0.008))
|
||||
(0.041 (0 0 0.010))
|
||||
(0.050 (0 0 0.010))
|
||||
(0.051 (0 0 0.012))
|
||||
(0.060 (0 0 0.012))
|
||||
(0.061 (0 0 0.014))
|
||||
(0.070 (0 0 0.014))
|
||||
(0.071 (0 0 0.016))
|
||||
(0.080 (0 0 0.016))
|
||||
(0.081 (0 0 0.018))
|
||||
(0.090 (0 0 0.018))
|
||||
(0.091 (0 0 0.020))
|
||||
(0.100 (0 0 0.020))
|
||||
)
|
||||
117
tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/system/controlDict
Normal file
117
tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/system/controlDict
Normal file
@ -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 ( "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;
|
||||
}*/
|
||||
);
|
||||
// ************************************************************************* //
|
||||
@ -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;
|
||||
}*/
|
||||
);
|
||||
// ************************************************************************* //
|
||||
@ -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 8;
|
||||
|
||||
//- 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 2);
|
||||
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"
|
||||
//);
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
33
tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/system/funkySetFieldsDict
Executable file
33
tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/system/funkySetFieldsDict
Executable file
@ -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
|
||||
}
|
||||
|
||||
);
|
||||
76
tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/system/fvSchemes
Normal file
76
tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/system/fvSchemes
Normal file
@ -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 ;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
86
tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/system/fvSolution
Normal file
86
tutorials/cfdemSolverPiso/ErgunTestMPI/CFD/system/fvSolution
Normal file
@ -0,0 +1,86 @@
|
||||
/*--------------------------------*- 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
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
k
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
epsilon
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
R
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
nuTilda
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
}
|
||||
}
|
||||
|
||||
PISO
|
||||
{
|
||||
nCorrectors 4;
|
||||
nNonOrthogonalCorrectors 1;
|
||||
pRefCell 0;
|
||||
pRefValue 0;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
65
tutorials/cfdemSolverPiso/ErgunTestMPI/DEM/in.liggghts_init
Executable file
65
tutorials/cfdemSolverPiso/ErgunTestMPI/DEM/in.liggghts_init
Executable file
@ -0,0 +1,65 @@
|
||||
# Pour granular particles into chute container, then induce flow
|
||||
|
||||
atom_style granular
|
||||
atom_modify map array
|
||||
communicate single vel yes
|
||||
|
||||
boundary m m m
|
||||
newton off
|
||||
|
||||
units si
|
||||
|
||||
region reg block -0.015 0.015 -0.015 0.015 -0.001 0.0554 units box
|
||||
create_box 1 reg
|
||||
|
||||
neighbor 0.001 bin
|
||||
neigh_modify delay 0
|
||||
|
||||
|
||||
#Material properties required for new 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/hertz/history 1 0 #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 zwalls all wall/gran/hertz/history 1 0 zplane 0.0 0.0553 1
|
||||
fix cylwalls all wall/gran/hertz/history 1 0 zcylinder 0.01385 1
|
||||
|
||||
#cfd coupling
|
||||
#fix cfd all couple/cfd
|
||||
|
||||
#particle insertion
|
||||
group nve_group region reg
|
||||
region bc cylinder z 0.0 0.0 0.012 0.02 0.03 units box
|
||||
fix ins nve_group pour 10000 1 1 vol 0.7 100 diam uniform 0.001 0.001 dens uniform 200 200 vel uniform 0. 0. 0. 0. -1.0 region bc
|
||||
|
||||
#apply nve integration to all particles that are inserted as single particles
|
||||
fix integr nve_group nve/sphere
|
||||
|
||||
|
||||
#screen output
|
||||
compute 1 all erotate/sphere
|
||||
thermo_style custom step atoms ke c_1 vol
|
||||
thermo 1000
|
||||
thermo_modify lost ignore norm no
|
||||
compute_modify thermo_temp dynamic yes
|
||||
|
||||
#insert the first particles so that dump is not empty
|
||||
run 1
|
||||
dump dmp all custom 5000 post/dump.liggghts_init id type 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 10000 upto
|
||||
write_restart liggghts.restart
|
||||
@ -0,0 +1,72 @@
|
||||
# Pour granular particles into chute container, then induce flow
|
||||
|
||||
atom_style granular
|
||||
atom_modify map array
|
||||
communicate single vel yes
|
||||
|
||||
boundary m m m
|
||||
newton off
|
||||
|
||||
units si
|
||||
processors 2 2 2
|
||||
|
||||
#read the restart file
|
||||
read_restart ../DEM/liggghts.restart
|
||||
|
||||
#do not do this here, the simulation box is in the restart file!
|
||||
#region reg block -0.015 0.015 -0.015 0.015 -0.001 0.0554 units box
|
||||
#create_box 1 reg
|
||||
|
||||
neighbor 0.0005 bin
|
||||
neigh_modify delay 0
|
||||
|
||||
#Material properties required for new 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/hertz/history 1 0 #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 zwalls all wall/gran/hertz/history 1 0 zplane 0.0 0.0553 1
|
||||
fix cylwalls all wall/gran/hertz/history 1 0 zcylinder 0.01385 1
|
||||
|
||||
# change the particles density
|
||||
set group all density 2000
|
||||
|
||||
#cfd coupling
|
||||
fix cfd all couple/cfd couple_every 100 mpi
|
||||
fix cfd2 all couple/cfd/force
|
||||
|
||||
#apply nve integration to all particles that are inserted as single particles
|
||||
#group nve_group region reg
|
||||
fix integr nve_group 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 1 all erotate/sphere
|
||||
thermo_style custom step atoms ke c_1 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
|
||||
|
||||
#insert the first particles so that dump is not empty
|
||||
dump myDump all stl 1 post/dump_*.stl
|
||||
#run 1
|
||||
dump dmp all custom 5000 ../DEM/post/dump*.liggghts_restart id type type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius
|
||||
undump myDump
|
||||
|
||||
run 1
|
||||
BIN
tutorials/cfdemSolverPiso/ErgunTestMPI/DEM/liggghts.restart
Normal file
BIN
tutorials/cfdemSolverPiso/ErgunTestMPI/DEM/liggghts.restart
Normal file
Binary file not shown.
1
tutorials/cfdemSolverPiso/ErgunTestMPI/DEM/post/dummy
Normal file
1
tutorials/cfdemSolverPiso/ErgunTestMPI/DEM/post/dummy
Normal file
@ -0,0 +1 @@
|
||||
dummyfile
|
||||
100
tutorials/cfdemSolverPiso/ErgunTestMPI/parCFDDEMrun.sh
Normal file
100
tutorials/cfdemSolverPiso/ErgunTestMPI/parCFDDEMrun.sh
Normal file
@ -0,0 +1,100 @@
|
||||
#!/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/etc/functions.sh
|
||||
|
||||
#--------------------------------------------------------------------------------#
|
||||
#- define variables
|
||||
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
|
||||
logpath=$casePath
|
||||
headerText="run_parallel_cfdemSolverPiso_ErgunTestMPI_CFDDEM"
|
||||
logfileName="log_$headerText"
|
||||
solverName="cfdemSolverPiso"
|
||||
nrProcs="8"
|
||||
machineFileName="none" # yourMachinefileName | none
|
||||
debugMode="off" # on | off
|
||||
testHarnessPath="$CFDEM_TEST_HARNESS_PATH"
|
||||
runOctave="true"
|
||||
postproc="false"
|
||||
#--------------------------------------------------------------------------------#
|
||||
|
||||
#- call function to run a parallel CFD-DEM case
|
||||
parCFDDEMrun $logpath $logfileName $casePath $headerText $solverName $nrProcs $machineFileName $debugMode
|
||||
|
||||
|
||||
if [ $runOctave == "true" ]
|
||||
then
|
||||
#------------------------------#
|
||||
# octave
|
||||
|
||||
#- change path
|
||||
cd octave
|
||||
|
||||
#- rmove old graph
|
||||
rm cfdemSolverPiso_ErgunTestMPI.eps
|
||||
|
||||
#- run octave
|
||||
octave totalPressureDrop.m
|
||||
|
||||
#- show plot
|
||||
evince cfdemSolverPiso_ErgunTestMPI.eps
|
||||
|
||||
#- copy log file to test harness
|
||||
cp ../../$logfileName $testHarnessPath
|
||||
cp cfdemSolverPiso_ErgunTestMPI.eps $testHarnessPath
|
||||
fi
|
||||
|
||||
if [ $postproc == "true" ]
|
||||
then
|
||||
|
||||
#- keep terminal open (if started in new terminal)
|
||||
echo "simulation finisehd? ...press enter to proceed"
|
||||
read
|
||||
|
||||
#- get VTK data from liggghts dump file
|
||||
cd $casePath/DEM/post
|
||||
python -i $CFDEM_LPP_DIR/lpp.py dump*.liggghts_restart
|
||||
|
||||
#- get VTK data from CFD sim
|
||||
cd $casePath/CFD
|
||||
foamToVTK #- serial run of foamToVTK
|
||||
#source $CFDEM_SRC_DIR/etc/functions.sh #- include functions
|
||||
#pseudoParallelRun "foamToVTK" $nrPostProcProcessors #- pseudo parallel run of foamToVTK
|
||||
|
||||
#- start paraview
|
||||
paraview
|
||||
|
||||
#- keep terminal open (if started in new terminal)
|
||||
echo "...press enter to clean up case"
|
||||
echo "press Ctr+C to keep data"
|
||||
read
|
||||
|
||||
fi
|
||||
|
||||
#- clean up case
|
||||
echo "deleting data at: $casePath :\n"
|
||||
rm -r $casePath/CFD/0.*
|
||||
rm -r $casePath/CFD/log.*
|
||||
rm -r $casePath/CFD/octave/octave-core
|
||||
rm -r $casePath/CFD/VTK
|
||||
rm -r $casePath/CFD/processor*
|
||||
rm -r $casePath/CFD/couplingFiles/*
|
||||
rm -r $casePath/DEM/post/*
|
||||
rm -r $casePath/DEM/log.*
|
||||
rm -r $casePath/DEM/liggghts.restartCFDEM*
|
||||
rm -r $casePath/CFD/probes
|
||||
rm -r $casePath/CFD/particles
|
||||
rm -r $casePath/CFD/clockData
|
||||
echo "done"
|
||||
|
||||
#- preserve post directory
|
||||
echo "dummyfile" >> $casePath/DEM/post/dummy
|
||||
114
tutorials/cfdemSolverPiso/ErgunTestMPI_restart/Allrun.sh
Executable file
114
tutorials/cfdemSolverPiso/ErgunTestMPI_restart/Allrun.sh
Executable file
@ -0,0 +1,114 @@
|
||||
#!/bin/bash
|
||||
|
||||
#===================================================================#
|
||||
# allrun script for testcase as part of test routine
|
||||
# run settlingTest
|
||||
# Christoph Goniva - Sept. 2010
|
||||
#===================================================================#
|
||||
|
||||
#- define variables
|
||||
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
|
||||
runOctave="true"
|
||||
postproc="false"
|
||||
|
||||
# check if mesh was built
|
||||
if [ -d "$casePath/CFD/constant/polyMesh/boundary" ]; then
|
||||
echo "mesh was built before - using old mesh"
|
||||
else
|
||||
echo "mesh needs to be built"
|
||||
cd $casePath/CFD
|
||||
blockMesh
|
||||
fi
|
||||
|
||||
#-------------------------------------------------------#
|
||||
# adapt settings for init run
|
||||
cp $casePath/CFD/constant/liggghtsCommands_init $casePath/CFD/constant/liggghtsCommands
|
||||
cp $casePath/CFD/constant/couplingProperties_init $casePath/CFD/constant/couplingProperties
|
||||
cp $casePath/CFD/system/controlDict_init $casePath/CFD/system/controlDict
|
||||
#-------------------------------------------------------#
|
||||
|
||||
#- run parallel CFD-DEM in new terminal
|
||||
gnome-terminal --title='cfdemSolverPiso ErgunTestMPI_restart CFD' -e "bash $casePath/parCFDDEMrun.sh"
|
||||
|
||||
#- wait until sim has finished then run octave
|
||||
echo "simulation finished? ...press enter to proceed"
|
||||
read
|
||||
|
||||
|
||||
#-------------------------------------------------------#
|
||||
# adapt settings for init or restart run
|
||||
cp $casePath/CFD/constant/liggghtsCommands_restart $casePath/CFD/constant/liggghtsCommands
|
||||
cp $casePath/CFD/constant/couplingProperties_restart $casePath/CFD/constant/couplingProperties
|
||||
cp $casePath/CFD/system/controlDict_restart $casePath/CFD/system/controlDict
|
||||
|
||||
#- run parallel CFD-DEM in new terminal
|
||||
gnome-terminal --title='cfdemSolverPiso ErgunTestMPI_restart CFD' -e "bash $casePath/parCFDDEMrun.sh"
|
||||
|
||||
|
||||
#- wait until sim has finished then run octave
|
||||
echo "simulation finished? ...press enter to proceed"
|
||||
read
|
||||
#-------------------------------------------------------#
|
||||
|
||||
|
||||
if [ $runOctave == "true" ]
|
||||
then
|
||||
#- change path
|
||||
cd $casePath/CFD/octave
|
||||
|
||||
#- rmove old graph
|
||||
rm cfdemSolverPiso_ErgunTestMPI.eps
|
||||
|
||||
#- run octave
|
||||
octave totalPressureDrop.m
|
||||
|
||||
#- show plot
|
||||
evince cfdemSolverPiso_ErgunTestMPI.eps
|
||||
|
||||
#- copy log file to test harness
|
||||
cp $casePath/../$logfileName $testHarnessPath
|
||||
cp cfdemSolverPiso_ErgunTestMPI.eps $testHarnessPath
|
||||
fi
|
||||
|
||||
if [ $postproc == "true" ]
|
||||
then
|
||||
|
||||
#- keep terminal open (if started in new terminal)
|
||||
echo "simulation finisehd? ...press enter to proceed"
|
||||
read
|
||||
|
||||
#- get VTK data from liggghts dump file
|
||||
cd $casePath/DEM/post
|
||||
python -i $CFDEM_LPP_DIR/lpp.py dump.liggghts_restart
|
||||
|
||||
#- get VTK data from CFD sim
|
||||
cd $casePath/CFD
|
||||
foamToVTK #- serial run of foamToVTK
|
||||
#source $CFDEM_SRC_DIR/etc/functions.sh #- include functions
|
||||
#pseudoParallelRun "foamToVTK" $nrPostProcProcessors #- pseudo parallel run of foamToVTK
|
||||
|
||||
#- start paraview
|
||||
paraview
|
||||
|
||||
#- keep terminal open (if started in new terminal)
|
||||
echo "...press enter to clean up case"
|
||||
echo "press Ctr+C to keep data"
|
||||
read
|
||||
fi
|
||||
|
||||
#- clean up case
|
||||
rm -rf $casePath/CFD/0.*
|
||||
rm -r $casePath/CFD/clockData
|
||||
rm -rf $casePath/CFD/processor*
|
||||
rm -r $casePath/CFD/VTK
|
||||
rm -rf $casePath/CFD/patchAverage_pressureDrop
|
||||
rm -rf $casePath/CFD/probes
|
||||
rm -rf $casePath/CFD/particles
|
||||
rm -r $casePath/CFD/log.*
|
||||
rm $casePath/log.liggghts
|
||||
rm $casePath/DEM/liggghts.restartCFDEM*
|
||||
rm $casePath/DEM/post/dump.*
|
||||
rm -r $casePath/DEM/log.*
|
||||
|
||||
#- preserve post directory
|
||||
echo "dummyfile" >> $casePath/DEM/post/dummy
|
||||
41
tutorials/cfdemSolverPiso/ErgunTestMPI_restart/CFD/0/Ksl
Normal file
41
tutorials/cfdemSolverPiso/ErgunTestMPI_restart/CFD/0/Ksl
Normal file
@ -0,0 +1,41 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object Ksl;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [1 -3 -1 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
wall
|
||||
{
|
||||
type zeroGradient;
|
||||
//type fixedValue;
|
||||
//value uniform 0;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
89
tutorials/cfdemSolverPiso/ErgunTestMPI_restart/CFD/0/U
Normal file
89
tutorials/cfdemSolverPiso/ErgunTestMPI_restart/CFD/0/U
Normal file
@ -0,0 +1,89 @@
|
||||
/*--------------------------------*- 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 U;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 1 -1 0 0 0 0];
|
||||
|
||||
internalField uniform (0 0 0);
|
||||
|
||||
boundaryField
|
||||
{
|
||||
|
||||
wall
|
||||
{
|
||||
//type fixedValue;
|
||||
//value uniform (0 0 0);
|
||||
type slip;
|
||||
}
|
||||
|
||||
inlet
|
||||
{
|
||||
/*type flowRateInletVelocity;
|
||||
flowRate 0.001;
|
||||
value uniform (0 0 0);*/
|
||||
|
||||
/*type fixedValue;
|
||||
value uniform (0 0 0.0001);*/
|
||||
|
||||
//type zeroGradient;
|
||||
|
||||
/* type groovyBC;
|
||||
variables "Uend=vector(0,0,0.02);tEnd=0.1;";
|
||||
valueExpression "((time() < tEnd) ? Uend/tEnd*time():Uend)";
|
||||
value uniform (0 0 0);*/
|
||||
|
||||
/*// 2.0.x, 1.6,ext
|
||||
type timeVaryingUniformFixedValue;
|
||||
fileName "steps_0p1s";
|
||||
outOfBounds clamp;
|
||||
value uniform (0 0 0);*/
|
||||
|
||||
// 2.1.x
|
||||
type uniformFixedValue;
|
||||
uniformValue table
|
||||
(
|
||||
(0.000 (0 0 0.002))
|
||||
(0.010 (0 0 0.002))
|
||||
(0.011 (0 0 0.004))
|
||||
(0.020 (0 0 0.004))
|
||||
(0.021 (0 0 0.006))
|
||||
(0.030 (0 0 0.006))
|
||||
(0.031 (0 0 0.008))
|
||||
(0.040 (0 0 0.008))
|
||||
(0.041 (0 0 0.010))
|
||||
(0.050 (0 0 0.010))
|
||||
(0.051 (0 0 0.012))
|
||||
(0.060 (0 0 0.012))
|
||||
(0.061 (0 0 0.014))
|
||||
(0.070 (0 0 0.014))
|
||||
(0.071 (0 0 0.016))
|
||||
(0.080 (0 0 0.016))
|
||||
(0.081 (0 0 0.018))
|
||||
(0.090 (0 0 0.018))
|
||||
(0.091 (0 0 0.020))
|
||||
(0.100 (0 0 0.020))
|
||||
);
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
/*type fluxCorrectedVelocity; //inletOutlet;
|
||||
value uniform (0 0 0);
|
||||
inletValue uniform (0 0 0);*/
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
45
tutorials/cfdemSolverPiso/ErgunTestMPI_restart/CFD/0/Us
Normal file
45
tutorials/cfdemSolverPiso/ErgunTestMPI_restart/CFD/0/Us
Normal file
@ -0,0 +1,45 @@
|
||||
/*--------------------------------*- 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
|
||||
{
|
||||
wall
|
||||
{
|
||||
type zeroGradient;
|
||||
//type fixedValue;
|
||||
//value uniform (1 0 0);
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type zeroGradient;
|
||||
//type fixedValue;
|
||||
//value uniform (1 0 0);;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
//type fixedValue;
|
||||
//value uniform (1 0 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
48
tutorials/cfdemSolverPiso/ErgunTestMPI_restart/CFD/0/epsilon
Normal file
48
tutorials/cfdemSolverPiso/ErgunTestMPI_restart/CFD/0/epsilon
Normal file
@ -0,0 +1,48 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object epsilon;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 2 -3 0 0 0 0];
|
||||
|
||||
internalField uniform 0.003;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
wall
|
||||
{
|
||||
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;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
/*type turbulentMixingLengthDissipationRateInlet;
|
||||
mixingLength 0.005;
|
||||
value uniform 0.003;*/
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
45
tutorials/cfdemSolverPiso/ErgunTestMPI_restart/CFD/0/k
Normal file
45
tutorials/cfdemSolverPiso/ErgunTestMPI_restart/CFD/0/k
Normal file
@ -0,0 +1,45 @@
|
||||
/*--------------------------------*- 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
|
||||
{
|
||||
wall
|
||||
{
|
||||
type kqRWallFunction;
|
||||
value uniform 0.001;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type inletOutlet;
|
||||
inletValue uniform 0.001;
|
||||
value uniform 0.001;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
/*type turbulentIntensityKineticEnergyInlet;
|
||||
intensity 0.05;
|
||||
value uniform 0.001;*/
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
45
tutorials/cfdemSolverPiso/ErgunTestMPI_restart/CFD/0/nut
Normal file
45
tutorials/cfdemSolverPiso/ErgunTestMPI_restart/CFD/0/nut
Normal file
@ -0,0 +1,45 @@
|
||||
/*--------------------------------*- 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
|
||||
{
|
||||
wall
|
||||
{
|
||||
type nutWallFunction;
|
||||
Cmu 0.09;
|
||||
kappa 0.41;
|
||||
E 9.8;
|
||||
value uniform 0;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type calculated;
|
||||
value uniform 0;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type calculated;
|
||||
value uniform 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
43
tutorials/cfdemSolverPiso/ErgunTestMPI_restart/CFD/0/p
Normal file
43
tutorials/cfdemSolverPiso/ErgunTestMPI_restart/CFD/0/p
Normal file
@ -0,0 +1,43 @@
|
||||
/*--------------------------------*- 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 p;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 2 -2 0 0 0 0];
|
||||
|
||||
internalField uniform 1.0e5;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
|
||||
wall
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
inlet
|
||||
{
|
||||
type zeroGradient;
|
||||
//type fixedValue;
|
||||
//value uniform 100000;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
//type zeroGradient;
|
||||
type fixedValue;
|
||||
value uniform 100000;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
39
tutorials/cfdemSolverPiso/ErgunTestMPI_restart/CFD/0/rho
Normal file
39
tutorials/cfdemSolverPiso/ErgunTestMPI_restart/CFD/0/rho
Normal file
@ -0,0 +1,39 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: http://www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
object rho;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [1 -3 0 0 0 0 0];
|
||||
|
||||
internalField uniform 10;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
|
||||
wall
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
|
||||
inlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,41 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object voidfraction;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 1;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
wall
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 1;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,25 @@
|
||||
/*--------------------------------*- 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 RASProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
RASModel laminar;
|
||||
|
||||
turbulence off;
|
||||
|
||||
printCoeffs on;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,175 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / 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
|
||||
verbous;
|
||||
modelType "A"; // A or B
|
||||
|
||||
couplingInterval 100;
|
||||
|
||||
voidFractionModel divided;
|
||||
|
||||
locateModel engine;
|
||||
|
||||
meshMotionModel noMeshMotion;
|
||||
|
||||
regionModel allRegion;
|
||||
|
||||
IOModel "basicIO";
|
||||
|
||||
dataExchangeModel twoWayMPI;//twoWayFiles;//oneWayVTK;//
|
||||
|
||||
averagingModel dense;//dilute;//
|
||||
|
||||
clockModel off;
|
||||
|
||||
forceModels
|
||||
(
|
||||
//GidaspowDrag
|
||||
DiFeliceDrag
|
||||
//KochHillDrag
|
||||
gradPForce
|
||||
viscForce
|
||||
//Archimedes
|
||||
//volWeightedAverage
|
||||
//totalMomentumExchange
|
||||
);
|
||||
|
||||
momCoupleModels
|
||||
(
|
||||
implicitCouple
|
||||
);
|
||||
|
||||
turbulenceModelType "RASProperties";//"LESProperties";//
|
||||
|
||||
//===========================================================================//
|
||||
// sub-model properties
|
||||
|
||||
implicitCoupleProps
|
||||
{
|
||||
velFieldName "U";
|
||||
granVelFieldName "Us";
|
||||
voidfractionFieldName "voidfraction";
|
||||
}
|
||||
|
||||
ArchimedesProps
|
||||
{
|
||||
densityFieldName "rho";
|
||||
gravityFieldName "g";
|
||||
}
|
||||
gradPForceProps
|
||||
{
|
||||
pFieldName "p";
|
||||
densityFieldName "rho";
|
||||
voidfractionFieldName "voidfraction";
|
||||
velocityFieldName "U";
|
||||
//interpolation;
|
||||
}
|
||||
|
||||
viscForceProps
|
||||
{
|
||||
velocityFieldName "U";
|
||||
densityFieldName "rho";
|
||||
interpolation;
|
||||
}
|
||||
volWeightedAverageProps
|
||||
{
|
||||
scalarFieldNames
|
||||
(
|
||||
voidfraction
|
||||
);
|
||||
vectorFieldNames
|
||||
(
|
||||
);
|
||||
upperThreshold 0.999;
|
||||
lowerThreshold 0;
|
||||
verbous;
|
||||
}
|
||||
totalMomentumExchangeProps
|
||||
{
|
||||
implicitMomExFieldName "Ksl";
|
||||
explicitMomExFieldName "none";
|
||||
fluidVelFieldName "U";
|
||||
granVelFieldName "Us";
|
||||
densityFieldName "rho";
|
||||
}
|
||||
GidaspowDragProps
|
||||
{
|
||||
velFieldName "U";
|
||||
densityFieldName "rho";
|
||||
}
|
||||
DiFeliceDragProps
|
||||
{
|
||||
velFieldName "U";
|
||||
densityFieldName "rho";
|
||||
voidfractionFieldName "voidfraction";
|
||||
}
|
||||
|
||||
KochHillDragProps
|
||||
{
|
||||
velFieldName "U";
|
||||
densityFieldName "rho";
|
||||
}
|
||||
|
||||
virtualMassForceProps
|
||||
{
|
||||
velFieldName "U";
|
||||
densityFieldName "rho";
|
||||
}
|
||||
|
||||
oneWayVTKProps
|
||||
{
|
||||
couplingFilename "vtk_out%4.4d.vtk";
|
||||
maxNumberOfParticles 30000;
|
||||
}
|
||||
|
||||
twoWayFilesProps
|
||||
{
|
||||
maxNumberOfParticles 10100;
|
||||
}
|
||||
|
||||
centreProps
|
||||
{
|
||||
alphaMin 0.10;
|
||||
}
|
||||
|
||||
engineProps
|
||||
{
|
||||
treeSearch true;
|
||||
}
|
||||
|
||||
dividedProps
|
||||
{
|
||||
alphaMin 0.1;
|
||||
scaleUpVol 1.0;
|
||||
}
|
||||
|
||||
twoWayMPIProps
|
||||
{
|
||||
maxNumberOfParticles 10100;
|
||||
liggghtsPath "../DEM/in.liggghts_resume";
|
||||
}
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,175 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / 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
|
||||
verbous;
|
||||
modelType "A"; // A or B
|
||||
|
||||
couplingInterval 100;
|
||||
|
||||
voidFractionModel divided;
|
||||
|
||||
locateModel engine;
|
||||
|
||||
meshMotionModel noMeshMotion;
|
||||
|
||||
regionModel allRegion;
|
||||
|
||||
IOModel "basicIO";
|
||||
|
||||
dataExchangeModel twoWayMPI;//twoWayFiles;//oneWayVTK;//
|
||||
|
||||
averagingModel dense;//dilute;//
|
||||
|
||||
clockModel off;
|
||||
|
||||
forceModels
|
||||
(
|
||||
//GidaspowDrag
|
||||
DiFeliceDrag
|
||||
//KochHillDrag
|
||||
gradPForce
|
||||
viscForce
|
||||
//Archimedes
|
||||
//volWeightedAverage
|
||||
//totalMomentumExchange
|
||||
);
|
||||
|
||||
momCoupleModels
|
||||
(
|
||||
implicitCouple
|
||||
);
|
||||
|
||||
turbulenceModelType "RASProperties";//"LESProperties";//
|
||||
|
||||
//===========================================================================//
|
||||
// sub-model properties
|
||||
|
||||
implicitCoupleProps
|
||||
{
|
||||
velFieldName "U";
|
||||
granVelFieldName "Us";
|
||||
voidfractionFieldName "voidfraction";
|
||||
}
|
||||
|
||||
ArchimedesProps
|
||||
{
|
||||
densityFieldName "rho";
|
||||
gravityFieldName "g";
|
||||
}
|
||||
gradPForceProps
|
||||
{
|
||||
pFieldName "p";
|
||||
densityFieldName "rho";
|
||||
voidfractionFieldName "voidfraction";
|
||||
velocityFieldName "U";
|
||||
//interpolation;
|
||||
}
|
||||
|
||||
viscForceProps
|
||||
{
|
||||
velocityFieldName "U";
|
||||
densityFieldName "rho";
|
||||
interpolation;
|
||||
}
|
||||
volWeightedAverageProps
|
||||
{
|
||||
scalarFieldNames
|
||||
(
|
||||
voidfraction
|
||||
);
|
||||
vectorFieldNames
|
||||
(
|
||||
);
|
||||
upperThreshold 0.999;
|
||||
lowerThreshold 0;
|
||||
verbous;
|
||||
}
|
||||
totalMomentumExchangeProps
|
||||
{
|
||||
implicitMomExFieldName "Ksl";
|
||||
explicitMomExFieldName "none";
|
||||
fluidVelFieldName "U";
|
||||
granVelFieldName "Us";
|
||||
densityFieldName "rho";
|
||||
}
|
||||
GidaspowDragProps
|
||||
{
|
||||
velFieldName "U";
|
||||
densityFieldName "rho";
|
||||
}
|
||||
DiFeliceDragProps
|
||||
{
|
||||
velFieldName "U";
|
||||
densityFieldName "rho";
|
||||
voidfractionFieldName "voidfraction";
|
||||
}
|
||||
|
||||
KochHillDragProps
|
||||
{
|
||||
velFieldName "U";
|
||||
densityFieldName "rho";
|
||||
}
|
||||
|
||||
virtualMassForceProps
|
||||
{
|
||||
velFieldName "U";
|
||||
densityFieldName "rho";
|
||||
}
|
||||
|
||||
oneWayVTKProps
|
||||
{
|
||||
couplingFilename "vtk_out%4.4d.vtk";
|
||||
maxNumberOfParticles 30000;
|
||||
}
|
||||
|
||||
twoWayFilesProps
|
||||
{
|
||||
maxNumberOfParticles 10100;
|
||||
}
|
||||
|
||||
centreProps
|
||||
{
|
||||
alphaMin 0.10;
|
||||
}
|
||||
|
||||
engineProps
|
||||
{
|
||||
treeSearch true;
|
||||
}
|
||||
|
||||
dividedProps
|
||||
{
|
||||
alphaMin 0.1;
|
||||
scaleUpVol 1.0;
|
||||
}
|
||||
|
||||
twoWayMPIProps
|
||||
{
|
||||
maxNumberOfParticles 10100;
|
||||
liggghtsPath "../DEM/in.liggghts_restart";
|
||||
}
|
||||
// ************************************************************************* //
|
||||
@ -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 );
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,40 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / 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
|
||||
);
|
||||
|
||||
/*
|
||||
//- optional
|
||||
writeLiggghtsProps
|
||||
{
|
||||
writeLast on; // off is not recommended
|
||||
overwrite on;
|
||||
}*/
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,31 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / 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
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,154 @@
|
||||
/*--------------------------------*- 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 1;
|
||||
|
||||
//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.0069 0.0069 0.0 ) // Vertex fiveoclocksqb = 0
|
||||
(-0.0069 0.0069 0.0 ) // Vertex sevenoclocksqb = 1
|
||||
(-0.0069 -0.0069 0.0 ) // Vertex elevenoclocksqb = 2
|
||||
( 0.0069 -0.0069 0.0 ) // Vertex oneoclocksqb = 3
|
||||
|
||||
( 0.00975807358913172 0.00975807357161699 0.0 ) // Vertex fiveoclockcb = 4
|
||||
(-0.00975807358913172 0.00975807357161699 0.0) // Vertex sevenoclockcb = 5
|
||||
(-0.00975807358913172 -0.00975807357161699 0.0) // Vertex elevenoclockcb = 6
|
||||
( 0.00975807358913172 -0.00975807357161699 0.0) // Vertex oneoclockcb = 7
|
||||
|
||||
( 0.0069 0.0069 0.0553) // Vertex fiveoclocksqt = 8
|
||||
(-0.0069 0.0069 0.0553) // Vertex sevenoclocksqt = 9
|
||||
(-0.0069 -0.0069 0.0553) // Vertex elevenoclocksqt = 10
|
||||
( 0.0069 -0.0069 0.0553) // Vertex oneoclocksqt = 11
|
||||
|
||||
( 0.00975807358913172 0.00975807357161699 0.0553) // Vertex fiveoclockct = 12
|
||||
(-0.00975807358913172 0.00975807357161699 0.0553) // Vertex sevenoclockct = 13
|
||||
(-0.00975807358913172 -0.00975807357161699 0.0553) // Vertex elevenoclockct = 14
|
||||
( 0.00975807358913172 -0.00975807357161699 0.0553) // Vertex oneoclockct = 15
|
||||
);
|
||||
|
||||
blocks
|
||||
(
|
||||
//square block
|
||||
hex (
|
||||
2 3 0 1
|
||||
10 11 8 9
|
||||
)
|
||||
(8 8 24)
|
||||
simpleGrading (1 1 1)
|
||||
|
||||
//slice1
|
||||
hex (
|
||||
1 0 4 5
|
||||
9 8 12 13
|
||||
)
|
||||
(8 4 24)
|
||||
simpleGrading (1 1 1)
|
||||
|
||||
//slice2
|
||||
hex (
|
||||
6 2 1 5
|
||||
14 10 9 13
|
||||
)
|
||||
( 4 8 24)
|
||||
simpleGrading (1 1 1)
|
||||
|
||||
//slice3
|
||||
hex (
|
||||
6 7 3 2
|
||||
14 15 11 10
|
||||
)
|
||||
(8 4 24)
|
||||
simpleGrading (1 1 1)
|
||||
|
||||
//slice4
|
||||
hex (
|
||||
3 7 4 0
|
||||
11 15 12 8
|
||||
)
|
||||
(4 8 24)
|
||||
simpleGrading (1 1 1)
|
||||
|
||||
);
|
||||
|
||||
|
||||
//create the quarter circles
|
||||
edges
|
||||
(
|
||||
arc 4 5 (0.0 0.0138 0.0 )
|
||||
arc 5 6 (-0.0138 0.0 0.0)
|
||||
arc 6 7 (0.0 -0.0138 0.0 )
|
||||
arc 7 4 (0.0138 0.0 0.0)
|
||||
|
||||
arc 12 13 (0.0 0.0138 0.0553 )
|
||||
arc 13 14 (-0.0138 0.0 0.0553 )
|
||||
arc 14 15 (0.0 -0.0138 0.0553 )
|
||||
arc 15 12 (0.0138 0.0 0.0553 )
|
||||
|
||||
);
|
||||
|
||||
patches
|
||||
(
|
||||
patch inlet
|
||||
(
|
||||
(0 3 2 1)
|
||||
(0 4 7 3)
|
||||
(4 0 1 5)
|
||||
(1 2 6 5)
|
||||
(3 7 6 2)
|
||||
)
|
||||
|
||||
patch outlet
|
||||
(
|
||||
(8 11 10 9)
|
||||
(8 12 15 11)
|
||||
(12 8 9 13)
|
||||
(9 10 14 13)
|
||||
(11 15 14 10)
|
||||
)
|
||||
|
||||
wall wall
|
||||
(
|
||||
(5 4 12 13)
|
||||
(5 13 14 6)
|
||||
(6 14 15 7)
|
||||
(7 15 12 4)
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
mergePatchPairs
|
||||
(
|
||||
);
|
||||
@ -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;
|
||||
}
|
||||
// ************************************************************************* //
|
||||
@ -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 RASModel;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,69 @@
|
||||
function [data,colname]=loaddata(filename,columns,headerlines)
|
||||
|
||||
% data = loaddata(filename,columns,headerlines)
|
||||
% data = loaddata(filename,0,headerlines): automatc detection of
|
||||
% columns by word count in first headerline or first data line
|
||||
% (if headerline==0), separated by blanks or tabs
|
||||
% columns=-1: write colum assignment code lines
|
||||
% works only if headerline>0 and colnames separated by
|
||||
% not more than 1 blank!
|
||||
% columns=-2: columns separated by 2 blanks (fluent/scheme auswertung-instat.scm)
|
||||
% [data, colname] = loaddata(filename,0,headerlines)
|
||||
% colname = cell string array of column names from headerline
|
||||
|
||||
fprintf(1,'loading %s ... ', filename);
|
||||
f=fopen(filename,'r');
|
||||
if f==-1
|
||||
fprintf(1,'\n*** error: could not open "%s" ...\n', filename);
|
||||
data=[];
|
||||
else
|
||||
for i=1:headerlines
|
||||
if i==1 s=fgets(f); else fgets(f); end
|
||||
end
|
||||
if headerlines==0
|
||||
s=fgets(f); frewind(f);
|
||||
end
|
||||
if columns<=0 % & headerlines>=1
|
||||
fprintf(1,'\n');
|
||||
fprintf(1,' %s',s);
|
||||
pos = findstr(sprintf('\t'),s); % trennzeichenpositionen in zeile suchen
|
||||
if length(pos)>0
|
||||
endpos=length(s);
|
||||
%if isspace(s(endpos-1)) endpos=endpos-1; end
|
||||
pos = [0 pos(1,:) endpos]; % anfangs- und endposition hinzuf<EFBFBD>gen
|
||||
elseif columns==-2 % spalteneintr<EFBFBD>ge durch 2 blanks getrennt (fluent/scheme)
|
||||
pos=[0];
|
||||
for i=1:length(s)-1
|
||||
if isspace(s(i)) & isspace(s(i+1))
|
||||
pos(end+1)=i+1;
|
||||
end
|
||||
end
|
||||
pos(end+1)=length(s);
|
||||
else % spalteneintr<EFBFBD>ge durch blanks getrennt
|
||||
%pos = findstr(' ',s); % trennzeichenpositionen in zeile suchen
|
||||
pos=[];
|
||||
word=0;
|
||||
for i=1:length(s)
|
||||
if isspace(s(i))
|
||||
word=0;
|
||||
elseif ~word
|
||||
word=1;
|
||||
pos(end+1)=i-1;
|
||||
end
|
||||
end
|
||||
pos(end+1)=length(s);
|
||||
end
|
||||
if headerlines>=1
|
||||
for i=1:length(pos)-1 % alle spalten
|
||||
colname{i}=s(pos(i)+1:pos(i+1)-1);
|
||||
if columns==-1 fprintf(' = data(strmatch(''%s'',colname),:); %% column %d\n', colname{i},i); end
|
||||
if columns==-2 fprintf('%% column %d: %s\n', i, colname{i}); end
|
||||
end
|
||||
end
|
||||
columns = length(pos)-1;
|
||||
fprintf(1,' total: %d columns ',columns);
|
||||
end
|
||||
data=fscanf(f,'%f',[columns,inf]);
|
||||
fclose(f);
|
||||
fprintf(1,'done.\n');
|
||||
end
|
||||
@ -0,0 +1,111 @@
|
||||
close all;
|
||||
clear;
|
||||
clc;
|
||||
|
||||
%====================================%
|
||||
% simulation data 1
|
||||
%====================================%
|
||||
%path = '../probes/0/p';
|
||||
path = '../probes/0/p';
|
||||
columns=22;
|
||||
headerlines=4;
|
||||
data = loaddata(path,columns,headerlines);
|
||||
data=transpose(data);
|
||||
[x,y]=size(data)
|
||||
dp_sim = (data(:,2)-data(:,y))/10000;
|
||||
t_sim = data(:,1);
|
||||
%fprintf('final pressureDrop of sim = %f Pa\n',dp_sim(length(dp_sim)) )
|
||||
|
||||
%====================================%
|
||||
% simulation data 2
|
||||
%====================================%
|
||||
%path = '../probes/0.05/p';
|
||||
path = '../probes/0.05/p';
|
||||
columns=22;
|
||||
headerlines=4;
|
||||
data = loaddata(path,columns,headerlines);
|
||||
data=transpose(data);
|
||||
[x,y]=size(data)
|
||||
dp_sim_2 = (data(:,2)-data(:,y))/10000;
|
||||
t_sim_2 = data(:,1);
|
||||
%fprintf('final pressureDrop of sim = %f Pa\n',dp_sim(length(dp_sim)) )
|
||||
|
||||
|
||||
%====================================%
|
||||
% analytical calculation
|
||||
%====================================%
|
||||
|
||||
%===================
|
||||
% Ergun Equation
|
||||
%===================
|
||||
fprintf('\ncalc Ergun eqn:\n')
|
||||
dp = 0.001 % particle diameter
|
||||
phip = 1 % sphericity
|
||||
epsilon = 0.451335 % void fraction
|
||||
Ustart = 0.002
|
||||
Uend = 0.02
|
||||
timeStepSize = 0.001; % time interval of pressure data
|
||||
Tstart = 0;
|
||||
Tend = t_sim(length(t_sim))
|
||||
Tend=0.1
|
||||
deltaU=(Uend-Ustart)/((Tend-Tstart)/timeStepSize);
|
||||
U = Ustart+deltaU:deltaU:Uend; % velocity over time
|
||||
Ua = U / epsilon; % physical velocity
|
||||
L = 0.0156 % length of bed
|
||||
rhoG = 10 % density in kg/m3
|
||||
nuG = 1.5*10^-4 % kinemat Visk in m2/s
|
||||
muG = nuG*rhoG % dynam visc in Pa s
|
||||
|
||||
dpErgun= L * (
|
||||
150*((1-epsilon)^2/epsilon^3)*((muG.*U)/(phip*dp)^2)
|
||||
+1.75*((1-epsilon)/epsilon^3)*((rhoG.*U.^2)/(phip*dp))
|
||||
)/10000/rhoG;
|
||||
|
||||
fprintf('NOTE: this pressure is divided by density (according to CFD solver)\n')
|
||||
fprintf('so the result does not depend on density\n')
|
||||
|
||||
%fprintf('final pressure drop (Ergun eqn)= %f Pa\n',dpErgun)
|
||||
|
||||
%==================================
|
||||
% min fluidization velocity in m/s
|
||||
%==================================
|
||||
rhoP = 2000 % particle density in kg/m3
|
||||
g = 9.81 % gravity m/s2
|
||||
Umf = dp^2*(rhoP-rhoG)*g/(150*muG)*(epsilon^3*phip^2)/(1-epsilon)
|
||||
ReMF = Umf*dp*rhoG/muG % must be <20 !!!
|
||||
%Umf = sqrt(phip*dp^2/1.75*(rhoP-rhoG)/rhoG*g*epsilon^3) % Re>1000
|
||||
|
||||
dpUmf= L * (
|
||||
150*((1-epsilon)^2/epsilon^3)*((muG.*Umf)/(phip*dp)^2)
|
||||
+1.75*((1-epsilon)/epsilon^3)*((rhoG.*Umf.^2)/(phip*dp))
|
||||
)/10000/rhoG;
|
||||
|
||||
%====================================%
|
||||
% plot data
|
||||
%====================================%
|
||||
|
||||
%figure(2)
|
||||
%plot(U,dp_sim)
|
||||
%title("Ergun pressure drop vs. simulation")
|
||||
%a=strcat("analytical (Ergun), Umf=",num2str(Umf),", dpUmf=",num2str(dpUmf));
|
||||
%legend(a,"simulation")
|
||||
%xlabel("velocity in [m/s]")
|
||||
%ylabel("pressure drop [bar]")
|
||||
%axis([0,Uend,0,dpErgun(length(dpErgun))])
|
||||
|
||||
figure(1)
|
||||
plot(U,dpErgun,U(1:length(t_sim)),dp_sim,U(length(t_sim)+1:length(U)),dp_sim_2,'-+',[Umf,Uend],dpUmf*ones(1,2))
|
||||
title("Ergun pressure drop vs. simulation")
|
||||
a=strcat("analytical (Ergun), Umf=",num2str(Umf),", dpUmf=",num2str(dpUmf));
|
||||
legend(a,"simulation")
|
||||
xlabel("velocity in [m/s]")
|
||||
ylabel("pressure drop [bar]")
|
||||
axis([0,Uend,0,dpErgun(length(dpErgun))])
|
||||
|
||||
%print('cfdemSolverPiso_settlingTest.eps','-deps2')
|
||||
print -color "cfdemSolverPiso_ErgunTestMPI.eps"
|
||||
replot;
|
||||
|
||||
|
||||
|
||||
|
||||
@ -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.05;
|
||||
|
||||
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 ( "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;
|
||||
}*/
|
||||
);
|
||||
// ************************************************************************* //
|
||||
@ -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;
|
||||
}*/
|
||||
);
|
||||
// ************************************************************************* //
|
||||
@ -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.05;//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 ( "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;
|
||||
}*/
|
||||
);
|
||||
// ************************************************************************* //
|
||||
@ -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.05;
|
||||
|
||||
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 ( "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;
|
||||
}*/
|
||||
);
|
||||
// ************************************************************************* //
|
||||
@ -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 2;
|
||||
|
||||
//- 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 (1 1 2);
|
||||
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"
|
||||
//);
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
33
tutorials/cfdemSolverPiso/ErgunTestMPI_restart/CFD/system/funkySetFieldsDict
Executable file
33
tutorials/cfdemSolverPiso/ErgunTestMPI_restart/CFD/system/funkySetFieldsDict
Executable file
@ -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
|
||||
}
|
||||
|
||||
);
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user