mirror of
https://github.com/ParticulateFlow/CFDEMcoupling-PFM.git
synced 2025-12-08 06:37:44 +00:00
Copied tutorial from outdated feature/cfdemSolverMultiphase branch and started restructuring
This commit is contained in:
25
tutorials/cfdemSolverMultiphase/small_scale_hearth_drainage/init/Allclean.sh
Executable file
25
tutorials/cfdemSolverMultiphase/small_scale_hearth_drainage/init/Allclean.sh
Executable file
@ -0,0 +1,25 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#- define variables
|
||||||
|
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
|
||||||
|
|
||||||
|
#- clean up case
|
||||||
|
echo "deleting data at: $casePath :\n"
|
||||||
|
source $WM_PROJECT_DIR/bin/tools/CleanFunctions
|
||||||
|
cd $casePath/CFD
|
||||||
|
cleanCase
|
||||||
|
rm -r $casePath/CFD/clockData
|
||||||
|
rm $casePath/DEM/post/*.*
|
||||||
|
touch $casePath/DEM/post/.gitignore
|
||||||
|
rm $casePath/log*
|
||||||
|
rm $casePath/DEM/log*
|
||||||
|
rm -r $casePath/CFD/0
|
||||||
|
|
||||||
|
echo "Remove restart files?"
|
||||||
|
echo "Enter: yes, Ctrl + C: no"
|
||||||
|
read
|
||||||
|
|
||||||
|
rm $casePath/DEM/post/restart/*.*
|
||||||
|
rm -r $casePath/DEM/post/restart/5/
|
||||||
|
|
||||||
|
|
||||||
38
tutorials/cfdemSolverMultiphase/small_scale_hearth_drainage/init/Allrun.sh
Executable file
38
tutorials/cfdemSolverMultiphase/small_scale_hearth_drainage/init/Allrun.sh
Executable file
@ -0,0 +1,38 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#===================================================================#
|
||||||
|
# allrun script for cfdemSolverMultiphase
|
||||||
|
#===================================================================#
|
||||||
|
|
||||||
|
#- define variables
|
||||||
|
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
|
||||||
|
nrProcs=4;
|
||||||
|
|
||||||
|
# check if mesh was built
|
||||||
|
if [ -f "$casePath/CFD/constant/polyMesh/points" ]; then
|
||||||
|
echo "mesh was built before - using old mesh"
|
||||||
|
else
|
||||||
|
echo "mesh needs to be built"
|
||||||
|
cd $casePath/CFD
|
||||||
|
./mesh.sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
# check if initialization was done
|
||||||
|
if [ -f "$casePath/DEM/post/restart/liggghts.restartCFDEM_5.000000" ]; then
|
||||||
|
echo "Initialization was run before - using existing restart file"
|
||||||
|
else
|
||||||
|
cd $casePath
|
||||||
|
bash init.sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
# run the drainage simulation
|
||||||
|
cd $casePath/CFD
|
||||||
|
cp system/controlDict.run system/controlDict
|
||||||
|
cp constant/couplingProperties.run constant couplingProperties
|
||||||
|
cp -r $casePath/DEM/post/restart/5/ .
|
||||||
|
decomposePar -force
|
||||||
|
mpirun -np $nrProcs cfdemSolverMultiphase -parallel |& tee $casePath/log_run
|
||||||
|
|
||||||
|
# generate files for post processing
|
||||||
|
cd $casePath
|
||||||
|
./postRun.sh
|
||||||
@ -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
|
||||||
|
{
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,43 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.3.x |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volVectorField;
|
||||||
|
location "0";
|
||||||
|
object U;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 1 -1 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform (0 0 0);
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type pressureInletOutletVelocity;
|
||||||
|
value uniform (0 0 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform (0 0 0);
|
||||||
|
}
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform (0 0 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,42 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.6 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volVectorField;
|
||||||
|
location "0";
|
||||||
|
object Us;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 1 -1 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform (0 0 0);
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,49 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.3.0 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
location "0";
|
||||||
|
object alpha.air;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type alphaContactAngle;
|
||||||
|
thetaProperties
|
||||||
|
(
|
||||||
|
( iron slag ) 90 0 0 0
|
||||||
|
( iron air ) 90 0 0 0
|
||||||
|
( slag air ) 90 0 0 0
|
||||||
|
|
||||||
|
);
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 1;
|
||||||
|
}
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,40 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.3.0 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
location "0";
|
||||||
|
object alpha.iron;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,40 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.3.0 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
location "0";
|
||||||
|
object alpha.slag;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,41 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.3.x |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
location "0";
|
||||||
|
object alphas;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -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
|
||||||
|
{
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type epsilonWallFunction;
|
||||||
|
Cmu 0.09;
|
||||||
|
kappa 0.41;
|
||||||
|
E 9.8;
|
||||||
|
value uniform 0.003;
|
||||||
|
}
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue uniform 0.003;
|
||||||
|
value uniform 0.003;
|
||||||
|
}
|
||||||
|
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 0.003;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -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 volVectorField;
|
||||||
|
object gradPSmooth;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [1 -2 -2 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform (0 0 0);
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,44 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.6 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
location "0";
|
||||||
|
object k;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 2 -2 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0.001;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type kqRWallFunction;
|
||||||
|
value uniform 0.001;
|
||||||
|
}
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue uniform 0.001;
|
||||||
|
value uniform 0.001;
|
||||||
|
}
|
||||||
|
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 0.001;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,47 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.6 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
location "0";
|
||||||
|
object nut;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 2 -1 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type nutWallFunction;
|
||||||
|
Cmu 0.09;
|
||||||
|
kappa 0.41;
|
||||||
|
E 9.8;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type calculated;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type calculated;
|
||||||
|
uniform 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -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 pSmoothField;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [1 -1 -2 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,42 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.3.0 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
object p_rgh;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [1 -1 -2 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 1000;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type fixedFluxPressure;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -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 refField;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 1 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -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 sSmoothField;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 1 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -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 volVectorField;
|
||||||
|
object vSmoothField;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 1 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform (0 0 0);
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,42 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.6 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
location "0";
|
||||||
|
object voidfraction;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 1;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
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,318 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object couplingProperties;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
//===========================================================================//
|
||||||
|
// sub-models & settings
|
||||||
|
|
||||||
|
syncMode false;
|
||||||
|
//verbose;
|
||||||
|
useDDTvoidfraction;
|
||||||
|
|
||||||
|
|
||||||
|
modelType "A"; // A or B
|
||||||
|
|
||||||
|
couplingInterval 100;
|
||||||
|
|
||||||
|
voidFractionModel divided; //bigParticle; //trilinear; //centre; //divided;
|
||||||
|
|
||||||
|
locateModel engine;//turboEngineM2M;//
|
||||||
|
|
||||||
|
meshMotionModel noMeshMotion;
|
||||||
|
|
||||||
|
regionModel allRegion;
|
||||||
|
|
||||||
|
IOModel basicIO;
|
||||||
|
|
||||||
|
probeModel off; //particleProbe; //off;
|
||||||
|
|
||||||
|
dataExchangeModel twoWayMPI;//twoWayFiles;//twoWayM2M;//oneWayVTK;//
|
||||||
|
|
||||||
|
averagingModel dense;//dilute;//
|
||||||
|
|
||||||
|
clockModel standardClock;//off;
|
||||||
|
|
||||||
|
smoothingModel constDiffSmoothing; //off;// localPSizeDiffSmoothing;// constDiffSmoothing; //
|
||||||
|
|
||||||
|
forceModels
|
||||||
|
(
|
||||||
|
//GidaspowDrag
|
||||||
|
//BeetstraDrag
|
||||||
|
//DiFeliceDrag
|
||||||
|
//gradPForce
|
||||||
|
gradPForceSmooth
|
||||||
|
viscForce
|
||||||
|
KochHillDrag
|
||||||
|
//interface
|
||||||
|
//DEMbasedDrag
|
||||||
|
//RongDrag
|
||||||
|
//Archimedes
|
||||||
|
//volWeightedAverage
|
||||||
|
//totalMomentumExchange
|
||||||
|
//particleCellVolume
|
||||||
|
//fieldTimeAverage
|
||||||
|
//surfaceTensionForce
|
||||||
|
);
|
||||||
|
|
||||||
|
momCoupleModels
|
||||||
|
(
|
||||||
|
implicitCouple
|
||||||
|
);
|
||||||
|
|
||||||
|
turbulenceModelType "RASProperties";//"LESProperties";//
|
||||||
|
|
||||||
|
//===========================================================================//
|
||||||
|
// sub-model properties
|
||||||
|
|
||||||
|
localPSizeDiffSmoothingProps
|
||||||
|
{
|
||||||
|
lowerLimit 0.1;
|
||||||
|
upperLimit 1e10;
|
||||||
|
dSmoothingLength 1.5e-3;
|
||||||
|
Csmoothing 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
constDiffSmoothingProps
|
||||||
|
{
|
||||||
|
lowerLimit 0.1;
|
||||||
|
upperLimit 1e10;
|
||||||
|
smoothingLength 6e-3;
|
||||||
|
}
|
||||||
|
|
||||||
|
implicitCoupleProps
|
||||||
|
{
|
||||||
|
velFieldName "U";
|
||||||
|
granVelFieldName "Us";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
}
|
||||||
|
|
||||||
|
ArchimedesProps
|
||||||
|
{
|
||||||
|
gravityFieldName "g";
|
||||||
|
treatForceDEM true;
|
||||||
|
}
|
||||||
|
gradPForceProps
|
||||||
|
{
|
||||||
|
pFieldName "p";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
velocityFieldName "U";
|
||||||
|
//interpolation true;
|
||||||
|
}
|
||||||
|
|
||||||
|
viscForceProps
|
||||||
|
{
|
||||||
|
velocityFieldName "U";
|
||||||
|
//interpolation false;
|
||||||
|
verbose true;
|
||||||
|
}
|
||||||
|
volWeightedAverageProps
|
||||||
|
{
|
||||||
|
scalarFieldNames
|
||||||
|
(
|
||||||
|
voidfraction
|
||||||
|
);
|
||||||
|
vectorFieldNames
|
||||||
|
(
|
||||||
|
);
|
||||||
|
upperThreshold 0.999;
|
||||||
|
lowerThreshold 0;
|
||||||
|
verbose true;
|
||||||
|
}
|
||||||
|
totalMomentumExchangeProps
|
||||||
|
{
|
||||||
|
implicitMomExFieldName "Ksl";
|
||||||
|
explicitMomExFieldName "none";
|
||||||
|
fluidVelFieldName "U";
|
||||||
|
granVelFieldName "Us";
|
||||||
|
}
|
||||||
|
GidaspowDragProps
|
||||||
|
{
|
||||||
|
verbose true;
|
||||||
|
velFieldName "U";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
interpolation true;
|
||||||
|
phi 1;
|
||||||
|
}
|
||||||
|
DEMbasedDragProps
|
||||||
|
{
|
||||||
|
velFieldName "U";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
}
|
||||||
|
|
||||||
|
DiFeliceDragProps
|
||||||
|
{
|
||||||
|
//verbose true;
|
||||||
|
velFieldName "U";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
granVelFieldName "Us";
|
||||||
|
interpolation true;
|
||||||
|
}
|
||||||
|
|
||||||
|
KochHillDragProps
|
||||||
|
{
|
||||||
|
//verbose true;
|
||||||
|
velFieldName "U";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
//interpolation true;
|
||||||
|
//forceSubModels
|
||||||
|
//(
|
||||||
|
// ImExCorr
|
||||||
|
//);
|
||||||
|
implForceDEM true;
|
||||||
|
//implForceDEMaccumulated true;
|
||||||
|
//explicitCorr true;
|
||||||
|
}
|
||||||
|
|
||||||
|
BeetstraDragProps
|
||||||
|
{
|
||||||
|
velFieldName "U";
|
||||||
|
gravityFieldName "g";
|
||||||
|
rhoParticle 2000.;
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
interpolation ;
|
||||||
|
useFilteredDragModel ;
|
||||||
|
useParcelSizeDependentFilteredDrag ;
|
||||||
|
k 0.05;
|
||||||
|
aLimit 0.0;
|
||||||
|
// verbose true;
|
||||||
|
}
|
||||||
|
|
||||||
|
RongDragProps
|
||||||
|
{
|
||||||
|
verbose true;
|
||||||
|
velFieldName "U";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
interpolation true;
|
||||||
|
implForceDEM true;
|
||||||
|
implForceDEMaccumulated true;
|
||||||
|
granVelFieldName "Us";
|
||||||
|
}
|
||||||
|
|
||||||
|
virtualMassForceProps
|
||||||
|
{
|
||||||
|
velFieldName "U";
|
||||||
|
}
|
||||||
|
|
||||||
|
particleCellVolumeProps
|
||||||
|
{
|
||||||
|
upperThreshold 0.999;
|
||||||
|
lowerThreshold 0.;
|
||||||
|
verbose true;
|
||||||
|
}
|
||||||
|
|
||||||
|
fieldStoreProps
|
||||||
|
{
|
||||||
|
scalarFieldNames
|
||||||
|
(
|
||||||
|
);
|
||||||
|
|
||||||
|
vectorFieldNames
|
||||||
|
(
|
||||||
|
"U"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
oneWayVTKProps
|
||||||
|
{
|
||||||
|
couplingFilename "vtk_out%4.4d.vtk";
|
||||||
|
maxNumberOfParticles 30000;
|
||||||
|
}
|
||||||
|
|
||||||
|
twoWayFilesProps
|
||||||
|
{
|
||||||
|
maxNumberOfParticles 10100;
|
||||||
|
}
|
||||||
|
|
||||||
|
centreProps
|
||||||
|
{
|
||||||
|
alphaMin 0.1;
|
||||||
|
}
|
||||||
|
|
||||||
|
engineProps
|
||||||
|
{
|
||||||
|
treeSearch true;
|
||||||
|
}
|
||||||
|
|
||||||
|
turboEngineM2MProps
|
||||||
|
{
|
||||||
|
turboEngineProps
|
||||||
|
{
|
||||||
|
treeSearch true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dividedProps
|
||||||
|
{
|
||||||
|
alphaMin 0.01;
|
||||||
|
// porosity 0.5;
|
||||||
|
//interpolation true;
|
||||||
|
}
|
||||||
|
|
||||||
|
twoWayMPIProps
|
||||||
|
{
|
||||||
|
liggghtsPath "../DEM/in.liggghts_equilibrate";
|
||||||
|
}
|
||||||
|
twoWayM2MProps
|
||||||
|
{
|
||||||
|
maxNumberOfParticles 10100;
|
||||||
|
liggghtsPath "../DEM/in.liggghts_equilibrate";
|
||||||
|
}
|
||||||
|
surfaceTensionForceProps
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
trilinearProps
|
||||||
|
{
|
||||||
|
alphaMin 0.01;
|
||||||
|
}
|
||||||
|
|
||||||
|
bigParticleProps
|
||||||
|
{
|
||||||
|
alphaMin 0.01;
|
||||||
|
maxCellsPerParticle 1000;
|
||||||
|
porosity 100.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
gradPForceSmoothProps
|
||||||
|
{
|
||||||
|
pFieldName "p";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
velocityFieldName "U";
|
||||||
|
smoothingModel "temporalSmoothing";
|
||||||
|
//smoothingModel "constDiffSmoothing";
|
||||||
|
//interpolation true;
|
||||||
|
alpha 1000.0;
|
||||||
|
temporalSmoothingProps
|
||||||
|
{
|
||||||
|
lowerLimit 0.1;
|
||||||
|
upperLimit 1e10;
|
||||||
|
//referenceField "p";
|
||||||
|
referenceField "p_rgh";
|
||||||
|
alpha 0.01;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,318 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object couplingProperties;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
//===========================================================================//
|
||||||
|
// sub-models & settings
|
||||||
|
|
||||||
|
syncMode false;
|
||||||
|
//verbose;
|
||||||
|
useDDTvoidfraction;
|
||||||
|
|
||||||
|
|
||||||
|
modelType "A"; // A or B
|
||||||
|
|
||||||
|
couplingInterval 100;
|
||||||
|
|
||||||
|
voidFractionModel divided; //bigParticle; //trilinear; //centre; //divided;
|
||||||
|
|
||||||
|
locateModel engine;//turboEngineM2M;//
|
||||||
|
|
||||||
|
meshMotionModel noMeshMotion;
|
||||||
|
|
||||||
|
regionModel allRegion;
|
||||||
|
|
||||||
|
IOModel basicIO;
|
||||||
|
|
||||||
|
probeModel off; //particleProbe; //off;
|
||||||
|
|
||||||
|
dataExchangeModel twoWayMPI;//twoWayFiles;//twoWayM2M;//oneWayVTK;//
|
||||||
|
|
||||||
|
averagingModel dense;//dilute;//
|
||||||
|
|
||||||
|
clockModel standardClock;//off;
|
||||||
|
|
||||||
|
smoothingModel constDiffSmoothing; //off;// localPSizeDiffSmoothing;// constDiffSmoothing; //
|
||||||
|
|
||||||
|
forceModels
|
||||||
|
(
|
||||||
|
//GidaspowDrag
|
||||||
|
//BeetstraDrag
|
||||||
|
//DiFeliceDrag
|
||||||
|
//gradPForce
|
||||||
|
gradPForceSmooth
|
||||||
|
viscForce
|
||||||
|
KochHillDrag
|
||||||
|
//interface
|
||||||
|
//DEMbasedDrag
|
||||||
|
//RongDrag
|
||||||
|
//Archimedes
|
||||||
|
//volWeightedAverage
|
||||||
|
//totalMomentumExchange
|
||||||
|
//particleCellVolume
|
||||||
|
//fieldTimeAverage
|
||||||
|
//surfaceTensionForce
|
||||||
|
);
|
||||||
|
|
||||||
|
momCoupleModels
|
||||||
|
(
|
||||||
|
implicitCouple
|
||||||
|
);
|
||||||
|
|
||||||
|
turbulenceModelType "RASProperties";//"LESProperties";//
|
||||||
|
|
||||||
|
//===========================================================================//
|
||||||
|
// sub-model properties
|
||||||
|
|
||||||
|
localPSizeDiffSmoothingProps
|
||||||
|
{
|
||||||
|
lowerLimit 0.1;
|
||||||
|
upperLimit 1e10;
|
||||||
|
dSmoothingLength 1.5e-3;
|
||||||
|
Csmoothing 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
constDiffSmoothingProps
|
||||||
|
{
|
||||||
|
lowerLimit 0.1;
|
||||||
|
upperLimit 1e10;
|
||||||
|
smoothingLength 6e-3;
|
||||||
|
}
|
||||||
|
|
||||||
|
implicitCoupleProps
|
||||||
|
{
|
||||||
|
velFieldName "U";
|
||||||
|
granVelFieldName "Us";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
}
|
||||||
|
|
||||||
|
ArchimedesProps
|
||||||
|
{
|
||||||
|
gravityFieldName "g";
|
||||||
|
treatForceDEM true;
|
||||||
|
}
|
||||||
|
gradPForceProps
|
||||||
|
{
|
||||||
|
pFieldName "p";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
velocityFieldName "U";
|
||||||
|
//interpolation true;
|
||||||
|
}
|
||||||
|
|
||||||
|
viscForceProps
|
||||||
|
{
|
||||||
|
velocityFieldName "U";
|
||||||
|
//interpolation false;
|
||||||
|
verbose true;
|
||||||
|
}
|
||||||
|
volWeightedAverageProps
|
||||||
|
{
|
||||||
|
scalarFieldNames
|
||||||
|
(
|
||||||
|
voidfraction
|
||||||
|
);
|
||||||
|
vectorFieldNames
|
||||||
|
(
|
||||||
|
);
|
||||||
|
upperThreshold 0.999;
|
||||||
|
lowerThreshold 0;
|
||||||
|
verbose true;
|
||||||
|
}
|
||||||
|
totalMomentumExchangeProps
|
||||||
|
{
|
||||||
|
implicitMomExFieldName "Ksl";
|
||||||
|
explicitMomExFieldName "none";
|
||||||
|
fluidVelFieldName "U";
|
||||||
|
granVelFieldName "Us";
|
||||||
|
}
|
||||||
|
GidaspowDragProps
|
||||||
|
{
|
||||||
|
verbose true;
|
||||||
|
velFieldName "U";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
interpolation true;
|
||||||
|
phi 1;
|
||||||
|
}
|
||||||
|
DEMbasedDragProps
|
||||||
|
{
|
||||||
|
velFieldName "U";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
}
|
||||||
|
|
||||||
|
DiFeliceDragProps
|
||||||
|
{
|
||||||
|
//verbose true;
|
||||||
|
velFieldName "U";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
granVelFieldName "Us";
|
||||||
|
interpolation true;
|
||||||
|
}
|
||||||
|
|
||||||
|
KochHillDragProps
|
||||||
|
{
|
||||||
|
//verbose true;
|
||||||
|
velFieldName "U";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
//interpolation true;
|
||||||
|
//forceSubModels
|
||||||
|
//(
|
||||||
|
// ImExCorr
|
||||||
|
//);
|
||||||
|
implForceDEM true;
|
||||||
|
//implForceDEMaccumulated true;
|
||||||
|
//explicitCorr true;
|
||||||
|
}
|
||||||
|
|
||||||
|
BeetstraDragProps
|
||||||
|
{
|
||||||
|
velFieldName "U";
|
||||||
|
gravityFieldName "g";
|
||||||
|
rhoParticle 2000.;
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
interpolation ;
|
||||||
|
useFilteredDragModel ;
|
||||||
|
useParcelSizeDependentFilteredDrag ;
|
||||||
|
k 0.05;
|
||||||
|
aLimit 0.0;
|
||||||
|
// verbose true;
|
||||||
|
}
|
||||||
|
|
||||||
|
RongDragProps
|
||||||
|
{
|
||||||
|
verbose true;
|
||||||
|
velFieldName "U";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
interpolation true;
|
||||||
|
implForceDEM true;
|
||||||
|
implForceDEMaccumulated true;
|
||||||
|
granVelFieldName "Us";
|
||||||
|
}
|
||||||
|
|
||||||
|
virtualMassForceProps
|
||||||
|
{
|
||||||
|
velFieldName "U";
|
||||||
|
}
|
||||||
|
|
||||||
|
particleCellVolumeProps
|
||||||
|
{
|
||||||
|
upperThreshold 0.999;
|
||||||
|
lowerThreshold 0.;
|
||||||
|
verbose true;
|
||||||
|
}
|
||||||
|
|
||||||
|
fieldStoreProps
|
||||||
|
{
|
||||||
|
scalarFieldNames
|
||||||
|
(
|
||||||
|
);
|
||||||
|
|
||||||
|
vectorFieldNames
|
||||||
|
(
|
||||||
|
"U"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
oneWayVTKProps
|
||||||
|
{
|
||||||
|
couplingFilename "vtk_out%4.4d.vtk";
|
||||||
|
maxNumberOfParticles 30000;
|
||||||
|
}
|
||||||
|
|
||||||
|
twoWayFilesProps
|
||||||
|
{
|
||||||
|
maxNumberOfParticles 10100;
|
||||||
|
}
|
||||||
|
|
||||||
|
centreProps
|
||||||
|
{
|
||||||
|
alphaMin 0.1;
|
||||||
|
}
|
||||||
|
|
||||||
|
engineProps
|
||||||
|
{
|
||||||
|
treeSearch true;
|
||||||
|
}
|
||||||
|
|
||||||
|
turboEngineM2MProps
|
||||||
|
{
|
||||||
|
turboEngineProps
|
||||||
|
{
|
||||||
|
treeSearch true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dividedProps
|
||||||
|
{
|
||||||
|
alphaMin 0.01;
|
||||||
|
// porosity 0.5;
|
||||||
|
//interpolation true;
|
||||||
|
}
|
||||||
|
|
||||||
|
twoWayMPIProps
|
||||||
|
{
|
||||||
|
liggghtsPath "../DEM/in.liggghts_equilibrate";
|
||||||
|
}
|
||||||
|
twoWayM2MProps
|
||||||
|
{
|
||||||
|
maxNumberOfParticles 10100;
|
||||||
|
liggghtsPath "../DEM/in.liggghts_equilibrate";
|
||||||
|
}
|
||||||
|
surfaceTensionForceProps
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
trilinearProps
|
||||||
|
{
|
||||||
|
alphaMin 0.01;
|
||||||
|
}
|
||||||
|
|
||||||
|
bigParticleProps
|
||||||
|
{
|
||||||
|
alphaMin 0.01;
|
||||||
|
maxCellsPerParticle 1000;
|
||||||
|
porosity 100.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
gradPForceSmoothProps
|
||||||
|
{
|
||||||
|
pFieldName "p";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
velocityFieldName "U";
|
||||||
|
smoothingModel "temporalSmoothing";
|
||||||
|
//smoothingModel "constDiffSmoothing";
|
||||||
|
//interpolation true;
|
||||||
|
alpha 1000.0;
|
||||||
|
temporalSmoothingProps
|
||||||
|
{
|
||||||
|
lowerLimit 0.1;
|
||||||
|
upperLimit 1e10;
|
||||||
|
//referenceField "p";
|
||||||
|
referenceField "p_rgh";
|
||||||
|
alpha 0.01;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,318 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object couplingProperties;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
//===========================================================================//
|
||||||
|
// sub-models & settings
|
||||||
|
|
||||||
|
syncMode false;
|
||||||
|
//verbose;
|
||||||
|
useDDTvoidfraction;
|
||||||
|
|
||||||
|
|
||||||
|
modelType "A"; // A or B
|
||||||
|
|
||||||
|
couplingInterval 100;
|
||||||
|
|
||||||
|
voidFractionModel divided; //bigParticle; //trilinear; //centre; //divided;
|
||||||
|
|
||||||
|
locateModel engine;//turboEngineM2M;//
|
||||||
|
|
||||||
|
meshMotionModel noMeshMotion;
|
||||||
|
|
||||||
|
regionModel allRegion;
|
||||||
|
|
||||||
|
IOModel basicIO;
|
||||||
|
|
||||||
|
probeModel off; //particleProbe; //off;
|
||||||
|
|
||||||
|
dataExchangeModel twoWayMPI;//twoWayFiles;//twoWayM2M;//oneWayVTK;//
|
||||||
|
|
||||||
|
averagingModel dense;//dilute;//
|
||||||
|
|
||||||
|
clockModel standardClock;//off;
|
||||||
|
|
||||||
|
smoothingModel constDiffSmoothing; //off;// localPSizeDiffSmoothing;// constDiffSmoothing; //
|
||||||
|
|
||||||
|
forceModels
|
||||||
|
(
|
||||||
|
//GidaspowDrag
|
||||||
|
//BeetstraDrag
|
||||||
|
//DiFeliceDrag
|
||||||
|
//gradPForce
|
||||||
|
gradPForceSmooth
|
||||||
|
viscForce
|
||||||
|
KochHillDrag
|
||||||
|
//interface
|
||||||
|
//DEMbasedDrag
|
||||||
|
//RongDrag
|
||||||
|
//Archimedes
|
||||||
|
//volWeightedAverage
|
||||||
|
//totalMomentumExchange
|
||||||
|
//particleCellVolume
|
||||||
|
//fieldTimeAverage
|
||||||
|
//surfaceTensionForce
|
||||||
|
);
|
||||||
|
|
||||||
|
momCoupleModels
|
||||||
|
(
|
||||||
|
implicitCouple
|
||||||
|
);
|
||||||
|
|
||||||
|
turbulenceModelType "RASProperties";//"LESProperties";//
|
||||||
|
|
||||||
|
//===========================================================================//
|
||||||
|
// sub-model properties
|
||||||
|
|
||||||
|
localPSizeDiffSmoothingProps
|
||||||
|
{
|
||||||
|
lowerLimit 0.1;
|
||||||
|
upperLimit 1e10;
|
||||||
|
dSmoothingLength 1.5e-3;
|
||||||
|
Csmoothing 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
constDiffSmoothingProps
|
||||||
|
{
|
||||||
|
lowerLimit 0.1;
|
||||||
|
upperLimit 1e10;
|
||||||
|
smoothingLength 6e-3;
|
||||||
|
}
|
||||||
|
|
||||||
|
implicitCoupleProps
|
||||||
|
{
|
||||||
|
velFieldName "U";
|
||||||
|
granVelFieldName "Us";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
}
|
||||||
|
|
||||||
|
ArchimedesProps
|
||||||
|
{
|
||||||
|
gravityFieldName "g";
|
||||||
|
treatForceDEM true;
|
||||||
|
}
|
||||||
|
gradPForceProps
|
||||||
|
{
|
||||||
|
pFieldName "p";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
velocityFieldName "U";
|
||||||
|
//interpolation true;
|
||||||
|
}
|
||||||
|
|
||||||
|
viscForceProps
|
||||||
|
{
|
||||||
|
velocityFieldName "U";
|
||||||
|
//interpolation false;
|
||||||
|
verbose true;
|
||||||
|
}
|
||||||
|
volWeightedAverageProps
|
||||||
|
{
|
||||||
|
scalarFieldNames
|
||||||
|
(
|
||||||
|
voidfraction
|
||||||
|
);
|
||||||
|
vectorFieldNames
|
||||||
|
(
|
||||||
|
);
|
||||||
|
upperThreshold 0.999;
|
||||||
|
lowerThreshold 0;
|
||||||
|
verbose true;
|
||||||
|
}
|
||||||
|
totalMomentumExchangeProps
|
||||||
|
{
|
||||||
|
implicitMomExFieldName "Ksl";
|
||||||
|
explicitMomExFieldName "none";
|
||||||
|
fluidVelFieldName "U";
|
||||||
|
granVelFieldName "Us";
|
||||||
|
}
|
||||||
|
GidaspowDragProps
|
||||||
|
{
|
||||||
|
verbose true;
|
||||||
|
velFieldName "U";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
interpolation true;
|
||||||
|
phi 1;
|
||||||
|
}
|
||||||
|
DEMbasedDragProps
|
||||||
|
{
|
||||||
|
velFieldName "U";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
}
|
||||||
|
|
||||||
|
DiFeliceDragProps
|
||||||
|
{
|
||||||
|
//verbose true;
|
||||||
|
velFieldName "U";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
granVelFieldName "Us";
|
||||||
|
interpolation true;
|
||||||
|
}
|
||||||
|
|
||||||
|
KochHillDragProps
|
||||||
|
{
|
||||||
|
//verbose true;
|
||||||
|
velFieldName "U";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
//interpolation true;
|
||||||
|
//forceSubModels
|
||||||
|
//(
|
||||||
|
// ImExCorr
|
||||||
|
//);
|
||||||
|
implForceDEM true;
|
||||||
|
//implForceDEMaccumulated true;
|
||||||
|
//explicitCorr true;
|
||||||
|
}
|
||||||
|
|
||||||
|
BeetstraDragProps
|
||||||
|
{
|
||||||
|
velFieldName "U";
|
||||||
|
gravityFieldName "g";
|
||||||
|
rhoParticle 2000.;
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
interpolation ;
|
||||||
|
useFilteredDragModel ;
|
||||||
|
useParcelSizeDependentFilteredDrag ;
|
||||||
|
k 0.05;
|
||||||
|
aLimit 0.0;
|
||||||
|
// verbose true;
|
||||||
|
}
|
||||||
|
|
||||||
|
RongDragProps
|
||||||
|
{
|
||||||
|
verbose true;
|
||||||
|
velFieldName "U";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
interpolation true;
|
||||||
|
implForceDEM true;
|
||||||
|
implForceDEMaccumulated true;
|
||||||
|
granVelFieldName "Us";
|
||||||
|
}
|
||||||
|
|
||||||
|
virtualMassForceProps
|
||||||
|
{
|
||||||
|
velFieldName "U";
|
||||||
|
}
|
||||||
|
|
||||||
|
particleCellVolumeProps
|
||||||
|
{
|
||||||
|
upperThreshold 0.999;
|
||||||
|
lowerThreshold 0.;
|
||||||
|
verbose true;
|
||||||
|
}
|
||||||
|
|
||||||
|
fieldStoreProps
|
||||||
|
{
|
||||||
|
scalarFieldNames
|
||||||
|
(
|
||||||
|
);
|
||||||
|
|
||||||
|
vectorFieldNames
|
||||||
|
(
|
||||||
|
"U"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
oneWayVTKProps
|
||||||
|
{
|
||||||
|
couplingFilename "vtk_out%4.4d.vtk";
|
||||||
|
maxNumberOfParticles 30000;
|
||||||
|
}
|
||||||
|
|
||||||
|
twoWayFilesProps
|
||||||
|
{
|
||||||
|
maxNumberOfParticles 10100;
|
||||||
|
}
|
||||||
|
|
||||||
|
centreProps
|
||||||
|
{
|
||||||
|
alphaMin 0.1;
|
||||||
|
}
|
||||||
|
|
||||||
|
engineProps
|
||||||
|
{
|
||||||
|
treeSearch true;
|
||||||
|
}
|
||||||
|
|
||||||
|
turboEngineM2MProps
|
||||||
|
{
|
||||||
|
turboEngineProps
|
||||||
|
{
|
||||||
|
treeSearch true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dividedProps
|
||||||
|
{
|
||||||
|
alphaMin 0.01;
|
||||||
|
// porosity 0.5;
|
||||||
|
//interpolation true;
|
||||||
|
}
|
||||||
|
|
||||||
|
twoWayMPIProps
|
||||||
|
{
|
||||||
|
liggghtsPath "../DEM/in.liggghts_run";
|
||||||
|
}
|
||||||
|
twoWayM2MProps
|
||||||
|
{
|
||||||
|
maxNumberOfParticles 10100;
|
||||||
|
liggghtsPath "../DEM/in.liggghts_run";
|
||||||
|
}
|
||||||
|
surfaceTensionForceProps
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
trilinearProps
|
||||||
|
{
|
||||||
|
alphaMin 0.01;
|
||||||
|
}
|
||||||
|
|
||||||
|
bigParticleProps
|
||||||
|
{
|
||||||
|
alphaMin 0.01;
|
||||||
|
maxCellsPerParticle 1000;
|
||||||
|
porosity 100.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
gradPForceSmoothProps
|
||||||
|
{
|
||||||
|
pFieldName "p";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
velocityFieldName "U";
|
||||||
|
smoothingModel "temporalSmoothing";
|
||||||
|
//smoothingModel "constDiffSmoothing";
|
||||||
|
//interpolation true;
|
||||||
|
alpha 1000.0;
|
||||||
|
temporalSmoothingProps
|
||||||
|
{
|
||||||
|
lowerLimit 0.1;
|
||||||
|
upperLimit 1e10;
|
||||||
|
//referenceField "p";
|
||||||
|
referenceField "p_rgh";
|
||||||
|
alpha 0.01;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
// ************************************************************************* //
|
||||||
@ -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,43 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object liggghtsCommands;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
liggghtsCommandModels
|
||||||
|
(
|
||||||
|
runLiggghts
|
||||||
|
writeLiggghts
|
||||||
|
);
|
||||||
|
// ************************************************************************* //
|
||||||
|
|
||||||
|
/*runLiggghtsProps
|
||||||
|
{
|
||||||
|
preNo false;
|
||||||
|
}*/
|
||||||
|
|
||||||
|
writeLiggghtsProps
|
||||||
|
{
|
||||||
|
writeLast on;
|
||||||
|
writeName "post/restart/liggghts.restartCFDEM";
|
||||||
|
overwrite on;
|
||||||
|
}
|
||||||
@ -0,0 +1,148 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.3.0 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
object blockMeshDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
// General m4 macros
|
||||||
|
|
||||||
|
changecom(//)changequote([,]) dnl>
|
||||||
|
define(calc, [esyscmd(perl -e 'use Math::Trig; print ($1)')]) dnl>
|
||||||
|
define(VCOUNT, 0)
|
||||||
|
define(vlabel, [[// ]Vertex $1 = VCOUNT define($1, VCOUNT)define([VCOUNT], incr(VCOUNT))])
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
// User-defined parameters
|
||||||
|
convertToMeters 1;
|
||||||
|
|
||||||
|
define(cylRadius, 0.1)
|
||||||
|
define(cylHeight, 0.08)
|
||||||
|
define(sqSide, 0.1)
|
||||||
|
define(outletSize, 0.02)
|
||||||
|
define(outletStartZ, 0.04)
|
||||||
|
define(outletAngularPos, 2.5) //degrees from x-axis
|
||||||
|
define(sqCells1D, 8)
|
||||||
|
define(cylCellsRadial, 3)
|
||||||
|
define(cellsZ, 6)
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
// Derived parameters
|
||||||
|
|
||||||
|
define(sqHalf, calc(sqSide/2))
|
||||||
|
define(sq11x, calc(-sqHalf))
|
||||||
|
define(sq11y, calc(sqHalf))
|
||||||
|
define(sq1x, calc(sqHalf))
|
||||||
|
define(sq1y, calc(sqHalf))
|
||||||
|
define(sq5x, calc(sqHalf))
|
||||||
|
define(sq5y, calc(-sqHalf))
|
||||||
|
define(sq7x, calc(-sqHalf))
|
||||||
|
define(sq7y, calc(-sqHalf))
|
||||||
|
define(c11x, calc(-cylRadius*cos(pi/4)))
|
||||||
|
define(c11y, calc(cylRadius*sin(pi/4)))
|
||||||
|
define(c1x, calc(cylRadius*cos(pi/4)))
|
||||||
|
define(c1y, calc(cylRadius*sin(pi/4)))
|
||||||
|
define(c5x, calc(cylRadius*cos(pi/4)))
|
||||||
|
define(c5y, calc(-cylRadius*sin(pi/4)))
|
||||||
|
define(c7x, calc(-cylRadius*cos(pi/4)))
|
||||||
|
define(c7y, calc(-cylRadius*sin(pi/4)))
|
||||||
|
define(ipNy, calc(cylRadius))
|
||||||
|
define(ipSy, calc(-cylRadius))
|
||||||
|
define(ipWx, calc(-cylRadius))
|
||||||
|
define(ipEx, calc(cylRadius))
|
||||||
|
|
||||||
|
vertices
|
||||||
|
(
|
||||||
|
(sq11x sq11y 0) //Square 11 o'clock,bottom //0
|
||||||
|
(sq1x sq1y 0) //Square 1 o'clock,bottom //1
|
||||||
|
(sq5x sq5y 0) //Square 5 o'clock,bottom //2
|
||||||
|
(sq7x sq7y 0) //Square 7 o'clock,bottom //3
|
||||||
|
(c11x c11y 0) //Cyl 11 o'clock,bottom //4
|
||||||
|
(c1x c1y 0) //Cyl 1 o'clock,bottom //5
|
||||||
|
(c5x c5y 0) //Cyl 5 o'clock,bottom //6
|
||||||
|
(c7x c7y 0) //Cyl 7 o'clock,bottom //7
|
||||||
|
|
||||||
|
(sq11x sq11y cylHeight) //Square 11 o'clock,top //8
|
||||||
|
(sq1x sq1y cylHeight) //Square 1 o'clock,top //9
|
||||||
|
(sq5x sq5y cylHeight) //Square 5 o'clock,top //10
|
||||||
|
(sq7x sq7y cylHeight) //Square 7 o'clock,top //11
|
||||||
|
(c11x c11y cylHeight) //Cyl 11 o'clock,top //12
|
||||||
|
(c1x c1y cylHeight) //Cyl 1 o'clock,top //13
|
||||||
|
(c5x c5y cylHeight) //Cyl 5 o'clock,top //14
|
||||||
|
(c7x c7y cylHeight) //Cyl 7 o'clock,top //15
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
blocks
|
||||||
|
(
|
||||||
|
hex (3 2 1 0 11 10 9 8) (sqCells1D sqCells1D cellsZ) simpleGrading (1 1 1) //Mid-block
|
||||||
|
hex (7 3 0 4 15 11 8 12) (cylCellsRadial sqCells1D cellsZ) simpleGrading (1 1 1) //west-block
|
||||||
|
hex (0 1 5 4 8 9 13 12) (sqCells1D cylCellsRadial cellsZ) simpleGrading (1 1 1) //north-block
|
||||||
|
hex (2 6 5 1 10 14 13 9) (cylCellsRadial sqCells1D cellsZ) simpleGrading (1 1 1) //east-block
|
||||||
|
hex (7 6 2 3 15 14 10 11) (sqCells1D cylCellsRadial cellsZ) simpleGrading (1 1 1) //south-block
|
||||||
|
);
|
||||||
|
|
||||||
|
edges
|
||||||
|
(
|
||||||
|
arc 7 4 (ipWx 0 0) //west,bottom
|
||||||
|
arc 4 5 (0 ipNy 0) //north,bottom
|
||||||
|
arc 5 6 (ipEx 0 0) //east,bottom
|
||||||
|
arc 6 7 (0 ipSy 0) //south,bottom
|
||||||
|
arc 15 12 (ipWx 0 cylHeight) //west,top
|
||||||
|
arc 12 13 (0 ipNy cylHeight) //north,top
|
||||||
|
arc 13 14 (ipEx 0 cylHeight) //east,top
|
||||||
|
arc 14 15 (0 ipSy cylHeight) //south,top
|
||||||
|
);
|
||||||
|
|
||||||
|
boundary
|
||||||
|
(
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type patch;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
(8 11 10 9)
|
||||||
|
(8 12 15 11)
|
||||||
|
(8 9 13 12)
|
||||||
|
(9 10 14 13)
|
||||||
|
(10 11 15 14)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
//Bottom
|
||||||
|
(0 1 2 3)
|
||||||
|
(0 3 7 4)
|
||||||
|
(4 5 1 0)
|
||||||
|
(2 1 5 6)
|
||||||
|
(2 6 7 3)
|
||||||
|
|
||||||
|
//West
|
||||||
|
(15 12 4 7)
|
||||||
|
|
||||||
|
//North
|
||||||
|
(12 13 5 4)
|
||||||
|
|
||||||
|
//East
|
||||||
|
(13 14 6 5)
|
||||||
|
|
||||||
|
//South
|
||||||
|
(14 15 7 6)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,41 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.3.x |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class polyBoundaryMesh;
|
||||||
|
location "constant/polyMesh";
|
||||||
|
object boundary;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
3
|
||||||
|
(
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type patch;
|
||||||
|
nFaces 160;
|
||||||
|
startFace 2624;
|
||||||
|
}
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
inGroups 1(wall);
|
||||||
|
nFaces 351;
|
||||||
|
startFace 2784;
|
||||||
|
}
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type patch;
|
||||||
|
nFaces 1;
|
||||||
|
startFace 3135;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,52 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.3.0 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "constant";
|
||||||
|
object transportProperties;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
//Properties from https://www.jstage.jst.go.jp/article/tetsutohagane/100/8/100_925/_pdf
|
||||||
|
phases
|
||||||
|
(
|
||||||
|
iron
|
||||||
|
{
|
||||||
|
transportModel Newtonian;
|
||||||
|
nu nu [ 0 2 -1 0 0 0 0 ] 1.5e-07;
|
||||||
|
rho rho [ 1 -3 0 0 0 0 0 ] 6700;
|
||||||
|
}
|
||||||
|
|
||||||
|
slag
|
||||||
|
{
|
||||||
|
transportModel Newtonian;
|
||||||
|
nu nu [ 0 2 -1 0 0 0 0 ] 1.5e-04;
|
||||||
|
rho rho [ 1 -3 0 0 0 0 0 ] 2600;
|
||||||
|
}
|
||||||
|
|
||||||
|
air
|
||||||
|
{
|
||||||
|
transportModel Newtonian;
|
||||||
|
nu nu [ 0 2 -1 0 0 0 0 ] 1.3e-05;
|
||||||
|
rho rho [ 1 -3 0 0 0 0 0 ] 1.5;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
sigmas
|
||||||
|
(
|
||||||
|
(iron slag) 0.07 //??
|
||||||
|
(iron air) 0.07 //??
|
||||||
|
(slag air) 0.07 //??
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -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,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
m4 constant/polyMesh/blockMeshDict.m4 > constant/polyMesh/blockMeshDict
|
||||||
|
m4 system/topoSetDict.m4 > system/topoSetDict
|
||||||
|
blockMesh
|
||||||
|
topoSet
|
||||||
|
createPatch -overwrite
|
||||||
|
|
||||||
@ -0,0 +1,70 @@
|
|||||||
|
/*--------------------------------*- 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 5; //60
|
||||||
|
|
||||||
|
deltaT 0.005;
|
||||||
|
|
||||||
|
writeControl adjustableRunTime;
|
||||||
|
|
||||||
|
writeInterval 0.5;
|
||||||
|
|
||||||
|
purgeWrite 0;
|
||||||
|
|
||||||
|
writeFormat ascii;
|
||||||
|
|
||||||
|
writePrecision 6;
|
||||||
|
|
||||||
|
writeCompression uncompressed;
|
||||||
|
|
||||||
|
timeFormat general;
|
||||||
|
|
||||||
|
timePrecision 6;
|
||||||
|
|
||||||
|
runTimeModifiable yes;
|
||||||
|
|
||||||
|
adjustTimeStep no;
|
||||||
|
|
||||||
|
maxCo 0.1;
|
||||||
|
maxAlphaCo 0.1;
|
||||||
|
|
||||||
|
|
||||||
|
libs (
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
functions
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,70 @@
|
|||||||
|
/*--------------------------------*- 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 5; //60
|
||||||
|
|
||||||
|
deltaT 0.005;
|
||||||
|
|
||||||
|
writeControl adjustableRunTime;
|
||||||
|
|
||||||
|
writeInterval 0.5;
|
||||||
|
|
||||||
|
purgeWrite 0;
|
||||||
|
|
||||||
|
writeFormat ascii;
|
||||||
|
|
||||||
|
writePrecision 6;
|
||||||
|
|
||||||
|
writeCompression uncompressed;
|
||||||
|
|
||||||
|
timeFormat general;
|
||||||
|
|
||||||
|
timePrecision 6;
|
||||||
|
|
||||||
|
runTimeModifiable yes;
|
||||||
|
|
||||||
|
adjustTimeStep no;
|
||||||
|
|
||||||
|
maxCo 0.1;
|
||||||
|
maxAlphaCo 0.1;
|
||||||
|
|
||||||
|
|
||||||
|
libs (
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
functions
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,70 @@
|
|||||||
|
/*--------------------------------*- 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 5;
|
||||||
|
|
||||||
|
stopAt endTime;
|
||||||
|
|
||||||
|
endTime 65;
|
||||||
|
|
||||||
|
deltaT 0.005;
|
||||||
|
|
||||||
|
writeControl adjustableRunTime;
|
||||||
|
|
||||||
|
writeInterval 0.5;
|
||||||
|
|
||||||
|
purgeWrite 0;
|
||||||
|
|
||||||
|
writeFormat ascii;
|
||||||
|
|
||||||
|
writePrecision 6;
|
||||||
|
|
||||||
|
writeCompression uncompressed;
|
||||||
|
|
||||||
|
timeFormat general;
|
||||||
|
|
||||||
|
timePrecision 6;
|
||||||
|
|
||||||
|
runTimeModifiable yes;
|
||||||
|
|
||||||
|
adjustTimeStep no;
|
||||||
|
|
||||||
|
maxCo 0.1;
|
||||||
|
maxAlphaCo 0.1;
|
||||||
|
|
||||||
|
|
||||||
|
libs (
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
functions
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,32 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.3.0 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
object createPatchDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
pointSync false;
|
||||||
|
|
||||||
|
patches
|
||||||
|
(
|
||||||
|
{
|
||||||
|
name outlet;
|
||||||
|
patchInfo
|
||||||
|
{
|
||||||
|
type patch;
|
||||||
|
}
|
||||||
|
constructFrom set;
|
||||||
|
set outlet;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,86 @@
|
|||||||
|
/*-------------------------------*- C++ -*---------------------------------*\
|
||||||
|
| ========= |
|
||||||
|
| \\ / OpenFOAM |
|
||||||
|
| \\ / |
|
||||||
|
| \\ / The Open Source CFD Toolbox |
|
||||||
|
| \\/ http://www.OpenFOAM.org |
|
||||||
|
\*-------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
note "mesh decomposition control dictionary";
|
||||||
|
location "system";
|
||||||
|
object decomposeParDict;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
numberOfSubdomains 4;
|
||||||
|
|
||||||
|
//- Keep owner and neighbour on same processor for faces in zones:
|
||||||
|
// preserveFaceZones (heater solid1 solid3);
|
||||||
|
|
||||||
|
//method scotch;
|
||||||
|
// method hierarchical;
|
||||||
|
method simple;
|
||||||
|
// method metis;
|
||||||
|
// method manual;
|
||||||
|
|
||||||
|
simpleCoeffs
|
||||||
|
{
|
||||||
|
n (2 2 1);
|
||||||
|
delta 0.001;
|
||||||
|
}
|
||||||
|
|
||||||
|
hierarchicalCoeffs
|
||||||
|
{
|
||||||
|
n (2 2 1);
|
||||||
|
delta 0.001;
|
||||||
|
order xyz;
|
||||||
|
}
|
||||||
|
|
||||||
|
metisCoeffs
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
processorWeights
|
||||||
|
(
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
);
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
|
scotchCoeffs
|
||||||
|
{
|
||||||
|
//processorWeights
|
||||||
|
//(
|
||||||
|
// 1
|
||||||
|
// 1
|
||||||
|
// 1
|
||||||
|
// 1
|
||||||
|
//);
|
||||||
|
//writeGraph true;
|
||||||
|
//strategy "b";
|
||||||
|
}
|
||||||
|
|
||||||
|
manualCoeffs
|
||||||
|
{
|
||||||
|
dataFile "decompositionData";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//// Is the case distributed
|
||||||
|
//distributed yes;
|
||||||
|
//// Per slave (so nProcs-1 entries) the directory above the case.
|
||||||
|
//roots
|
||||||
|
//(
|
||||||
|
// "/tmp"
|
||||||
|
// "/tmp"
|
||||||
|
//);
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,52 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.3.0 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "system";
|
||||||
|
object funkySetFieldsDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
initVariables
|
||||||
|
(
|
||||||
|
"initIronLevel=0.04;"
|
||||||
|
"initSlagLevel=0.07;"
|
||||||
|
);
|
||||||
|
expressions
|
||||||
|
(
|
||||||
|
initAir
|
||||||
|
{
|
||||||
|
variables $initVariables;
|
||||||
|
field alpha.air;
|
||||||
|
expression "1";
|
||||||
|
condition "pos().z > initSlagLevel";
|
||||||
|
keepPatches 1; //keep boundary conditions
|
||||||
|
}
|
||||||
|
|
||||||
|
initIron
|
||||||
|
{
|
||||||
|
variables $initVariables;
|
||||||
|
field alpha.iron;
|
||||||
|
expression "1";
|
||||||
|
condition "pos().z <= initIronLevel";
|
||||||
|
keepPatches 1; //keep boundary conditions
|
||||||
|
}
|
||||||
|
|
||||||
|
initSlag
|
||||||
|
{
|
||||||
|
variables $initVariables;
|
||||||
|
field alpha.slag;
|
||||||
|
expression "1";
|
||||||
|
condition "pos().z > initIronLevel && pos().z <= initSlagLevel";
|
||||||
|
keepPatches 1; //keep boundary conditions
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
// ************************************************** *********************** //
|
||||||
@ -0,0 +1,67 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.3.0 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "system";
|
||||||
|
object fvSchemes;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
ddtSchemes
|
||||||
|
{
|
||||||
|
default Euler;
|
||||||
|
}
|
||||||
|
|
||||||
|
gradSchemes
|
||||||
|
{
|
||||||
|
default Gauss linear;
|
||||||
|
grad(U) Gauss linear;
|
||||||
|
grad(gamma) Gauss linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
divSchemes
|
||||||
|
{
|
||||||
|
div(rhoPhi,U) Gauss upwind;
|
||||||
|
div(phi,alpha) Gauss vanLeer;
|
||||||
|
div(phirb,alpha) Gauss linear;
|
||||||
|
div((muEff*dev(T(grad(U))))) Gauss linear;
|
||||||
|
div((viscousTerm*dev2(grad(U).T()))) Gauss linear;
|
||||||
|
div(((grad(U)*rho)*dev(grad(U).T()))) Gauss linear;
|
||||||
|
div(((dev(grad(U).T())*rho)*dev(grad(U).T()))) Gauss linear;
|
||||||
|
div((((((alpha.water*rho)*nu.water)|(alpha.water*rho))*rho)*dev(grad(U).T()))) Gauss linear;
|
||||||
|
div(((nu*rho)*dev(grad(U).T()))) Gauss linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
laplacianSchemes
|
||||||
|
{
|
||||||
|
default Gauss linear corrected;
|
||||||
|
}
|
||||||
|
|
||||||
|
interpolationSchemes
|
||||||
|
{
|
||||||
|
default linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
snGradSchemes
|
||||||
|
{
|
||||||
|
default corrected;
|
||||||
|
}
|
||||||
|
|
||||||
|
fluxRequired
|
||||||
|
{
|
||||||
|
default no;
|
||||||
|
pcorr;
|
||||||
|
p_rgh;
|
||||||
|
"alpha.*";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,138 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.3.0 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "system";
|
||||||
|
object fvSolution;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
solvers
|
||||||
|
{
|
||||||
|
alpha
|
||||||
|
{
|
||||||
|
nAlphaSubCycles 1;
|
||||||
|
cAlpha 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
pcorr
|
||||||
|
{
|
||||||
|
solver PCG;
|
||||||
|
preconditioner
|
||||||
|
{
|
||||||
|
preconditioner GAMG;
|
||||||
|
tolerance 1e-05;
|
||||||
|
relTol 0;
|
||||||
|
smoother GaussSeidel;
|
||||||
|
nPreSweeps 0;
|
||||||
|
nPostSweeps 2;
|
||||||
|
nFinestSweeps 2;
|
||||||
|
cacheAgglomeration on;
|
||||||
|
nCellsInCoarsestLevel 10;
|
||||||
|
agglomerator faceAreaPair;
|
||||||
|
mergeLevels 1;
|
||||||
|
}
|
||||||
|
tolerance 1e-05;
|
||||||
|
relTol 0;
|
||||||
|
maxIter 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
p_rgh
|
||||||
|
{
|
||||||
|
solver GAMG;
|
||||||
|
tolerance 1e-07;
|
||||||
|
relTol 0.05;
|
||||||
|
smoother GaussSeidel;
|
||||||
|
nPreSweeps 0;
|
||||||
|
nPostSweeps 2;
|
||||||
|
nFinestSweeps 2;
|
||||||
|
cacheAgglomeration on;
|
||||||
|
nCellsInCoarsestLevel 10;
|
||||||
|
agglomerator faceAreaPair;
|
||||||
|
mergeLevels 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
"(p_rghFinal|pSmoothFinal)"
|
||||||
|
{
|
||||||
|
solver PCG;
|
||||||
|
preconditioner
|
||||||
|
{
|
||||||
|
preconditioner GAMG;
|
||||||
|
tolerance 1e-07;
|
||||||
|
relTol 0;
|
||||||
|
nVcycles 2;
|
||||||
|
smoother GaussSeidel;
|
||||||
|
nPreSweeps 0;
|
||||||
|
nPostSweeps 2;
|
||||||
|
nFinestSweeps 2;
|
||||||
|
cacheAgglomeration on;
|
||||||
|
nCellsInCoarsestLevel 10;
|
||||||
|
agglomerator faceAreaPair;
|
||||||
|
mergeLevels 1;
|
||||||
|
}
|
||||||
|
tolerance 1e-07;
|
||||||
|
relTol 0;
|
||||||
|
maxIter 20;
|
||||||
|
}
|
||||||
|
|
||||||
|
"(k|epsilon|R|nuTilda)"
|
||||||
|
{
|
||||||
|
solver smoothSolver;
|
||||||
|
smoother GaussSeidel;
|
||||||
|
tolerance 1e-9;
|
||||||
|
relTol 0;
|
||||||
|
nSweeps 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
"(voidfraction|Us|Ksl|vSmoothField|sSmoothField|UsNext|voidfractionNext|pSmooth)"
|
||||||
|
{
|
||||||
|
solver PCG;
|
||||||
|
preconditioner DIC;
|
||||||
|
tolerance 1e-05;
|
||||||
|
relTol 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
U
|
||||||
|
{
|
||||||
|
solver smoothSolver;
|
||||||
|
smoother GaussSeidel;
|
||||||
|
tolerance 1e-08;
|
||||||
|
relTol 0.1;
|
||||||
|
nSweeps 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
UFinal
|
||||||
|
{
|
||||||
|
$U;
|
||||||
|
tolerance 1e-08;
|
||||||
|
relTol 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
PIMPLE
|
||||||
|
{
|
||||||
|
nCorrectors 2;
|
||||||
|
nNonOrthogonalCorrectors 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
relaxationFactors
|
||||||
|
{
|
||||||
|
fields
|
||||||
|
{
|
||||||
|
}
|
||||||
|
equations
|
||||||
|
{
|
||||||
|
"U.*" 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,53 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.3.0 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "system";
|
||||||
|
object setFieldsDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
defaultFieldValues
|
||||||
|
(
|
||||||
|
volScalarFieldValue alpha.air 1
|
||||||
|
volScalarFieldValue alpha.iron 0
|
||||||
|
volScalarFieldValue alpha.slag 0
|
||||||
|
);
|
||||||
|
|
||||||
|
regions
|
||||||
|
(
|
||||||
|
cylinderToCell
|
||||||
|
{
|
||||||
|
p1 (0 0 0); //center point, min
|
||||||
|
p2 (0 0 0.04); //center point, max
|
||||||
|
radius 0.1;
|
||||||
|
fieldValues
|
||||||
|
(
|
||||||
|
volScalarFieldValue alpha.iron 1
|
||||||
|
volScalarFieldValue alpha.air 0
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
cylinderToCell
|
||||||
|
{
|
||||||
|
p1 (0 0 0.04); //center point, min
|
||||||
|
p2 (0 0 0.07); //center point, max
|
||||||
|
radius 0.1;
|
||||||
|
fieldValues
|
||||||
|
(
|
||||||
|
volScalarFieldValue alpha.slag 1
|
||||||
|
volScalarFieldValue alpha.air 0
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,75 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.3.0 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
object topoSetDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
// General m4 macros
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
// User-defined parameters
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//degrees from x-axis
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
// Derived parameters
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
actions
|
||||||
|
(
|
||||||
|
{
|
||||||
|
name c_out;
|
||||||
|
type cellSet;
|
||||||
|
action new;
|
||||||
|
source boxToCell;
|
||||||
|
sourceInfo
|
||||||
|
{
|
||||||
|
box (0.0899048221581858 -0.0056380612634664 0.04)(0.109904822158186 0.0143619387365336 0.06);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
name outlet;
|
||||||
|
type faceSet;
|
||||||
|
action new;
|
||||||
|
source patchToFace;
|
||||||
|
sourceInfo
|
||||||
|
{
|
||||||
|
name "wall";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
name outlet;
|
||||||
|
type faceSet;
|
||||||
|
action subset;
|
||||||
|
source cellToFace;
|
||||||
|
sourceInfo
|
||||||
|
{
|
||||||
|
set c_out;
|
||||||
|
option all;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,77 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.3.0 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
object topoSetDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
// General m4 macros
|
||||||
|
|
||||||
|
changecom(//)changequote([,]) dnl>
|
||||||
|
define(calc, [esyscmd(perl -e 'use Math::Trig; print ($1)')]) dnl>
|
||||||
|
define(VCOUNT, 0)
|
||||||
|
define(vlabel, [[// ]Vertex $1 = VCOUNT define($1, VCOUNT)define([VCOUNT], incr(VCOUNT))])
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
// User-defined parameters
|
||||||
|
define(cylRadius, 0.1)
|
||||||
|
define(cylHeight, 0.08)
|
||||||
|
define(sqSide, 0.1)
|
||||||
|
define(outletSize, 0.02)
|
||||||
|
define(outletStartZ, 0.04)
|
||||||
|
define(outletAngularPos, 2.5) //degrees from x-axis
|
||||||
|
define(sqCells1D, 8)
|
||||||
|
define(cylCellsRadial, 3)
|
||||||
|
define(cellsZ, 6)
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
// Derived parameters
|
||||||
|
define(midPointX, calc(cylRadius*cos(outletAngularPos*pi/180)))
|
||||||
|
define(midPointY, calc(cylRadius*sin(outletAngularPos*pi/180)))
|
||||||
|
|
||||||
|
actions
|
||||||
|
(
|
||||||
|
{
|
||||||
|
name c_out;
|
||||||
|
type cellSet;
|
||||||
|
action new;
|
||||||
|
source boxToCell;
|
||||||
|
sourceInfo
|
||||||
|
{
|
||||||
|
box (calc(midPointX-0.5*outletSize) calc(midPointY-0.5*outletSize) outletStartZ)(calc(midPointX+0.5*outletSize) calc(midPointY+0.5*outletSize) calc(outletStartZ+1.0*outletSize));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
name outlet;
|
||||||
|
type faceSet;
|
||||||
|
action new;
|
||||||
|
source patchToFace;
|
||||||
|
sourceInfo
|
||||||
|
{
|
||||||
|
name "wall";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
name outlet;
|
||||||
|
type faceSet;
|
||||||
|
action subset;
|
||||||
|
source cellToFace;
|
||||||
|
sourceInfo
|
||||||
|
{
|
||||||
|
set c_out;
|
||||||
|
option all;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,143 @@
|
|||||||
|
###############################################
|
||||||
|
#geometry
|
||||||
|
variable cylRadius equal 0.1
|
||||||
|
variable cylHeight equal 0.08
|
||||||
|
|
||||||
|
# Radiuses of servo wall for force calculation
|
||||||
|
variable r1 equal 0.02
|
||||||
|
variable r2 equal 0.04
|
||||||
|
variable r3 equal 0.06
|
||||||
|
variable r4 equal 0.08
|
||||||
|
variable r5 equal 0.1
|
||||||
|
|
||||||
|
#particle variables
|
||||||
|
variable rho equal 1500 # particle density
|
||||||
|
|
||||||
|
# time parameters
|
||||||
|
variable dt equal 0.00005 # Time step
|
||||||
|
variable outInterval equal 0.5 # Dump interval to be consistent with controlDict
|
||||||
|
|
||||||
|
# DEM-parameters
|
||||||
|
variable yM equal 5.e6 # Young's modulus
|
||||||
|
variable pR equal 0.45 # Poisson ratio
|
||||||
|
variable rest equal 0.3 # coefficient of restitution
|
||||||
|
variable fric equal 0.5 # coefficient of friction
|
||||||
|
variable cV equal 0.1 # characteristic velocity
|
||||||
|
variable skin equal 0.001
|
||||||
|
|
||||||
|
# variables for the servo walls
|
||||||
|
#Pressure acting on the servo wall (Pa)
|
||||||
|
variable p1 equal 800
|
||||||
|
variable p2 equal 800
|
||||||
|
variable p3 equal 800
|
||||||
|
variable p4 equal 800
|
||||||
|
variable p5 equal 800
|
||||||
|
|
||||||
|
variable A1 equal PI*${r1}^2
|
||||||
|
variable A2 equal PI*(${r2}^2-${r1}^2)
|
||||||
|
variable A3 equal PI*(${r3}^2-${r2}^2)
|
||||||
|
variable A4 equal PI*(${r4}^2-${r3}^2)
|
||||||
|
variable A5 equal PI*(${r5}^2-${r4}^2)
|
||||||
|
|
||||||
|
variable ctrlForceR1 equal -${p1}*${A1} # target value of the force
|
||||||
|
variable ctrlForceR2 equal -${p2}*${A2} # target value of the force
|
||||||
|
variable ctrlForceR3 equal -${p3}*${A3} # target value of the force
|
||||||
|
variable ctrlForceR4 equal -${p4}*${A4} # target value of the force
|
||||||
|
variable ctrlForceR5 equal -${p5}*${A5} # target value of the force
|
||||||
|
|
||||||
|
variable maxVel equal 0.25*${skin}/${dt}
|
||||||
|
|
||||||
|
# controller parameter (servo wall)
|
||||||
|
variable ctrlKp equal 1e-2
|
||||||
|
variable ctrlKi equal 0.0
|
||||||
|
variable ctrlKd equal 0.0
|
||||||
|
|
||||||
|
# particle settling loop parameters
|
||||||
|
variable vthre equal 0.01
|
||||||
|
|
||||||
|
# calculated parameters
|
||||||
|
variable dumpInterval equal ${outInterval}/${dt}
|
||||||
|
|
||||||
|
|
||||||
|
###############################################
|
||||||
|
|
||||||
|
log ../DEM/log.liggghts
|
||||||
|
thermo_log ../DEM/post/thermo.txt
|
||||||
|
|
||||||
|
atom_style granular
|
||||||
|
atom_modify map array
|
||||||
|
communicate single vel yes
|
||||||
|
|
||||||
|
boundary f f f
|
||||||
|
newton off
|
||||||
|
|
||||||
|
units si
|
||||||
|
processors 2 2 1
|
||||||
|
|
||||||
|
# read the restart file
|
||||||
|
read_restart ../DEM/post/restart/fill.restart
|
||||||
|
|
||||||
|
neighbor ${skin} bin
|
||||||
|
neigh_modify delay 0
|
||||||
|
|
||||||
|
# Material properties required for granular pair styles
|
||||||
|
|
||||||
|
fix m1 all property/global youngsModulus peratomtype ${yM}
|
||||||
|
fix m2 all property/global poissonsRatio peratomtype ${pR}
|
||||||
|
fix m3 all property/global coefficientRestitution peratomtypepair 1 ${rest}
|
||||||
|
fix m4 all property/global coefficientFriction peratomtypepair 1 ${fric}
|
||||||
|
|
||||||
|
# pair style
|
||||||
|
pair_style gran model hertz tangential history # Hertzian without cohesion
|
||||||
|
pair_coeff * *
|
||||||
|
|
||||||
|
# timestep, gravity
|
||||||
|
timestep ${dt}
|
||||||
|
fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
|
||||||
|
|
||||||
|
# walls
|
||||||
|
fix cylWall all wall/gran model hertz tangential history primitive type 1 zcylinder 0.1 0 0
|
||||||
|
fix botWall all wall/gran model hertz tangential history primitive type 1 zplane 0
|
||||||
|
|
||||||
|
fix servoR1 all mesh/surface/stress/servo file ../DEM/stls/r1.stl type 1 scale 1. com 0 0 0 ctrlPV force axis 0. 0. 1. target_val ${ctrlForceR1} vel_max ${maxVel} kp ${ctrlKp} ki ${ctrlKi} kd ${ctrlKd} #verbose no move 0.0 0.0 7.8
|
||||||
|
|
||||||
|
fix servoR2 all mesh/surface/stress/servo file ../DEM/stls/r2.stl type 1 scale 1. com 0 0 0 ctrlPV force axis 0. 0. 1. target_val ${ctrlForceR2} vel_max ${maxVel} kp ${ctrlKp} ki ${ctrlKi} kd ${ctrlKd} #verbose no move 0.0 0.0 7.8
|
||||||
|
|
||||||
|
fix servoR3 all mesh/surface/stress/servo file ../DEM/stls/r3.stl type 1 scale 1. com 0 0 0 ctrlPV force axis 0. 0. 1. target_val ${ctrlForceR3} vel_max ${maxVel} kp ${ctrlKp} ki ${ctrlKi} kd ${ctrlKd} #verbose no move 0.0 0.0 7.8
|
||||||
|
|
||||||
|
fix servoR4 all mesh/surface/stress/servo file ../DEM/stls/r4.stl type 1 scale 1. com 0 0 0 ctrlPV force axis 0. 0. 1. target_val ${ctrlForceR4} vel_max ${maxVel} kp ${ctrlKp} ki ${ctrlKi} kd ${ctrlKd} #verbose no move 0.0 0.0 7.8
|
||||||
|
|
||||||
|
fix servoR5 all mesh/surface/stress/servo file ../DEM/stls/r5.stl type 1 scale 1. com 0 0 0 ctrlPV force axis 0. 0. 1. target_val ${ctrlForceR5} vel_max ${maxVel} kp ${ctrlKp} ki ${ctrlKi} kd ${ctrlKd} #verbose no move 0.0 0.0 7.8
|
||||||
|
|
||||||
|
fix walls all wall/gran model hertz tangential history mesh n_meshes 5 meshes servoR1 servoR2 servoR3 servoR4 servoR5
|
||||||
|
|
||||||
|
# change the particles density
|
||||||
|
set group all density ${rho}
|
||||||
|
|
||||||
|
# cfd coupling
|
||||||
|
fix cfd all couple/cfd couple_every 100000000 mpi
|
||||||
|
fix cfd2 all couple/cfd/force/implicit
|
||||||
|
|
||||||
|
# apply nve integration to all particles that are inserted as single particles
|
||||||
|
fix integr all nve/sphere
|
||||||
|
|
||||||
|
# center of mass
|
||||||
|
compute centerOfMass all com
|
||||||
|
|
||||||
|
# compute total dragforce
|
||||||
|
compute dragtotal all reduce sum f_dragforce[1] f_dragforce[2] f_dragforce[3]
|
||||||
|
|
||||||
|
# screen output
|
||||||
|
compute rke all erotate/sphere
|
||||||
|
thermo_style custom step atoms ke c_rke vol c_centerOfMass[3] c_dragtotal[1] c_dragtotal[2] c_dragtotal[3]
|
||||||
|
thermo 100
|
||||||
|
thermo_modify lost ignore norm no
|
||||||
|
compute_modify thermo_temp dynamic yes
|
||||||
|
|
||||||
|
#compute position all property/atom x y z
|
||||||
|
fix ts_check all check/timestep/gran 100 0.1 0.1
|
||||||
|
dump dmp all custom ${dumpInterval} ../DEM/post/dump*.liggghts_run id type x y z vx vy vz fx fy fz f_dragforce[1] f_dragforce[2] f_dragforce[3] radius
|
||||||
|
dump servoWall all mesh/stl ${dumpInterval} ../DEM/post/dump*.servoWall.stl servoR1 servoR2 servoR3 servoR4 servoR5
|
||||||
|
|
||||||
|
run 1
|
||||||
|
|
||||||
@ -0,0 +1,98 @@
|
|||||||
|
###############################################
|
||||||
|
#geometry
|
||||||
|
variable cylRadius equal 0.1
|
||||||
|
variable cylHeight equal 0.08
|
||||||
|
|
||||||
|
#particle variables
|
||||||
|
variable rho equal 2500 # particle density
|
||||||
|
variable radi equal 0.003 # particle radius
|
||||||
|
variable nParticles equal 17000
|
||||||
|
|
||||||
|
# time parameters
|
||||||
|
variable totTime equal 1.0 # Total runtime in seconds
|
||||||
|
variable dt equal 0.00001
|
||||||
|
variable outInterval equal 0.1 # Dump interval to be consistent with controlDict
|
||||||
|
|
||||||
|
# DEM-parameters
|
||||||
|
variable yM equal 5.e6 # Young's modulus
|
||||||
|
variable pR equal 0.45 # Poisson ratio
|
||||||
|
variable rest equal 0.3 # coefficient of restitution
|
||||||
|
variable fric equal 0.5 # coefficient of friction
|
||||||
|
variable cV equal 0.1 # characteristic velocity
|
||||||
|
variable skin equal 0.001
|
||||||
|
|
||||||
|
# calculated parameters
|
||||||
|
variable nrIterations equal ${totTime}/${dt}
|
||||||
|
variable dumpInterval equal ${outInterval}/${dt}
|
||||||
|
variable insRate equal 2*${nParticles}/${totTime}
|
||||||
|
|
||||||
|
###############################################
|
||||||
|
|
||||||
|
atom_style granular
|
||||||
|
atom_modify map array
|
||||||
|
communicate single vel yes
|
||||||
|
|
||||||
|
boundary f f f
|
||||||
|
newton off
|
||||||
|
|
||||||
|
units si
|
||||||
|
processors 2 2 1
|
||||||
|
|
||||||
|
region reg block -${cylRadius} ${cylRadius} -${cylRadius} ${cylRadius} 0 0.15 units box
|
||||||
|
create_box 1 reg
|
||||||
|
|
||||||
|
neighbor ${skin} bin
|
||||||
|
neigh_modify delay 0
|
||||||
|
|
||||||
|
|
||||||
|
# Material properties required for granular pair styles
|
||||||
|
|
||||||
|
fix m1 all property/global youngsModulus peratomtype ${yM}
|
||||||
|
fix m2 all property/global poissonsRatio peratomtype ${pR}
|
||||||
|
fix m3 all property/global coefficientRestitution peratomtypepair 1 ${rest}
|
||||||
|
fix m4 all property/global coefficientFriction peratomtypepair 1 ${fric}
|
||||||
|
|
||||||
|
# pair style
|
||||||
|
pair_style gran model hertz tangential history # Hertzian without cohesion
|
||||||
|
pair_coeff * *
|
||||||
|
|
||||||
|
# timestep, gravity
|
||||||
|
timestep ${dt}
|
||||||
|
fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
|
||||||
|
|
||||||
|
# walls
|
||||||
|
fix cylWall all wall/gran model hertz tangential history primitive type 1 zcylinder 0.1 0 0
|
||||||
|
fix botWall all wall/gran model hertz tangential history primitive type 1 zplane 0
|
||||||
|
fix cone all mesh/surface file ../DEM/stls/cone.stl type 1
|
||||||
|
|
||||||
|
fix walls all wall/gran model hertz tangential history mesh n_meshes 1 meshes cone
|
||||||
|
|
||||||
|
# particle distributions and insertion
|
||||||
|
region bc cylinder z 0 0 ${cylRadius} 0.07 0.12 #${cylHeight}
|
||||||
|
fix pts1 all particletemplate/sphere 1 atom_type 1 density constant ${rho} radius constant ${radi}
|
||||||
|
fix pdd1 all particledistribution/discrete 1 1 pts1 1.0
|
||||||
|
|
||||||
|
fix ins all insert/rate/region seed 1001 distributiontemplate pdd1 nparticles ${nParticles} particlerate ${insRate} insert_every 1000 overlapcheck yes region bc ntry_mc 10000
|
||||||
|
|
||||||
|
# apply nve integration to all particles that are inserted as single particles
|
||||||
|
fix integr all nve/sphere
|
||||||
|
|
||||||
|
# screen output
|
||||||
|
compute rke all erotate/sphere
|
||||||
|
thermo_style custom step atoms ke c_rke vol
|
||||||
|
thermo 1000
|
||||||
|
thermo_modify lost ignore norm no
|
||||||
|
compute_modify thermo_temp dynamic yes
|
||||||
|
|
||||||
|
compute pos all property/atom x y z
|
||||||
|
# insert the first particles so that dump is not empty
|
||||||
|
run 1
|
||||||
|
dump dmp all custom ${dumpInterval} post/dump*.liggghts_init id type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius c_pos[1] c_pos[2] c_pos[3]
|
||||||
|
dump myStl1 all stl ${dumpInterval} ../DEM/post/dump.liggghts_init*.stl
|
||||||
|
|
||||||
|
run ${nrIterations} upto
|
||||||
|
|
||||||
|
region particleRm cylinder z 0 0 ${cylRadius} 0.08 0.15
|
||||||
|
delete_atoms region particleRm
|
||||||
|
|
||||||
|
write_restart post/restart/fill.restart
|
||||||
@ -0,0 +1,142 @@
|
|||||||
|
###############################################
|
||||||
|
#geometry
|
||||||
|
variable cylRadius equal 0.1
|
||||||
|
variable cylHeight equal 0.08
|
||||||
|
|
||||||
|
# Radiuses of servo wall for force calculation
|
||||||
|
variable r1 equal 0.02
|
||||||
|
variable r2 equal 0.04
|
||||||
|
variable r3 equal 0.06
|
||||||
|
variable r4 equal 0.08
|
||||||
|
variable r5 equal 0.1
|
||||||
|
|
||||||
|
#particle variables
|
||||||
|
variable rho equal 1500 # particle density
|
||||||
|
|
||||||
|
# time parameters
|
||||||
|
variable dt equal 0.00005 # Time step
|
||||||
|
variable outInterval equal 0.5 # Dump interval to be consistent with controlDict
|
||||||
|
|
||||||
|
# DEM-parameters
|
||||||
|
variable yM equal 5.e6 # Young's modulus
|
||||||
|
variable pR equal 0.45 # Poisson ratio
|
||||||
|
variable rest equal 0.3 # coefficient of restitution
|
||||||
|
variable fric equal 0.5 # coefficient of friction
|
||||||
|
variable cV equal 0.1 # characteristic velocity
|
||||||
|
variable skin equal 0.001
|
||||||
|
|
||||||
|
# variables for the servo wall
|
||||||
|
#Pressure acting on the servo wall (Pa)
|
||||||
|
variable p1 equal 800
|
||||||
|
variable p2 equal 800
|
||||||
|
variable p3 equal 800
|
||||||
|
variable p4 equal 800
|
||||||
|
variable p5 equal 800
|
||||||
|
|
||||||
|
variable A1 equal PI*${r1}^2
|
||||||
|
variable A2 equal PI*(${r2}^2-${r1}^2)
|
||||||
|
variable A3 equal PI*(${r3}^2-${r2}^2)
|
||||||
|
variable A4 equal PI*(${r4}^2-${r3}^2)
|
||||||
|
variable A5 equal PI*(${r5}^2-${r4}^2)
|
||||||
|
|
||||||
|
variable ctrlForceR1 equal -${p1}*${A1} # target value of the force
|
||||||
|
variable ctrlForceR2 equal -${p2}*${A2} # target value of the force
|
||||||
|
variable ctrlForceR3 equal -${p3}*${A3} # target value of the force
|
||||||
|
variable ctrlForceR4 equal -${p4}*${A4} # target value of the force
|
||||||
|
variable ctrlForceR5 equal -${p5}*${A5} # target value of the force
|
||||||
|
|
||||||
|
variable maxVel equal 0.25*${skin}/${dt}
|
||||||
|
|
||||||
|
# controller parameter (servo wall)
|
||||||
|
variable ctrlKp equal 1e-2
|
||||||
|
variable ctrlKi equal 0.0
|
||||||
|
variable ctrlKd equal 0.0
|
||||||
|
|
||||||
|
# particle settling loop parameters
|
||||||
|
variable vthre equal 0.01
|
||||||
|
|
||||||
|
# calculated parameters
|
||||||
|
variable dumpInterval equal ${outInterval}/${dt}
|
||||||
|
|
||||||
|
|
||||||
|
###############################################
|
||||||
|
|
||||||
|
log ../DEM/log.liggghts
|
||||||
|
thermo_log ../DEM/post/thermo.txt
|
||||||
|
|
||||||
|
atom_style granular
|
||||||
|
atom_modify map array
|
||||||
|
communicate single vel yes
|
||||||
|
|
||||||
|
boundary f f f
|
||||||
|
newton off
|
||||||
|
|
||||||
|
units si
|
||||||
|
processors 2 2 1
|
||||||
|
|
||||||
|
# read the restart file
|
||||||
|
read_restart ../DEM/post/restart/liggghts.restartCFDEM_5.000000
|
||||||
|
|
||||||
|
neighbor ${skin} bin
|
||||||
|
neigh_modify delay 0
|
||||||
|
|
||||||
|
# Material properties required for granular pair styles
|
||||||
|
|
||||||
|
fix m1 all property/global youngsModulus peratomtype ${yM}
|
||||||
|
fix m2 all property/global poissonsRatio peratomtype ${pR}
|
||||||
|
fix m3 all property/global coefficientRestitution peratomtypepair 1 ${rest}
|
||||||
|
fix m4 all property/global coefficientFriction peratomtypepair 1 ${fric}
|
||||||
|
|
||||||
|
# pair style
|
||||||
|
pair_style gran model hertz tangential history # Hertzian without cohesion
|
||||||
|
pair_coeff * *
|
||||||
|
|
||||||
|
# timestep, gravity
|
||||||
|
timestep ${dt}
|
||||||
|
fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
|
||||||
|
|
||||||
|
# walls
|
||||||
|
fix cylWall all wall/gran model hertz tangential history primitive type 1 zcylinder 0.1 0 0
|
||||||
|
fix botWall all wall/gran model hertz tangential history primitive type 1 zplane 0
|
||||||
|
|
||||||
|
fix servoR1 all mesh/surface/stress/servo file ../DEM/stls/r1.stl type 1 scale 1. com 0 0 0 ctrlPV force axis 0. 0. 1. target_val ${ctrlForceR1} vel_max ${maxVel} kp ${ctrlKp} ki ${ctrlKi} kd ${ctrlKd} #verbose no move 0.0 0.0 7.8
|
||||||
|
|
||||||
|
fix servoR2 all mesh/surface/stress/servo file ../DEM/stls/r2.stl type 1 scale 1. com 0 0 0 ctrlPV force axis 0. 0. 1. target_val ${ctrlForceR2} vel_max ${maxVel} kp ${ctrlKp} ki ${ctrlKi} kd ${ctrlKd} #verbose no move 0.0 0.0 7.8
|
||||||
|
|
||||||
|
fix servoR3 all mesh/surface/stress/servo file ../DEM/stls/r3.stl type 1 scale 1. com 0 0 0 ctrlPV force axis 0. 0. 1. target_val ${ctrlForceR3} vel_max ${maxVel} kp ${ctrlKp} ki ${ctrlKi} kd ${ctrlKd} #verbose no move 0.0 0.0 7.8
|
||||||
|
|
||||||
|
fix servoR4 all mesh/surface/stress/servo file ../DEM/stls/r4.stl type 1 scale 1. com 0 0 0 ctrlPV force axis 0. 0. 1. target_val ${ctrlForceR4} vel_max ${maxVel} kp ${ctrlKp} ki ${ctrlKi} kd ${ctrlKd} #verbose no move 0.0 0.0 7.8
|
||||||
|
|
||||||
|
fix servoR5 all mesh/surface/stress/servo file ../DEM/stls/r5.stl type 1 scale 1. com 0 0 0 ctrlPV force axis 0. 0. 1. target_val ${ctrlForceR5} vel_max ${maxVel} kp ${ctrlKp} ki ${ctrlKi} kd ${ctrlKd} #verbose no move 0.0 0.0 7.8
|
||||||
|
|
||||||
|
fix walls all wall/gran model hertz tangential history mesh n_meshes 5 meshes servoR1 servoR2 servoR3 servoR4 servoR5
|
||||||
|
|
||||||
|
# change the particles density
|
||||||
|
set group all density ${rho}
|
||||||
|
|
||||||
|
# cfd coupling
|
||||||
|
fix cfd all couple/cfd couple_every 100000000 mpi
|
||||||
|
fix cfd2 all couple/cfd/force/implicit
|
||||||
|
|
||||||
|
# apply nve integration to all particles that are inserted as single particles
|
||||||
|
fix integr all nve/sphere
|
||||||
|
|
||||||
|
# center of mass
|
||||||
|
compute centerOfMass all com
|
||||||
|
|
||||||
|
# compute total dragforce
|
||||||
|
compute dragtotal all reduce sum f_dragforce[1] f_dragforce[2] f_dragforce[3]
|
||||||
|
|
||||||
|
# screen output
|
||||||
|
compute rke all erotate/sphere
|
||||||
|
thermo_style custom step atoms ke c_rke vol c_centerOfMass[3] c_dragtotal[1] c_dragtotal[2] c_dragtotal[3]
|
||||||
|
thermo 100
|
||||||
|
thermo_modify lost ignore norm no
|
||||||
|
compute_modify thermo_temp dynamic yes
|
||||||
|
|
||||||
|
#compute position all property/atom x y z
|
||||||
|
fix ts_check all check/timestep/gran 100 0.1 0.1
|
||||||
|
dump dmp all custom ${dumpInterval} ../DEM/post/dump*.liggghts_run id type x y z vx vy vz fx fy fz f_dragforce[1] f_dragforce[2] f_dragforce[3] radius
|
||||||
|
dump servoWall all mesh/stl ${dumpInterval} ../DEM/post/dump*.servoWall.stl servoR1 servoR2 servoR3 servoR4 servoR5
|
||||||
|
|
||||||
|
run 1
|
||||||
0
tutorials/cfdemSolverMultiphase/small_scale_hearth_drainage/init/DEM/post/.gitignore
vendored
Normal file
0
tutorials/cfdemSolverMultiphase/small_scale_hearth_drainage/init/DEM/post/.gitignore
vendored
Normal file
0
tutorials/cfdemSolverMultiphase/small_scale_hearth_drainage/init/DEM/post/restart/.gitignore
vendored
Normal file
0
tutorials/cfdemSolverMultiphase/small_scale_hearth_drainage/init/DEM/post/restart/.gitignore
vendored
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
31
tutorials/cfdemSolverMultiphase/small_scale_hearth_drainage/init/init.sh
Executable file
31
tutorials/cfdemSolverMultiphase/small_scale_hearth_drainage/init/init.sh
Executable file
@ -0,0 +1,31 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#===================================================================#
|
||||||
|
# allrun script for cfdemSolverMultiphase
|
||||||
|
#===================================================================#
|
||||||
|
|
||||||
|
#- define variables
|
||||||
|
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
|
||||||
|
nrProcs=4;
|
||||||
|
|
||||||
|
#fill with the particles
|
||||||
|
cd $casePath/DEM
|
||||||
|
mpirun -np $nrProcs liggghts < in.liggghts_fill |& tee $casePath/log_init
|
||||||
|
|
||||||
|
|
||||||
|
#Run 5 seconds of coupled simulation with closed outlet to equilibrate the system
|
||||||
|
cd $casePath/CFD
|
||||||
|
cp -r 0.org 0
|
||||||
|
cp system/controlDict.init system/controlDict
|
||||||
|
cp constant/couplingProperties.init constant/couplingProperties
|
||||||
|
setFields
|
||||||
|
decomposePar -force
|
||||||
|
mpirun -np $nrProcs cfdemSolverMultiphase -parallel |& tee $casePath/log_equilibrate
|
||||||
|
reconstructPar -latestTime
|
||||||
|
mv 5 $casePath/DEM/post/restart/
|
||||||
|
|
||||||
|
#switch the outlet boundary conditions to open for the run simulation, easier done manually or by using groovyBC...
|
||||||
|
perl -0777 -i.original -pe 's/ outlet\n {\n type zeroGradient;/ outlet\n {\n type fixedValue;\n value uniform 0;/igs' $casePath/DEM/post/restart/5/p_rgh
|
||||||
|
|
||||||
|
perl -0777 -i.original -pe 's/ outlet\n {\n type fixedValue;/ outlet\n {\n type inletOutlet;\n inletValue uniform (0 0 0);/igs' $casePath/DEM/post/restart/5/U
|
||||||
|
|
||||||
15
tutorials/cfdemSolverMultiphase/small_scale_hearth_drainage/init/postRun.sh
Executable file
15
tutorials/cfdemSolverMultiphase/small_scale_hearth_drainage/init/postRun.sh
Executable file
@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#- define variables
|
||||||
|
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
|
||||||
|
|
||||||
|
#- get VTK data from liggghts dump file
|
||||||
|
cd $casePath/DEM/post
|
||||||
|
python $CFDEM_LPP_DIR/lpp.py dump*.liggghts_run
|
||||||
|
|
||||||
|
#- get VTK data from CFD sim
|
||||||
|
cd $casePath/CFD
|
||||||
|
reconstructPar -zeroTime -noLagrangian
|
||||||
|
foamToVTK
|
||||||
|
|
||||||
|
#rm -r $casePath/CFD/processor*
|
||||||
25
tutorials/cfdemSolverMultiphase/small_scale_hearth_drainage/run/Allclean.sh
Executable file
25
tutorials/cfdemSolverMultiphase/small_scale_hearth_drainage/run/Allclean.sh
Executable file
@ -0,0 +1,25 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#- define variables
|
||||||
|
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
|
||||||
|
|
||||||
|
#- clean up case
|
||||||
|
echo "deleting data at: $casePath :\n"
|
||||||
|
source $WM_PROJECT_DIR/bin/tools/CleanFunctions
|
||||||
|
cd $casePath/CFD
|
||||||
|
cleanCase
|
||||||
|
rm -r $casePath/CFD/clockData
|
||||||
|
rm $casePath/DEM/post/*.*
|
||||||
|
touch $casePath/DEM/post/.gitignore
|
||||||
|
rm $casePath/log*
|
||||||
|
rm $casePath/DEM/log*
|
||||||
|
rm -r $casePath/CFD/0
|
||||||
|
|
||||||
|
echo "Remove restart files?"
|
||||||
|
echo "Enter: yes, Ctrl + C: no"
|
||||||
|
read
|
||||||
|
|
||||||
|
rm $casePath/DEM/post/restart/*.*
|
||||||
|
rm -r $casePath/DEM/post/restart/5/
|
||||||
|
|
||||||
|
|
||||||
38
tutorials/cfdemSolverMultiphase/small_scale_hearth_drainage/run/Allrun.sh
Executable file
38
tutorials/cfdemSolverMultiphase/small_scale_hearth_drainage/run/Allrun.sh
Executable file
@ -0,0 +1,38 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#===================================================================#
|
||||||
|
# allrun script for cfdemSolverMultiphase
|
||||||
|
#===================================================================#
|
||||||
|
|
||||||
|
#- define variables
|
||||||
|
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
|
||||||
|
nrProcs=4;
|
||||||
|
|
||||||
|
# check if mesh was built
|
||||||
|
if [ -f "$casePath/CFD/constant/polyMesh/points" ]; then
|
||||||
|
echo "mesh was built before - using old mesh"
|
||||||
|
else
|
||||||
|
echo "mesh needs to be built"
|
||||||
|
cd $casePath/CFD
|
||||||
|
./mesh.sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
# check if initialization was done
|
||||||
|
if [ -f "$casePath/DEM/post/restart/liggghts.restartCFDEM_5.000000" ]; then
|
||||||
|
echo "Initialization was run before - using existing restart file"
|
||||||
|
else
|
||||||
|
cd $casePath
|
||||||
|
bash init.sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
# run the drainage simulation
|
||||||
|
cd $casePath/CFD
|
||||||
|
cp system/controlDict.run system/controlDict
|
||||||
|
cp constant/couplingProperties.run constant couplingProperties
|
||||||
|
cp -r $casePath/DEM/post/restart/5/ .
|
||||||
|
decomposePar -force
|
||||||
|
mpirun -np $nrProcs cfdemSolverMultiphase -parallel |& tee $casePath/log_run
|
||||||
|
|
||||||
|
# generate files for post processing
|
||||||
|
cd $casePath
|
||||||
|
./postRun.sh
|
||||||
@ -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
|
||||||
|
{
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,43 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.3.x |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volVectorField;
|
||||||
|
location "0";
|
||||||
|
object U;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 1 -1 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform (0 0 0);
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type pressureInletOutletVelocity;
|
||||||
|
value uniform (0 0 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform (0 0 0);
|
||||||
|
}
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform (0 0 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,42 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.6 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volVectorField;
|
||||||
|
location "0";
|
||||||
|
object Us;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 1 -1 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform (0 0 0);
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,49 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.3.0 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
location "0";
|
||||||
|
object alpha.air;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type alphaContactAngle;
|
||||||
|
thetaProperties
|
||||||
|
(
|
||||||
|
( iron slag ) 90 0 0 0
|
||||||
|
( iron air ) 90 0 0 0
|
||||||
|
( slag air ) 90 0 0 0
|
||||||
|
|
||||||
|
);
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 1;
|
||||||
|
}
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,40 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.3.0 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
location "0";
|
||||||
|
object alpha.iron;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,40 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.3.0 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
location "0";
|
||||||
|
object alpha.slag;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,41 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.3.x |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
location "0";
|
||||||
|
object alphas;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -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
|
||||||
|
{
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type epsilonWallFunction;
|
||||||
|
Cmu 0.09;
|
||||||
|
kappa 0.41;
|
||||||
|
E 9.8;
|
||||||
|
value uniform 0.003;
|
||||||
|
}
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue uniform 0.003;
|
||||||
|
value uniform 0.003;
|
||||||
|
}
|
||||||
|
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 0.003;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -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 volVectorField;
|
||||||
|
object gradPSmooth;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [1 -2 -2 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform (0 0 0);
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,44 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.6 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
location "0";
|
||||||
|
object k;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 2 -2 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0.001;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type kqRWallFunction;
|
||||||
|
value uniform 0.001;
|
||||||
|
}
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue uniform 0.001;
|
||||||
|
value uniform 0.001;
|
||||||
|
}
|
||||||
|
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 0.001;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,47 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.6 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
location "0";
|
||||||
|
object nut;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 2 -1 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type nutWallFunction;
|
||||||
|
Cmu 0.09;
|
||||||
|
kappa 0.41;
|
||||||
|
E 9.8;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type calculated;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type calculated;
|
||||||
|
uniform 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -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 pSmoothField;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [1 -1 -2 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,42 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.3.0 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
object p_rgh;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [1 -1 -2 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 1000;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type fixedFluxPressure;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -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 refField;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 1 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -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 sSmoothField;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 1 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -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 volVectorField;
|
||||||
|
object vSmoothField;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 1 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform (0 0 0);
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,42 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.6 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
location "0";
|
||||||
|
object voidfraction;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 1;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
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,318 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object couplingProperties;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
//===========================================================================//
|
||||||
|
// sub-models & settings
|
||||||
|
|
||||||
|
syncMode false;
|
||||||
|
//verbose;
|
||||||
|
useDDTvoidfraction;
|
||||||
|
|
||||||
|
|
||||||
|
modelType "A"; // A or B
|
||||||
|
|
||||||
|
couplingInterval 100;
|
||||||
|
|
||||||
|
voidFractionModel divided; //bigParticle; //trilinear; //centre; //divided;
|
||||||
|
|
||||||
|
locateModel engine;//turboEngineM2M;//
|
||||||
|
|
||||||
|
meshMotionModel noMeshMotion;
|
||||||
|
|
||||||
|
regionModel allRegion;
|
||||||
|
|
||||||
|
IOModel basicIO;
|
||||||
|
|
||||||
|
probeModel off; //particleProbe; //off;
|
||||||
|
|
||||||
|
dataExchangeModel twoWayMPI;//twoWayFiles;//twoWayM2M;//oneWayVTK;//
|
||||||
|
|
||||||
|
averagingModel dense;//dilute;//
|
||||||
|
|
||||||
|
clockModel standardClock;//off;
|
||||||
|
|
||||||
|
smoothingModel constDiffSmoothing; //off;// localPSizeDiffSmoothing;// constDiffSmoothing; //
|
||||||
|
|
||||||
|
forceModels
|
||||||
|
(
|
||||||
|
//GidaspowDrag
|
||||||
|
//BeetstraDrag
|
||||||
|
//DiFeliceDrag
|
||||||
|
//gradPForce
|
||||||
|
gradPForceSmooth
|
||||||
|
viscForce
|
||||||
|
KochHillDrag
|
||||||
|
//interface
|
||||||
|
//DEMbasedDrag
|
||||||
|
//RongDrag
|
||||||
|
//Archimedes
|
||||||
|
//volWeightedAverage
|
||||||
|
//totalMomentumExchange
|
||||||
|
//particleCellVolume
|
||||||
|
//fieldTimeAverage
|
||||||
|
//surfaceTensionForce
|
||||||
|
);
|
||||||
|
|
||||||
|
momCoupleModels
|
||||||
|
(
|
||||||
|
implicitCouple
|
||||||
|
);
|
||||||
|
|
||||||
|
turbulenceModelType "RASProperties";//"LESProperties";//
|
||||||
|
|
||||||
|
//===========================================================================//
|
||||||
|
// sub-model properties
|
||||||
|
|
||||||
|
localPSizeDiffSmoothingProps
|
||||||
|
{
|
||||||
|
lowerLimit 0.1;
|
||||||
|
upperLimit 1e10;
|
||||||
|
dSmoothingLength 1.5e-3;
|
||||||
|
Csmoothing 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
constDiffSmoothingProps
|
||||||
|
{
|
||||||
|
lowerLimit 0.1;
|
||||||
|
upperLimit 1e10;
|
||||||
|
smoothingLength 6e-3;
|
||||||
|
}
|
||||||
|
|
||||||
|
implicitCoupleProps
|
||||||
|
{
|
||||||
|
velFieldName "U";
|
||||||
|
granVelFieldName "Us";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
}
|
||||||
|
|
||||||
|
ArchimedesProps
|
||||||
|
{
|
||||||
|
gravityFieldName "g";
|
||||||
|
treatForceDEM true;
|
||||||
|
}
|
||||||
|
gradPForceProps
|
||||||
|
{
|
||||||
|
pFieldName "p";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
velocityFieldName "U";
|
||||||
|
//interpolation true;
|
||||||
|
}
|
||||||
|
|
||||||
|
viscForceProps
|
||||||
|
{
|
||||||
|
velocityFieldName "U";
|
||||||
|
//interpolation false;
|
||||||
|
verbose true;
|
||||||
|
}
|
||||||
|
volWeightedAverageProps
|
||||||
|
{
|
||||||
|
scalarFieldNames
|
||||||
|
(
|
||||||
|
voidfraction
|
||||||
|
);
|
||||||
|
vectorFieldNames
|
||||||
|
(
|
||||||
|
);
|
||||||
|
upperThreshold 0.999;
|
||||||
|
lowerThreshold 0;
|
||||||
|
verbose true;
|
||||||
|
}
|
||||||
|
totalMomentumExchangeProps
|
||||||
|
{
|
||||||
|
implicitMomExFieldName "Ksl";
|
||||||
|
explicitMomExFieldName "none";
|
||||||
|
fluidVelFieldName "U";
|
||||||
|
granVelFieldName "Us";
|
||||||
|
}
|
||||||
|
GidaspowDragProps
|
||||||
|
{
|
||||||
|
verbose true;
|
||||||
|
velFieldName "U";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
interpolation true;
|
||||||
|
phi 1;
|
||||||
|
}
|
||||||
|
DEMbasedDragProps
|
||||||
|
{
|
||||||
|
velFieldName "U";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
}
|
||||||
|
|
||||||
|
DiFeliceDragProps
|
||||||
|
{
|
||||||
|
//verbose true;
|
||||||
|
velFieldName "U";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
granVelFieldName "Us";
|
||||||
|
interpolation true;
|
||||||
|
}
|
||||||
|
|
||||||
|
KochHillDragProps
|
||||||
|
{
|
||||||
|
//verbose true;
|
||||||
|
velFieldName "U";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
//interpolation true;
|
||||||
|
//forceSubModels
|
||||||
|
//(
|
||||||
|
// ImExCorr
|
||||||
|
//);
|
||||||
|
implForceDEM true;
|
||||||
|
//implForceDEMaccumulated true;
|
||||||
|
//explicitCorr true;
|
||||||
|
}
|
||||||
|
|
||||||
|
BeetstraDragProps
|
||||||
|
{
|
||||||
|
velFieldName "U";
|
||||||
|
gravityFieldName "g";
|
||||||
|
rhoParticle 2000.;
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
interpolation ;
|
||||||
|
useFilteredDragModel ;
|
||||||
|
useParcelSizeDependentFilteredDrag ;
|
||||||
|
k 0.05;
|
||||||
|
aLimit 0.0;
|
||||||
|
// verbose true;
|
||||||
|
}
|
||||||
|
|
||||||
|
RongDragProps
|
||||||
|
{
|
||||||
|
verbose true;
|
||||||
|
velFieldName "U";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
interpolation true;
|
||||||
|
implForceDEM true;
|
||||||
|
implForceDEMaccumulated true;
|
||||||
|
granVelFieldName "Us";
|
||||||
|
}
|
||||||
|
|
||||||
|
virtualMassForceProps
|
||||||
|
{
|
||||||
|
velFieldName "U";
|
||||||
|
}
|
||||||
|
|
||||||
|
particleCellVolumeProps
|
||||||
|
{
|
||||||
|
upperThreshold 0.999;
|
||||||
|
lowerThreshold 0.;
|
||||||
|
verbose true;
|
||||||
|
}
|
||||||
|
|
||||||
|
fieldStoreProps
|
||||||
|
{
|
||||||
|
scalarFieldNames
|
||||||
|
(
|
||||||
|
);
|
||||||
|
|
||||||
|
vectorFieldNames
|
||||||
|
(
|
||||||
|
"U"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
oneWayVTKProps
|
||||||
|
{
|
||||||
|
couplingFilename "vtk_out%4.4d.vtk";
|
||||||
|
maxNumberOfParticles 30000;
|
||||||
|
}
|
||||||
|
|
||||||
|
twoWayFilesProps
|
||||||
|
{
|
||||||
|
maxNumberOfParticles 10100;
|
||||||
|
}
|
||||||
|
|
||||||
|
centreProps
|
||||||
|
{
|
||||||
|
alphaMin 0.1;
|
||||||
|
}
|
||||||
|
|
||||||
|
engineProps
|
||||||
|
{
|
||||||
|
treeSearch true;
|
||||||
|
}
|
||||||
|
|
||||||
|
turboEngineM2MProps
|
||||||
|
{
|
||||||
|
turboEngineProps
|
||||||
|
{
|
||||||
|
treeSearch true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dividedProps
|
||||||
|
{
|
||||||
|
alphaMin 0.01;
|
||||||
|
// porosity 0.5;
|
||||||
|
//interpolation true;
|
||||||
|
}
|
||||||
|
|
||||||
|
twoWayMPIProps
|
||||||
|
{
|
||||||
|
liggghtsPath "../DEM/in.liggghts_equilibrate";
|
||||||
|
}
|
||||||
|
twoWayM2MProps
|
||||||
|
{
|
||||||
|
maxNumberOfParticles 10100;
|
||||||
|
liggghtsPath "../DEM/in.liggghts_equilibrate";
|
||||||
|
}
|
||||||
|
surfaceTensionForceProps
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
trilinearProps
|
||||||
|
{
|
||||||
|
alphaMin 0.01;
|
||||||
|
}
|
||||||
|
|
||||||
|
bigParticleProps
|
||||||
|
{
|
||||||
|
alphaMin 0.01;
|
||||||
|
maxCellsPerParticle 1000;
|
||||||
|
porosity 100.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
gradPForceSmoothProps
|
||||||
|
{
|
||||||
|
pFieldName "p";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
velocityFieldName "U";
|
||||||
|
smoothingModel "temporalSmoothing";
|
||||||
|
//smoothingModel "constDiffSmoothing";
|
||||||
|
//interpolation true;
|
||||||
|
alpha 1000.0;
|
||||||
|
temporalSmoothingProps
|
||||||
|
{
|
||||||
|
lowerLimit 0.1;
|
||||||
|
upperLimit 1e10;
|
||||||
|
//referenceField "p";
|
||||||
|
referenceField "p_rgh";
|
||||||
|
alpha 0.01;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,318 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object couplingProperties;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
//===========================================================================//
|
||||||
|
// sub-models & settings
|
||||||
|
|
||||||
|
syncMode false;
|
||||||
|
//verbose;
|
||||||
|
useDDTvoidfraction;
|
||||||
|
|
||||||
|
|
||||||
|
modelType "A"; // A or B
|
||||||
|
|
||||||
|
couplingInterval 100;
|
||||||
|
|
||||||
|
voidFractionModel divided; //bigParticle; //trilinear; //centre; //divided;
|
||||||
|
|
||||||
|
locateModel engine;//turboEngineM2M;//
|
||||||
|
|
||||||
|
meshMotionModel noMeshMotion;
|
||||||
|
|
||||||
|
regionModel allRegion;
|
||||||
|
|
||||||
|
IOModel basicIO;
|
||||||
|
|
||||||
|
probeModel off; //particleProbe; //off;
|
||||||
|
|
||||||
|
dataExchangeModel twoWayMPI;//twoWayFiles;//twoWayM2M;//oneWayVTK;//
|
||||||
|
|
||||||
|
averagingModel dense;//dilute;//
|
||||||
|
|
||||||
|
clockModel standardClock;//off;
|
||||||
|
|
||||||
|
smoothingModel constDiffSmoothing; //off;// localPSizeDiffSmoothing;// constDiffSmoothing; //
|
||||||
|
|
||||||
|
forceModels
|
||||||
|
(
|
||||||
|
//GidaspowDrag
|
||||||
|
//BeetstraDrag
|
||||||
|
//DiFeliceDrag
|
||||||
|
//gradPForce
|
||||||
|
gradPForceSmooth
|
||||||
|
viscForce
|
||||||
|
KochHillDrag
|
||||||
|
//interface
|
||||||
|
//DEMbasedDrag
|
||||||
|
//RongDrag
|
||||||
|
//Archimedes
|
||||||
|
//volWeightedAverage
|
||||||
|
//totalMomentumExchange
|
||||||
|
//particleCellVolume
|
||||||
|
//fieldTimeAverage
|
||||||
|
//surfaceTensionForce
|
||||||
|
);
|
||||||
|
|
||||||
|
momCoupleModels
|
||||||
|
(
|
||||||
|
implicitCouple
|
||||||
|
);
|
||||||
|
|
||||||
|
turbulenceModelType "RASProperties";//"LESProperties";//
|
||||||
|
|
||||||
|
//===========================================================================//
|
||||||
|
// sub-model properties
|
||||||
|
|
||||||
|
localPSizeDiffSmoothingProps
|
||||||
|
{
|
||||||
|
lowerLimit 0.1;
|
||||||
|
upperLimit 1e10;
|
||||||
|
dSmoothingLength 1.5e-3;
|
||||||
|
Csmoothing 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
constDiffSmoothingProps
|
||||||
|
{
|
||||||
|
lowerLimit 0.1;
|
||||||
|
upperLimit 1e10;
|
||||||
|
smoothingLength 6e-3;
|
||||||
|
}
|
||||||
|
|
||||||
|
implicitCoupleProps
|
||||||
|
{
|
||||||
|
velFieldName "U";
|
||||||
|
granVelFieldName "Us";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
}
|
||||||
|
|
||||||
|
ArchimedesProps
|
||||||
|
{
|
||||||
|
gravityFieldName "g";
|
||||||
|
treatForceDEM true;
|
||||||
|
}
|
||||||
|
gradPForceProps
|
||||||
|
{
|
||||||
|
pFieldName "p";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
velocityFieldName "U";
|
||||||
|
//interpolation true;
|
||||||
|
}
|
||||||
|
|
||||||
|
viscForceProps
|
||||||
|
{
|
||||||
|
velocityFieldName "U";
|
||||||
|
//interpolation false;
|
||||||
|
verbose true;
|
||||||
|
}
|
||||||
|
volWeightedAverageProps
|
||||||
|
{
|
||||||
|
scalarFieldNames
|
||||||
|
(
|
||||||
|
voidfraction
|
||||||
|
);
|
||||||
|
vectorFieldNames
|
||||||
|
(
|
||||||
|
);
|
||||||
|
upperThreshold 0.999;
|
||||||
|
lowerThreshold 0;
|
||||||
|
verbose true;
|
||||||
|
}
|
||||||
|
totalMomentumExchangeProps
|
||||||
|
{
|
||||||
|
implicitMomExFieldName "Ksl";
|
||||||
|
explicitMomExFieldName "none";
|
||||||
|
fluidVelFieldName "U";
|
||||||
|
granVelFieldName "Us";
|
||||||
|
}
|
||||||
|
GidaspowDragProps
|
||||||
|
{
|
||||||
|
verbose true;
|
||||||
|
velFieldName "U";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
interpolation true;
|
||||||
|
phi 1;
|
||||||
|
}
|
||||||
|
DEMbasedDragProps
|
||||||
|
{
|
||||||
|
velFieldName "U";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
}
|
||||||
|
|
||||||
|
DiFeliceDragProps
|
||||||
|
{
|
||||||
|
//verbose true;
|
||||||
|
velFieldName "U";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
granVelFieldName "Us";
|
||||||
|
interpolation true;
|
||||||
|
}
|
||||||
|
|
||||||
|
KochHillDragProps
|
||||||
|
{
|
||||||
|
//verbose true;
|
||||||
|
velFieldName "U";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
//interpolation true;
|
||||||
|
//forceSubModels
|
||||||
|
//(
|
||||||
|
// ImExCorr
|
||||||
|
//);
|
||||||
|
implForceDEM true;
|
||||||
|
//implForceDEMaccumulated true;
|
||||||
|
//explicitCorr true;
|
||||||
|
}
|
||||||
|
|
||||||
|
BeetstraDragProps
|
||||||
|
{
|
||||||
|
velFieldName "U";
|
||||||
|
gravityFieldName "g";
|
||||||
|
rhoParticle 2000.;
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
interpolation ;
|
||||||
|
useFilteredDragModel ;
|
||||||
|
useParcelSizeDependentFilteredDrag ;
|
||||||
|
k 0.05;
|
||||||
|
aLimit 0.0;
|
||||||
|
// verbose true;
|
||||||
|
}
|
||||||
|
|
||||||
|
RongDragProps
|
||||||
|
{
|
||||||
|
verbose true;
|
||||||
|
velFieldName "U";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
interpolation true;
|
||||||
|
implForceDEM true;
|
||||||
|
implForceDEMaccumulated true;
|
||||||
|
granVelFieldName "Us";
|
||||||
|
}
|
||||||
|
|
||||||
|
virtualMassForceProps
|
||||||
|
{
|
||||||
|
velFieldName "U";
|
||||||
|
}
|
||||||
|
|
||||||
|
particleCellVolumeProps
|
||||||
|
{
|
||||||
|
upperThreshold 0.999;
|
||||||
|
lowerThreshold 0.;
|
||||||
|
verbose true;
|
||||||
|
}
|
||||||
|
|
||||||
|
fieldStoreProps
|
||||||
|
{
|
||||||
|
scalarFieldNames
|
||||||
|
(
|
||||||
|
);
|
||||||
|
|
||||||
|
vectorFieldNames
|
||||||
|
(
|
||||||
|
"U"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
oneWayVTKProps
|
||||||
|
{
|
||||||
|
couplingFilename "vtk_out%4.4d.vtk";
|
||||||
|
maxNumberOfParticles 30000;
|
||||||
|
}
|
||||||
|
|
||||||
|
twoWayFilesProps
|
||||||
|
{
|
||||||
|
maxNumberOfParticles 10100;
|
||||||
|
}
|
||||||
|
|
||||||
|
centreProps
|
||||||
|
{
|
||||||
|
alphaMin 0.1;
|
||||||
|
}
|
||||||
|
|
||||||
|
engineProps
|
||||||
|
{
|
||||||
|
treeSearch true;
|
||||||
|
}
|
||||||
|
|
||||||
|
turboEngineM2MProps
|
||||||
|
{
|
||||||
|
turboEngineProps
|
||||||
|
{
|
||||||
|
treeSearch true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dividedProps
|
||||||
|
{
|
||||||
|
alphaMin 0.01;
|
||||||
|
// porosity 0.5;
|
||||||
|
//interpolation true;
|
||||||
|
}
|
||||||
|
|
||||||
|
twoWayMPIProps
|
||||||
|
{
|
||||||
|
liggghtsPath "../DEM/in.liggghts_equilibrate";
|
||||||
|
}
|
||||||
|
twoWayM2MProps
|
||||||
|
{
|
||||||
|
maxNumberOfParticles 10100;
|
||||||
|
liggghtsPath "../DEM/in.liggghts_equilibrate";
|
||||||
|
}
|
||||||
|
surfaceTensionForceProps
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
trilinearProps
|
||||||
|
{
|
||||||
|
alphaMin 0.01;
|
||||||
|
}
|
||||||
|
|
||||||
|
bigParticleProps
|
||||||
|
{
|
||||||
|
alphaMin 0.01;
|
||||||
|
maxCellsPerParticle 1000;
|
||||||
|
porosity 100.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
gradPForceSmoothProps
|
||||||
|
{
|
||||||
|
pFieldName "p";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
velocityFieldName "U";
|
||||||
|
smoothingModel "temporalSmoothing";
|
||||||
|
//smoothingModel "constDiffSmoothing";
|
||||||
|
//interpolation true;
|
||||||
|
alpha 1000.0;
|
||||||
|
temporalSmoothingProps
|
||||||
|
{
|
||||||
|
lowerLimit 0.1;
|
||||||
|
upperLimit 1e10;
|
||||||
|
//referenceField "p";
|
||||||
|
referenceField "p_rgh";
|
||||||
|
alpha 0.01;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,318 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object couplingProperties;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
//===========================================================================//
|
||||||
|
// sub-models & settings
|
||||||
|
|
||||||
|
syncMode false;
|
||||||
|
//verbose;
|
||||||
|
useDDTvoidfraction;
|
||||||
|
|
||||||
|
|
||||||
|
modelType "A"; // A or B
|
||||||
|
|
||||||
|
couplingInterval 100;
|
||||||
|
|
||||||
|
voidFractionModel divided; //bigParticle; //trilinear; //centre; //divided;
|
||||||
|
|
||||||
|
locateModel engine;//turboEngineM2M;//
|
||||||
|
|
||||||
|
meshMotionModel noMeshMotion;
|
||||||
|
|
||||||
|
regionModel allRegion;
|
||||||
|
|
||||||
|
IOModel basicIO;
|
||||||
|
|
||||||
|
probeModel off; //particleProbe; //off;
|
||||||
|
|
||||||
|
dataExchangeModel twoWayMPI;//twoWayFiles;//twoWayM2M;//oneWayVTK;//
|
||||||
|
|
||||||
|
averagingModel dense;//dilute;//
|
||||||
|
|
||||||
|
clockModel standardClock;//off;
|
||||||
|
|
||||||
|
smoothingModel constDiffSmoothing; //off;// localPSizeDiffSmoothing;// constDiffSmoothing; //
|
||||||
|
|
||||||
|
forceModels
|
||||||
|
(
|
||||||
|
//GidaspowDrag
|
||||||
|
//BeetstraDrag
|
||||||
|
//DiFeliceDrag
|
||||||
|
//gradPForce
|
||||||
|
gradPForceSmooth
|
||||||
|
viscForce
|
||||||
|
KochHillDrag
|
||||||
|
//interface
|
||||||
|
//DEMbasedDrag
|
||||||
|
//RongDrag
|
||||||
|
//Archimedes
|
||||||
|
//volWeightedAverage
|
||||||
|
//totalMomentumExchange
|
||||||
|
//particleCellVolume
|
||||||
|
//fieldTimeAverage
|
||||||
|
//surfaceTensionForce
|
||||||
|
);
|
||||||
|
|
||||||
|
momCoupleModels
|
||||||
|
(
|
||||||
|
implicitCouple
|
||||||
|
);
|
||||||
|
|
||||||
|
turbulenceModelType "RASProperties";//"LESProperties";//
|
||||||
|
|
||||||
|
//===========================================================================//
|
||||||
|
// sub-model properties
|
||||||
|
|
||||||
|
localPSizeDiffSmoothingProps
|
||||||
|
{
|
||||||
|
lowerLimit 0.1;
|
||||||
|
upperLimit 1e10;
|
||||||
|
dSmoothingLength 1.5e-3;
|
||||||
|
Csmoothing 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
constDiffSmoothingProps
|
||||||
|
{
|
||||||
|
lowerLimit 0.1;
|
||||||
|
upperLimit 1e10;
|
||||||
|
smoothingLength 6e-3;
|
||||||
|
}
|
||||||
|
|
||||||
|
implicitCoupleProps
|
||||||
|
{
|
||||||
|
velFieldName "U";
|
||||||
|
granVelFieldName "Us";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
}
|
||||||
|
|
||||||
|
ArchimedesProps
|
||||||
|
{
|
||||||
|
gravityFieldName "g";
|
||||||
|
treatForceDEM true;
|
||||||
|
}
|
||||||
|
gradPForceProps
|
||||||
|
{
|
||||||
|
pFieldName "p";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
velocityFieldName "U";
|
||||||
|
//interpolation true;
|
||||||
|
}
|
||||||
|
|
||||||
|
viscForceProps
|
||||||
|
{
|
||||||
|
velocityFieldName "U";
|
||||||
|
//interpolation false;
|
||||||
|
verbose true;
|
||||||
|
}
|
||||||
|
volWeightedAverageProps
|
||||||
|
{
|
||||||
|
scalarFieldNames
|
||||||
|
(
|
||||||
|
voidfraction
|
||||||
|
);
|
||||||
|
vectorFieldNames
|
||||||
|
(
|
||||||
|
);
|
||||||
|
upperThreshold 0.999;
|
||||||
|
lowerThreshold 0;
|
||||||
|
verbose true;
|
||||||
|
}
|
||||||
|
totalMomentumExchangeProps
|
||||||
|
{
|
||||||
|
implicitMomExFieldName "Ksl";
|
||||||
|
explicitMomExFieldName "none";
|
||||||
|
fluidVelFieldName "U";
|
||||||
|
granVelFieldName "Us";
|
||||||
|
}
|
||||||
|
GidaspowDragProps
|
||||||
|
{
|
||||||
|
verbose true;
|
||||||
|
velFieldName "U";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
interpolation true;
|
||||||
|
phi 1;
|
||||||
|
}
|
||||||
|
DEMbasedDragProps
|
||||||
|
{
|
||||||
|
velFieldName "U";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
}
|
||||||
|
|
||||||
|
DiFeliceDragProps
|
||||||
|
{
|
||||||
|
//verbose true;
|
||||||
|
velFieldName "U";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
granVelFieldName "Us";
|
||||||
|
interpolation true;
|
||||||
|
}
|
||||||
|
|
||||||
|
KochHillDragProps
|
||||||
|
{
|
||||||
|
//verbose true;
|
||||||
|
velFieldName "U";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
//interpolation true;
|
||||||
|
//forceSubModels
|
||||||
|
//(
|
||||||
|
// ImExCorr
|
||||||
|
//);
|
||||||
|
implForceDEM true;
|
||||||
|
//implForceDEMaccumulated true;
|
||||||
|
//explicitCorr true;
|
||||||
|
}
|
||||||
|
|
||||||
|
BeetstraDragProps
|
||||||
|
{
|
||||||
|
velFieldName "U";
|
||||||
|
gravityFieldName "g";
|
||||||
|
rhoParticle 2000.;
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
interpolation ;
|
||||||
|
useFilteredDragModel ;
|
||||||
|
useParcelSizeDependentFilteredDrag ;
|
||||||
|
k 0.05;
|
||||||
|
aLimit 0.0;
|
||||||
|
// verbose true;
|
||||||
|
}
|
||||||
|
|
||||||
|
RongDragProps
|
||||||
|
{
|
||||||
|
verbose true;
|
||||||
|
velFieldName "U";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
interpolation true;
|
||||||
|
implForceDEM true;
|
||||||
|
implForceDEMaccumulated true;
|
||||||
|
granVelFieldName "Us";
|
||||||
|
}
|
||||||
|
|
||||||
|
virtualMassForceProps
|
||||||
|
{
|
||||||
|
velFieldName "U";
|
||||||
|
}
|
||||||
|
|
||||||
|
particleCellVolumeProps
|
||||||
|
{
|
||||||
|
upperThreshold 0.999;
|
||||||
|
lowerThreshold 0.;
|
||||||
|
verbose true;
|
||||||
|
}
|
||||||
|
|
||||||
|
fieldStoreProps
|
||||||
|
{
|
||||||
|
scalarFieldNames
|
||||||
|
(
|
||||||
|
);
|
||||||
|
|
||||||
|
vectorFieldNames
|
||||||
|
(
|
||||||
|
"U"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
oneWayVTKProps
|
||||||
|
{
|
||||||
|
couplingFilename "vtk_out%4.4d.vtk";
|
||||||
|
maxNumberOfParticles 30000;
|
||||||
|
}
|
||||||
|
|
||||||
|
twoWayFilesProps
|
||||||
|
{
|
||||||
|
maxNumberOfParticles 10100;
|
||||||
|
}
|
||||||
|
|
||||||
|
centreProps
|
||||||
|
{
|
||||||
|
alphaMin 0.1;
|
||||||
|
}
|
||||||
|
|
||||||
|
engineProps
|
||||||
|
{
|
||||||
|
treeSearch true;
|
||||||
|
}
|
||||||
|
|
||||||
|
turboEngineM2MProps
|
||||||
|
{
|
||||||
|
turboEngineProps
|
||||||
|
{
|
||||||
|
treeSearch true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dividedProps
|
||||||
|
{
|
||||||
|
alphaMin 0.01;
|
||||||
|
// porosity 0.5;
|
||||||
|
//interpolation true;
|
||||||
|
}
|
||||||
|
|
||||||
|
twoWayMPIProps
|
||||||
|
{
|
||||||
|
liggghtsPath "../DEM/in.liggghts_run";
|
||||||
|
}
|
||||||
|
twoWayM2MProps
|
||||||
|
{
|
||||||
|
maxNumberOfParticles 10100;
|
||||||
|
liggghtsPath "../DEM/in.liggghts_run";
|
||||||
|
}
|
||||||
|
surfaceTensionForceProps
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
trilinearProps
|
||||||
|
{
|
||||||
|
alphaMin 0.01;
|
||||||
|
}
|
||||||
|
|
||||||
|
bigParticleProps
|
||||||
|
{
|
||||||
|
alphaMin 0.01;
|
||||||
|
maxCellsPerParticle 1000;
|
||||||
|
porosity 100.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
gradPForceSmoothProps
|
||||||
|
{
|
||||||
|
pFieldName "p";
|
||||||
|
voidfractionFieldName "voidfraction";
|
||||||
|
velocityFieldName "U";
|
||||||
|
smoothingModel "temporalSmoothing";
|
||||||
|
//smoothingModel "constDiffSmoothing";
|
||||||
|
//interpolation true;
|
||||||
|
alpha 1000.0;
|
||||||
|
temporalSmoothingProps
|
||||||
|
{
|
||||||
|
lowerLimit 0.1;
|
||||||
|
upperLimit 1e10;
|
||||||
|
//referenceField "p";
|
||||||
|
referenceField "p_rgh";
|
||||||
|
alpha 0.01;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
// ************************************************************************* //
|
||||||
@ -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,43 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object liggghtsCommands;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
liggghtsCommandModels
|
||||||
|
(
|
||||||
|
runLiggghts
|
||||||
|
writeLiggghts
|
||||||
|
);
|
||||||
|
// ************************************************************************* //
|
||||||
|
|
||||||
|
/*runLiggghtsProps
|
||||||
|
{
|
||||||
|
preNo false;
|
||||||
|
}*/
|
||||||
|
|
||||||
|
writeLiggghtsProps
|
||||||
|
{
|
||||||
|
writeLast on;
|
||||||
|
writeName "post/restart/liggghts.restartCFDEM";
|
||||||
|
overwrite on;
|
||||||
|
}
|
||||||
@ -0,0 +1,148 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.3.0 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
object blockMeshDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
// General m4 macros
|
||||||
|
|
||||||
|
changecom(//)changequote([,]) dnl>
|
||||||
|
define(calc, [esyscmd(perl -e 'use Math::Trig; print ($1)')]) dnl>
|
||||||
|
define(VCOUNT, 0)
|
||||||
|
define(vlabel, [[// ]Vertex $1 = VCOUNT define($1, VCOUNT)define([VCOUNT], incr(VCOUNT))])
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
// User-defined parameters
|
||||||
|
convertToMeters 1;
|
||||||
|
|
||||||
|
define(cylRadius, 0.1)
|
||||||
|
define(cylHeight, 0.08)
|
||||||
|
define(sqSide, 0.1)
|
||||||
|
define(outletSize, 0.02)
|
||||||
|
define(outletStartZ, 0.04)
|
||||||
|
define(outletAngularPos, 2.5) //degrees from x-axis
|
||||||
|
define(sqCells1D, 8)
|
||||||
|
define(cylCellsRadial, 3)
|
||||||
|
define(cellsZ, 6)
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
// Derived parameters
|
||||||
|
|
||||||
|
define(sqHalf, calc(sqSide/2))
|
||||||
|
define(sq11x, calc(-sqHalf))
|
||||||
|
define(sq11y, calc(sqHalf))
|
||||||
|
define(sq1x, calc(sqHalf))
|
||||||
|
define(sq1y, calc(sqHalf))
|
||||||
|
define(sq5x, calc(sqHalf))
|
||||||
|
define(sq5y, calc(-sqHalf))
|
||||||
|
define(sq7x, calc(-sqHalf))
|
||||||
|
define(sq7y, calc(-sqHalf))
|
||||||
|
define(c11x, calc(-cylRadius*cos(pi/4)))
|
||||||
|
define(c11y, calc(cylRadius*sin(pi/4)))
|
||||||
|
define(c1x, calc(cylRadius*cos(pi/4)))
|
||||||
|
define(c1y, calc(cylRadius*sin(pi/4)))
|
||||||
|
define(c5x, calc(cylRadius*cos(pi/4)))
|
||||||
|
define(c5y, calc(-cylRadius*sin(pi/4)))
|
||||||
|
define(c7x, calc(-cylRadius*cos(pi/4)))
|
||||||
|
define(c7y, calc(-cylRadius*sin(pi/4)))
|
||||||
|
define(ipNy, calc(cylRadius))
|
||||||
|
define(ipSy, calc(-cylRadius))
|
||||||
|
define(ipWx, calc(-cylRadius))
|
||||||
|
define(ipEx, calc(cylRadius))
|
||||||
|
|
||||||
|
vertices
|
||||||
|
(
|
||||||
|
(sq11x sq11y 0) //Square 11 o'clock,bottom //0
|
||||||
|
(sq1x sq1y 0) //Square 1 o'clock,bottom //1
|
||||||
|
(sq5x sq5y 0) //Square 5 o'clock,bottom //2
|
||||||
|
(sq7x sq7y 0) //Square 7 o'clock,bottom //3
|
||||||
|
(c11x c11y 0) //Cyl 11 o'clock,bottom //4
|
||||||
|
(c1x c1y 0) //Cyl 1 o'clock,bottom //5
|
||||||
|
(c5x c5y 0) //Cyl 5 o'clock,bottom //6
|
||||||
|
(c7x c7y 0) //Cyl 7 o'clock,bottom //7
|
||||||
|
|
||||||
|
(sq11x sq11y cylHeight) //Square 11 o'clock,top //8
|
||||||
|
(sq1x sq1y cylHeight) //Square 1 o'clock,top //9
|
||||||
|
(sq5x sq5y cylHeight) //Square 5 o'clock,top //10
|
||||||
|
(sq7x sq7y cylHeight) //Square 7 o'clock,top //11
|
||||||
|
(c11x c11y cylHeight) //Cyl 11 o'clock,top //12
|
||||||
|
(c1x c1y cylHeight) //Cyl 1 o'clock,top //13
|
||||||
|
(c5x c5y cylHeight) //Cyl 5 o'clock,top //14
|
||||||
|
(c7x c7y cylHeight) //Cyl 7 o'clock,top //15
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
blocks
|
||||||
|
(
|
||||||
|
hex (3 2 1 0 11 10 9 8) (sqCells1D sqCells1D cellsZ) simpleGrading (1 1 1) //Mid-block
|
||||||
|
hex (7 3 0 4 15 11 8 12) (cylCellsRadial sqCells1D cellsZ) simpleGrading (1 1 1) //west-block
|
||||||
|
hex (0 1 5 4 8 9 13 12) (sqCells1D cylCellsRadial cellsZ) simpleGrading (1 1 1) //north-block
|
||||||
|
hex (2 6 5 1 10 14 13 9) (cylCellsRadial sqCells1D cellsZ) simpleGrading (1 1 1) //east-block
|
||||||
|
hex (7 6 2 3 15 14 10 11) (sqCells1D cylCellsRadial cellsZ) simpleGrading (1 1 1) //south-block
|
||||||
|
);
|
||||||
|
|
||||||
|
edges
|
||||||
|
(
|
||||||
|
arc 7 4 (ipWx 0 0) //west,bottom
|
||||||
|
arc 4 5 (0 ipNy 0) //north,bottom
|
||||||
|
arc 5 6 (ipEx 0 0) //east,bottom
|
||||||
|
arc 6 7 (0 ipSy 0) //south,bottom
|
||||||
|
arc 15 12 (ipWx 0 cylHeight) //west,top
|
||||||
|
arc 12 13 (0 ipNy cylHeight) //north,top
|
||||||
|
arc 13 14 (ipEx 0 cylHeight) //east,top
|
||||||
|
arc 14 15 (0 ipSy cylHeight) //south,top
|
||||||
|
);
|
||||||
|
|
||||||
|
boundary
|
||||||
|
(
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type patch;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
(8 11 10 9)
|
||||||
|
(8 12 15 11)
|
||||||
|
(8 9 13 12)
|
||||||
|
(9 10 14 13)
|
||||||
|
(10 11 15 14)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
//Bottom
|
||||||
|
(0 1 2 3)
|
||||||
|
(0 3 7 4)
|
||||||
|
(4 5 1 0)
|
||||||
|
(2 1 5 6)
|
||||||
|
(2 6 7 3)
|
||||||
|
|
||||||
|
//West
|
||||||
|
(15 12 4 7)
|
||||||
|
|
||||||
|
//North
|
||||||
|
(12 13 5 4)
|
||||||
|
|
||||||
|
//East
|
||||||
|
(13 14 6 5)
|
||||||
|
|
||||||
|
//South
|
||||||
|
(14 15 7 6)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,41 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.3.x |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class polyBoundaryMesh;
|
||||||
|
location "constant/polyMesh";
|
||||||
|
object boundary;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
3
|
||||||
|
(
|
||||||
|
atmosphere
|
||||||
|
{
|
||||||
|
type patch;
|
||||||
|
nFaces 160;
|
||||||
|
startFace 2624;
|
||||||
|
}
|
||||||
|
walls
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
inGroups 1(wall);
|
||||||
|
nFaces 351;
|
||||||
|
startFace 2784;
|
||||||
|
}
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type patch;
|
||||||
|
nFaces 1;
|
||||||
|
startFace 3135;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,52 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.3.0 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "constant";
|
||||||
|
object transportProperties;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
//Properties from https://www.jstage.jst.go.jp/article/tetsutohagane/100/8/100_925/_pdf
|
||||||
|
phases
|
||||||
|
(
|
||||||
|
iron
|
||||||
|
{
|
||||||
|
transportModel Newtonian;
|
||||||
|
nu nu [ 0 2 -1 0 0 0 0 ] 1.5e-07;
|
||||||
|
rho rho [ 1 -3 0 0 0 0 0 ] 6700;
|
||||||
|
}
|
||||||
|
|
||||||
|
slag
|
||||||
|
{
|
||||||
|
transportModel Newtonian;
|
||||||
|
nu nu [ 0 2 -1 0 0 0 0 ] 1.5e-04;
|
||||||
|
rho rho [ 1 -3 0 0 0 0 0 ] 2600;
|
||||||
|
}
|
||||||
|
|
||||||
|
air
|
||||||
|
{
|
||||||
|
transportModel Newtonian;
|
||||||
|
nu nu [ 0 2 -1 0 0 0 0 ] 1.3e-05;
|
||||||
|
rho rho [ 1 -3 0 0 0 0 0 ] 1.5;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
sigmas
|
||||||
|
(
|
||||||
|
(iron slag) 0.07 //??
|
||||||
|
(iron air) 0.07 //??
|
||||||
|
(slag air) 0.07 //??
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -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,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
m4 constant/polyMesh/blockMeshDict.m4 > constant/polyMesh/blockMeshDict
|
||||||
|
m4 system/topoSetDict.m4 > system/topoSetDict
|
||||||
|
blockMesh
|
||||||
|
topoSet
|
||||||
|
createPatch -overwrite
|
||||||
|
|
||||||
@ -0,0 +1,70 @@
|
|||||||
|
/*--------------------------------*- 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 5; //60
|
||||||
|
|
||||||
|
deltaT 0.005;
|
||||||
|
|
||||||
|
writeControl adjustableRunTime;
|
||||||
|
|
||||||
|
writeInterval 0.5;
|
||||||
|
|
||||||
|
purgeWrite 0;
|
||||||
|
|
||||||
|
writeFormat ascii;
|
||||||
|
|
||||||
|
writePrecision 6;
|
||||||
|
|
||||||
|
writeCompression uncompressed;
|
||||||
|
|
||||||
|
timeFormat general;
|
||||||
|
|
||||||
|
timePrecision 6;
|
||||||
|
|
||||||
|
runTimeModifiable yes;
|
||||||
|
|
||||||
|
adjustTimeStep no;
|
||||||
|
|
||||||
|
maxCo 0.1;
|
||||||
|
maxAlphaCo 0.1;
|
||||||
|
|
||||||
|
|
||||||
|
libs (
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
functions
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,70 @@
|
|||||||
|
/*--------------------------------*- 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 5; //60
|
||||||
|
|
||||||
|
deltaT 0.005;
|
||||||
|
|
||||||
|
writeControl adjustableRunTime;
|
||||||
|
|
||||||
|
writeInterval 0.5;
|
||||||
|
|
||||||
|
purgeWrite 0;
|
||||||
|
|
||||||
|
writeFormat ascii;
|
||||||
|
|
||||||
|
writePrecision 6;
|
||||||
|
|
||||||
|
writeCompression uncompressed;
|
||||||
|
|
||||||
|
timeFormat general;
|
||||||
|
|
||||||
|
timePrecision 6;
|
||||||
|
|
||||||
|
runTimeModifiable yes;
|
||||||
|
|
||||||
|
adjustTimeStep no;
|
||||||
|
|
||||||
|
maxCo 0.1;
|
||||||
|
maxAlphaCo 0.1;
|
||||||
|
|
||||||
|
|
||||||
|
libs (
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
functions
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,70 @@
|
|||||||
|
/*--------------------------------*- 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 5;
|
||||||
|
|
||||||
|
stopAt endTime;
|
||||||
|
|
||||||
|
endTime 65;
|
||||||
|
|
||||||
|
deltaT 0.005;
|
||||||
|
|
||||||
|
writeControl adjustableRunTime;
|
||||||
|
|
||||||
|
writeInterval 0.5;
|
||||||
|
|
||||||
|
purgeWrite 0;
|
||||||
|
|
||||||
|
writeFormat ascii;
|
||||||
|
|
||||||
|
writePrecision 6;
|
||||||
|
|
||||||
|
writeCompression uncompressed;
|
||||||
|
|
||||||
|
timeFormat general;
|
||||||
|
|
||||||
|
timePrecision 6;
|
||||||
|
|
||||||
|
runTimeModifiable yes;
|
||||||
|
|
||||||
|
adjustTimeStep no;
|
||||||
|
|
||||||
|
maxCo 0.1;
|
||||||
|
maxAlphaCo 0.1;
|
||||||
|
|
||||||
|
|
||||||
|
libs (
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
functions
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,32 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.3.0 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
object createPatchDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
pointSync false;
|
||||||
|
|
||||||
|
patches
|
||||||
|
(
|
||||||
|
{
|
||||||
|
name outlet;
|
||||||
|
patchInfo
|
||||||
|
{
|
||||||
|
type patch;
|
||||||
|
}
|
||||||
|
constructFrom set;
|
||||||
|
set outlet;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,86 @@
|
|||||||
|
/*-------------------------------*- C++ -*---------------------------------*\
|
||||||
|
| ========= |
|
||||||
|
| \\ / OpenFOAM |
|
||||||
|
| \\ / |
|
||||||
|
| \\ / The Open Source CFD Toolbox |
|
||||||
|
| \\/ http://www.OpenFOAM.org |
|
||||||
|
\*-------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
note "mesh decomposition control dictionary";
|
||||||
|
location "system";
|
||||||
|
object decomposeParDict;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
numberOfSubdomains 4;
|
||||||
|
|
||||||
|
//- Keep owner and neighbour on same processor for faces in zones:
|
||||||
|
// preserveFaceZones (heater solid1 solid3);
|
||||||
|
|
||||||
|
//method scotch;
|
||||||
|
// method hierarchical;
|
||||||
|
method simple;
|
||||||
|
// method metis;
|
||||||
|
// method manual;
|
||||||
|
|
||||||
|
simpleCoeffs
|
||||||
|
{
|
||||||
|
n (2 2 1);
|
||||||
|
delta 0.001;
|
||||||
|
}
|
||||||
|
|
||||||
|
hierarchicalCoeffs
|
||||||
|
{
|
||||||
|
n (2 2 1);
|
||||||
|
delta 0.001;
|
||||||
|
order xyz;
|
||||||
|
}
|
||||||
|
|
||||||
|
metisCoeffs
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
processorWeights
|
||||||
|
(
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
);
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
|
scotchCoeffs
|
||||||
|
{
|
||||||
|
//processorWeights
|
||||||
|
//(
|
||||||
|
// 1
|
||||||
|
// 1
|
||||||
|
// 1
|
||||||
|
// 1
|
||||||
|
//);
|
||||||
|
//writeGraph true;
|
||||||
|
//strategy "b";
|
||||||
|
}
|
||||||
|
|
||||||
|
manualCoeffs
|
||||||
|
{
|
||||||
|
dataFile "decompositionData";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//// Is the case distributed
|
||||||
|
//distributed yes;
|
||||||
|
//// Per slave (so nProcs-1 entries) the directory above the case.
|
||||||
|
//roots
|
||||||
|
//(
|
||||||
|
// "/tmp"
|
||||||
|
// "/tmp"
|
||||||
|
//);
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,52 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.3.0 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "system";
|
||||||
|
object funkySetFieldsDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
initVariables
|
||||||
|
(
|
||||||
|
"initIronLevel=0.04;"
|
||||||
|
"initSlagLevel=0.07;"
|
||||||
|
);
|
||||||
|
expressions
|
||||||
|
(
|
||||||
|
initAir
|
||||||
|
{
|
||||||
|
variables $initVariables;
|
||||||
|
field alpha.air;
|
||||||
|
expression "1";
|
||||||
|
condition "pos().z > initSlagLevel";
|
||||||
|
keepPatches 1; //keep boundary conditions
|
||||||
|
}
|
||||||
|
|
||||||
|
initIron
|
||||||
|
{
|
||||||
|
variables $initVariables;
|
||||||
|
field alpha.iron;
|
||||||
|
expression "1";
|
||||||
|
condition "pos().z <= initIronLevel";
|
||||||
|
keepPatches 1; //keep boundary conditions
|
||||||
|
}
|
||||||
|
|
||||||
|
initSlag
|
||||||
|
{
|
||||||
|
variables $initVariables;
|
||||||
|
field alpha.slag;
|
||||||
|
expression "1";
|
||||||
|
condition "pos().z > initIronLevel && pos().z <= initSlagLevel";
|
||||||
|
keepPatches 1; //keep boundary conditions
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
// ************************************************** *********************** //
|
||||||
@ -0,0 +1,67 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.3.0 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "system";
|
||||||
|
object fvSchemes;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
ddtSchemes
|
||||||
|
{
|
||||||
|
default Euler;
|
||||||
|
}
|
||||||
|
|
||||||
|
gradSchemes
|
||||||
|
{
|
||||||
|
default Gauss linear;
|
||||||
|
grad(U) Gauss linear;
|
||||||
|
grad(gamma) Gauss linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
divSchemes
|
||||||
|
{
|
||||||
|
div(rhoPhi,U) Gauss upwind;
|
||||||
|
div(phi,alpha) Gauss vanLeer;
|
||||||
|
div(phirb,alpha) Gauss linear;
|
||||||
|
div((muEff*dev(T(grad(U))))) Gauss linear;
|
||||||
|
div((viscousTerm*dev2(grad(U).T()))) Gauss linear;
|
||||||
|
div(((grad(U)*rho)*dev(grad(U).T()))) Gauss linear;
|
||||||
|
div(((dev(grad(U).T())*rho)*dev(grad(U).T()))) Gauss linear;
|
||||||
|
div((((((alpha.water*rho)*nu.water)|(alpha.water*rho))*rho)*dev(grad(U).T()))) Gauss linear;
|
||||||
|
div(((nu*rho)*dev(grad(U).T()))) Gauss linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
laplacianSchemes
|
||||||
|
{
|
||||||
|
default Gauss linear corrected;
|
||||||
|
}
|
||||||
|
|
||||||
|
interpolationSchemes
|
||||||
|
{
|
||||||
|
default linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
snGradSchemes
|
||||||
|
{
|
||||||
|
default corrected;
|
||||||
|
}
|
||||||
|
|
||||||
|
fluxRequired
|
||||||
|
{
|
||||||
|
default no;
|
||||||
|
pcorr;
|
||||||
|
p_rgh;
|
||||||
|
"alpha.*";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,138 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.3.0 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "system";
|
||||||
|
object fvSolution;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
solvers
|
||||||
|
{
|
||||||
|
alpha
|
||||||
|
{
|
||||||
|
nAlphaSubCycles 1;
|
||||||
|
cAlpha 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
pcorr
|
||||||
|
{
|
||||||
|
solver PCG;
|
||||||
|
preconditioner
|
||||||
|
{
|
||||||
|
preconditioner GAMG;
|
||||||
|
tolerance 1e-05;
|
||||||
|
relTol 0;
|
||||||
|
smoother GaussSeidel;
|
||||||
|
nPreSweeps 0;
|
||||||
|
nPostSweeps 2;
|
||||||
|
nFinestSweeps 2;
|
||||||
|
cacheAgglomeration on;
|
||||||
|
nCellsInCoarsestLevel 10;
|
||||||
|
agglomerator faceAreaPair;
|
||||||
|
mergeLevels 1;
|
||||||
|
}
|
||||||
|
tolerance 1e-05;
|
||||||
|
relTol 0;
|
||||||
|
maxIter 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
p_rgh
|
||||||
|
{
|
||||||
|
solver GAMG;
|
||||||
|
tolerance 1e-07;
|
||||||
|
relTol 0.05;
|
||||||
|
smoother GaussSeidel;
|
||||||
|
nPreSweeps 0;
|
||||||
|
nPostSweeps 2;
|
||||||
|
nFinestSweeps 2;
|
||||||
|
cacheAgglomeration on;
|
||||||
|
nCellsInCoarsestLevel 10;
|
||||||
|
agglomerator faceAreaPair;
|
||||||
|
mergeLevels 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
"(p_rghFinal|pSmoothFinal)"
|
||||||
|
{
|
||||||
|
solver PCG;
|
||||||
|
preconditioner
|
||||||
|
{
|
||||||
|
preconditioner GAMG;
|
||||||
|
tolerance 1e-07;
|
||||||
|
relTol 0;
|
||||||
|
nVcycles 2;
|
||||||
|
smoother GaussSeidel;
|
||||||
|
nPreSweeps 0;
|
||||||
|
nPostSweeps 2;
|
||||||
|
nFinestSweeps 2;
|
||||||
|
cacheAgglomeration on;
|
||||||
|
nCellsInCoarsestLevel 10;
|
||||||
|
agglomerator faceAreaPair;
|
||||||
|
mergeLevels 1;
|
||||||
|
}
|
||||||
|
tolerance 1e-07;
|
||||||
|
relTol 0;
|
||||||
|
maxIter 20;
|
||||||
|
}
|
||||||
|
|
||||||
|
"(k|epsilon|R|nuTilda)"
|
||||||
|
{
|
||||||
|
solver smoothSolver;
|
||||||
|
smoother GaussSeidel;
|
||||||
|
tolerance 1e-9;
|
||||||
|
relTol 0;
|
||||||
|
nSweeps 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
"(voidfraction|Us|Ksl|vSmoothField|sSmoothField|UsNext|voidfractionNext|pSmooth)"
|
||||||
|
{
|
||||||
|
solver PCG;
|
||||||
|
preconditioner DIC;
|
||||||
|
tolerance 1e-05;
|
||||||
|
relTol 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
U
|
||||||
|
{
|
||||||
|
solver smoothSolver;
|
||||||
|
smoother GaussSeidel;
|
||||||
|
tolerance 1e-08;
|
||||||
|
relTol 0.1;
|
||||||
|
nSweeps 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
UFinal
|
||||||
|
{
|
||||||
|
$U;
|
||||||
|
tolerance 1e-08;
|
||||||
|
relTol 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
PIMPLE
|
||||||
|
{
|
||||||
|
nCorrectors 2;
|
||||||
|
nNonOrthogonalCorrectors 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
relaxationFactors
|
||||||
|
{
|
||||||
|
fields
|
||||||
|
{
|
||||||
|
}
|
||||||
|
equations
|
||||||
|
{
|
||||||
|
"U.*" 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,53 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.3.0 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "system";
|
||||||
|
object setFieldsDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
defaultFieldValues
|
||||||
|
(
|
||||||
|
volScalarFieldValue alpha.air 1
|
||||||
|
volScalarFieldValue alpha.iron 0
|
||||||
|
volScalarFieldValue alpha.slag 0
|
||||||
|
);
|
||||||
|
|
||||||
|
regions
|
||||||
|
(
|
||||||
|
cylinderToCell
|
||||||
|
{
|
||||||
|
p1 (0 0 0); //center point, min
|
||||||
|
p2 (0 0 0.04); //center point, max
|
||||||
|
radius 0.1;
|
||||||
|
fieldValues
|
||||||
|
(
|
||||||
|
volScalarFieldValue alpha.iron 1
|
||||||
|
volScalarFieldValue alpha.air 0
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
cylinderToCell
|
||||||
|
{
|
||||||
|
p1 (0 0 0.04); //center point, min
|
||||||
|
p2 (0 0 0.07); //center point, max
|
||||||
|
radius 0.1;
|
||||||
|
fieldValues
|
||||||
|
(
|
||||||
|
volScalarFieldValue alpha.slag 1
|
||||||
|
volScalarFieldValue alpha.air 0
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,75 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.3.0 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
object topoSetDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
// General m4 macros
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
// User-defined parameters
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//degrees from x-axis
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
// Derived parameters
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
actions
|
||||||
|
(
|
||||||
|
{
|
||||||
|
name c_out;
|
||||||
|
type cellSet;
|
||||||
|
action new;
|
||||||
|
source boxToCell;
|
||||||
|
sourceInfo
|
||||||
|
{
|
||||||
|
box (0.0899048221581858 -0.0056380612634664 0.04)(0.109904822158186 0.0143619387365336 0.06);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
name outlet;
|
||||||
|
type faceSet;
|
||||||
|
action new;
|
||||||
|
source patchToFace;
|
||||||
|
sourceInfo
|
||||||
|
{
|
||||||
|
name "wall";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
name outlet;
|
||||||
|
type faceSet;
|
||||||
|
action subset;
|
||||||
|
source cellToFace;
|
||||||
|
sourceInfo
|
||||||
|
{
|
||||||
|
set c_out;
|
||||||
|
option all;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,77 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 2.3.0 |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
object topoSetDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
// General m4 macros
|
||||||
|
|
||||||
|
changecom(//)changequote([,]) dnl>
|
||||||
|
define(calc, [esyscmd(perl -e 'use Math::Trig; print ($1)')]) dnl>
|
||||||
|
define(VCOUNT, 0)
|
||||||
|
define(vlabel, [[// ]Vertex $1 = VCOUNT define($1, VCOUNT)define([VCOUNT], incr(VCOUNT))])
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
// User-defined parameters
|
||||||
|
define(cylRadius, 0.1)
|
||||||
|
define(cylHeight, 0.08)
|
||||||
|
define(sqSide, 0.1)
|
||||||
|
define(outletSize, 0.02)
|
||||||
|
define(outletStartZ, 0.04)
|
||||||
|
define(outletAngularPos, 2.5) //degrees from x-axis
|
||||||
|
define(sqCells1D, 8)
|
||||||
|
define(cylCellsRadial, 3)
|
||||||
|
define(cellsZ, 6)
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
// Derived parameters
|
||||||
|
define(midPointX, calc(cylRadius*cos(outletAngularPos*pi/180)))
|
||||||
|
define(midPointY, calc(cylRadius*sin(outletAngularPos*pi/180)))
|
||||||
|
|
||||||
|
actions
|
||||||
|
(
|
||||||
|
{
|
||||||
|
name c_out;
|
||||||
|
type cellSet;
|
||||||
|
action new;
|
||||||
|
source boxToCell;
|
||||||
|
sourceInfo
|
||||||
|
{
|
||||||
|
box (calc(midPointX-0.5*outletSize) calc(midPointY-0.5*outletSize) outletStartZ)(calc(midPointX+0.5*outletSize) calc(midPointY+0.5*outletSize) calc(outletStartZ+1.0*outletSize));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
name outlet;
|
||||||
|
type faceSet;
|
||||||
|
action new;
|
||||||
|
source patchToFace;
|
||||||
|
sourceInfo
|
||||||
|
{
|
||||||
|
name "wall";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
name outlet;
|
||||||
|
type faceSet;
|
||||||
|
action subset;
|
||||||
|
source cellToFace;
|
||||||
|
sourceInfo
|
||||||
|
{
|
||||||
|
set c_out;
|
||||||
|
option all;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,143 @@
|
|||||||
|
###############################################
|
||||||
|
#geometry
|
||||||
|
variable cylRadius equal 0.1
|
||||||
|
variable cylHeight equal 0.08
|
||||||
|
|
||||||
|
# Radiuses of servo wall for force calculation
|
||||||
|
variable r1 equal 0.02
|
||||||
|
variable r2 equal 0.04
|
||||||
|
variable r3 equal 0.06
|
||||||
|
variable r4 equal 0.08
|
||||||
|
variable r5 equal 0.1
|
||||||
|
|
||||||
|
#particle variables
|
||||||
|
variable rho equal 1500 # particle density
|
||||||
|
|
||||||
|
# time parameters
|
||||||
|
variable dt equal 0.00005 # Time step
|
||||||
|
variable outInterval equal 0.5 # Dump interval to be consistent with controlDict
|
||||||
|
|
||||||
|
# DEM-parameters
|
||||||
|
variable yM equal 5.e6 # Young's modulus
|
||||||
|
variable pR equal 0.45 # Poisson ratio
|
||||||
|
variable rest equal 0.3 # coefficient of restitution
|
||||||
|
variable fric equal 0.5 # coefficient of friction
|
||||||
|
variable cV equal 0.1 # characteristic velocity
|
||||||
|
variable skin equal 0.001
|
||||||
|
|
||||||
|
# variables for the servo walls
|
||||||
|
#Pressure acting on the servo wall (Pa)
|
||||||
|
variable p1 equal 800
|
||||||
|
variable p2 equal 800
|
||||||
|
variable p3 equal 800
|
||||||
|
variable p4 equal 800
|
||||||
|
variable p5 equal 800
|
||||||
|
|
||||||
|
variable A1 equal PI*${r1}^2
|
||||||
|
variable A2 equal PI*(${r2}^2-${r1}^2)
|
||||||
|
variable A3 equal PI*(${r3}^2-${r2}^2)
|
||||||
|
variable A4 equal PI*(${r4}^2-${r3}^2)
|
||||||
|
variable A5 equal PI*(${r5}^2-${r4}^2)
|
||||||
|
|
||||||
|
variable ctrlForceR1 equal -${p1}*${A1} # target value of the force
|
||||||
|
variable ctrlForceR2 equal -${p2}*${A2} # target value of the force
|
||||||
|
variable ctrlForceR3 equal -${p3}*${A3} # target value of the force
|
||||||
|
variable ctrlForceR4 equal -${p4}*${A4} # target value of the force
|
||||||
|
variable ctrlForceR5 equal -${p5}*${A5} # target value of the force
|
||||||
|
|
||||||
|
variable maxVel equal 0.25*${skin}/${dt}
|
||||||
|
|
||||||
|
# controller parameter (servo wall)
|
||||||
|
variable ctrlKp equal 1e-2
|
||||||
|
variable ctrlKi equal 0.0
|
||||||
|
variable ctrlKd equal 0.0
|
||||||
|
|
||||||
|
# particle settling loop parameters
|
||||||
|
variable vthre equal 0.01
|
||||||
|
|
||||||
|
# calculated parameters
|
||||||
|
variable dumpInterval equal ${outInterval}/${dt}
|
||||||
|
|
||||||
|
|
||||||
|
###############################################
|
||||||
|
|
||||||
|
log ../DEM/log.liggghts
|
||||||
|
thermo_log ../DEM/post/thermo.txt
|
||||||
|
|
||||||
|
atom_style granular
|
||||||
|
atom_modify map array
|
||||||
|
communicate single vel yes
|
||||||
|
|
||||||
|
boundary f f f
|
||||||
|
newton off
|
||||||
|
|
||||||
|
units si
|
||||||
|
processors 2 2 1
|
||||||
|
|
||||||
|
# read the restart file
|
||||||
|
read_restart ../DEM/post/restart/fill.restart
|
||||||
|
|
||||||
|
neighbor ${skin} bin
|
||||||
|
neigh_modify delay 0
|
||||||
|
|
||||||
|
# Material properties required for granular pair styles
|
||||||
|
|
||||||
|
fix m1 all property/global youngsModulus peratomtype ${yM}
|
||||||
|
fix m2 all property/global poissonsRatio peratomtype ${pR}
|
||||||
|
fix m3 all property/global coefficientRestitution peratomtypepair 1 ${rest}
|
||||||
|
fix m4 all property/global coefficientFriction peratomtypepair 1 ${fric}
|
||||||
|
|
||||||
|
# pair style
|
||||||
|
pair_style gran model hertz tangential history # Hertzian without cohesion
|
||||||
|
pair_coeff * *
|
||||||
|
|
||||||
|
# timestep, gravity
|
||||||
|
timestep ${dt}
|
||||||
|
fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
|
||||||
|
|
||||||
|
# walls
|
||||||
|
fix cylWall all wall/gran model hertz tangential history primitive type 1 zcylinder 0.1 0 0
|
||||||
|
fix botWall all wall/gran model hertz tangential history primitive type 1 zplane 0
|
||||||
|
|
||||||
|
fix servoR1 all mesh/surface/stress/servo file ../DEM/stls/r1.stl type 1 scale 1. com 0 0 0 ctrlPV force axis 0. 0. 1. target_val ${ctrlForceR1} vel_max ${maxVel} kp ${ctrlKp} ki ${ctrlKi} kd ${ctrlKd} #verbose no move 0.0 0.0 7.8
|
||||||
|
|
||||||
|
fix servoR2 all mesh/surface/stress/servo file ../DEM/stls/r2.stl type 1 scale 1. com 0 0 0 ctrlPV force axis 0. 0. 1. target_val ${ctrlForceR2} vel_max ${maxVel} kp ${ctrlKp} ki ${ctrlKi} kd ${ctrlKd} #verbose no move 0.0 0.0 7.8
|
||||||
|
|
||||||
|
fix servoR3 all mesh/surface/stress/servo file ../DEM/stls/r3.stl type 1 scale 1. com 0 0 0 ctrlPV force axis 0. 0. 1. target_val ${ctrlForceR3} vel_max ${maxVel} kp ${ctrlKp} ki ${ctrlKi} kd ${ctrlKd} #verbose no move 0.0 0.0 7.8
|
||||||
|
|
||||||
|
fix servoR4 all mesh/surface/stress/servo file ../DEM/stls/r4.stl type 1 scale 1. com 0 0 0 ctrlPV force axis 0. 0. 1. target_val ${ctrlForceR4} vel_max ${maxVel} kp ${ctrlKp} ki ${ctrlKi} kd ${ctrlKd} #verbose no move 0.0 0.0 7.8
|
||||||
|
|
||||||
|
fix servoR5 all mesh/surface/stress/servo file ../DEM/stls/r5.stl type 1 scale 1. com 0 0 0 ctrlPV force axis 0. 0. 1. target_val ${ctrlForceR5} vel_max ${maxVel} kp ${ctrlKp} ki ${ctrlKi} kd ${ctrlKd} #verbose no move 0.0 0.0 7.8
|
||||||
|
|
||||||
|
fix walls all wall/gran model hertz tangential history mesh n_meshes 5 meshes servoR1 servoR2 servoR3 servoR4 servoR5
|
||||||
|
|
||||||
|
# change the particles density
|
||||||
|
set group all density ${rho}
|
||||||
|
|
||||||
|
# cfd coupling
|
||||||
|
fix cfd all couple/cfd couple_every 100000000 mpi
|
||||||
|
fix cfd2 all couple/cfd/force/implicit
|
||||||
|
|
||||||
|
# apply nve integration to all particles that are inserted as single particles
|
||||||
|
fix integr all nve/sphere
|
||||||
|
|
||||||
|
# center of mass
|
||||||
|
compute centerOfMass all com
|
||||||
|
|
||||||
|
# compute total dragforce
|
||||||
|
compute dragtotal all reduce sum f_dragforce[1] f_dragforce[2] f_dragforce[3]
|
||||||
|
|
||||||
|
# screen output
|
||||||
|
compute rke all erotate/sphere
|
||||||
|
thermo_style custom step atoms ke c_rke vol c_centerOfMass[3] c_dragtotal[1] c_dragtotal[2] c_dragtotal[3]
|
||||||
|
thermo 100
|
||||||
|
thermo_modify lost ignore norm no
|
||||||
|
compute_modify thermo_temp dynamic yes
|
||||||
|
|
||||||
|
#compute position all property/atom x y z
|
||||||
|
fix ts_check all check/timestep/gran 100 0.1 0.1
|
||||||
|
dump dmp all custom ${dumpInterval} ../DEM/post/dump*.liggghts_run id type x y z vx vy vz fx fy fz f_dragforce[1] f_dragforce[2] f_dragforce[3] radius
|
||||||
|
dump servoWall all mesh/stl ${dumpInterval} ../DEM/post/dump*.servoWall.stl servoR1 servoR2 servoR3 servoR4 servoR5
|
||||||
|
|
||||||
|
run 1
|
||||||
|
|
||||||
@ -0,0 +1,98 @@
|
|||||||
|
###############################################
|
||||||
|
#geometry
|
||||||
|
variable cylRadius equal 0.1
|
||||||
|
variable cylHeight equal 0.08
|
||||||
|
|
||||||
|
#particle variables
|
||||||
|
variable rho equal 2500 # particle density
|
||||||
|
variable radi equal 0.003 # particle radius
|
||||||
|
variable nParticles equal 17000
|
||||||
|
|
||||||
|
# time parameters
|
||||||
|
variable totTime equal 1.0 # Total runtime in seconds
|
||||||
|
variable dt equal 0.00001
|
||||||
|
variable outInterval equal 0.1 # Dump interval to be consistent with controlDict
|
||||||
|
|
||||||
|
# DEM-parameters
|
||||||
|
variable yM equal 5.e6 # Young's modulus
|
||||||
|
variable pR equal 0.45 # Poisson ratio
|
||||||
|
variable rest equal 0.3 # coefficient of restitution
|
||||||
|
variable fric equal 0.5 # coefficient of friction
|
||||||
|
variable cV equal 0.1 # characteristic velocity
|
||||||
|
variable skin equal 0.001
|
||||||
|
|
||||||
|
# calculated parameters
|
||||||
|
variable nrIterations equal ${totTime}/${dt}
|
||||||
|
variable dumpInterval equal ${outInterval}/${dt}
|
||||||
|
variable insRate equal 2*${nParticles}/${totTime}
|
||||||
|
|
||||||
|
###############################################
|
||||||
|
|
||||||
|
atom_style granular
|
||||||
|
atom_modify map array
|
||||||
|
communicate single vel yes
|
||||||
|
|
||||||
|
boundary f f f
|
||||||
|
newton off
|
||||||
|
|
||||||
|
units si
|
||||||
|
processors 2 2 1
|
||||||
|
|
||||||
|
region reg block -${cylRadius} ${cylRadius} -${cylRadius} ${cylRadius} 0 0.15 units box
|
||||||
|
create_box 1 reg
|
||||||
|
|
||||||
|
neighbor ${skin} bin
|
||||||
|
neigh_modify delay 0
|
||||||
|
|
||||||
|
|
||||||
|
# Material properties required for granular pair styles
|
||||||
|
|
||||||
|
fix m1 all property/global youngsModulus peratomtype ${yM}
|
||||||
|
fix m2 all property/global poissonsRatio peratomtype ${pR}
|
||||||
|
fix m3 all property/global coefficientRestitution peratomtypepair 1 ${rest}
|
||||||
|
fix m4 all property/global coefficientFriction peratomtypepair 1 ${fric}
|
||||||
|
|
||||||
|
# pair style
|
||||||
|
pair_style gran model hertz tangential history # Hertzian without cohesion
|
||||||
|
pair_coeff * *
|
||||||
|
|
||||||
|
# timestep, gravity
|
||||||
|
timestep ${dt}
|
||||||
|
fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
|
||||||
|
|
||||||
|
# walls
|
||||||
|
fix cylWall all wall/gran model hertz tangential history primitive type 1 zcylinder 0.1 0 0
|
||||||
|
fix botWall all wall/gran model hertz tangential history primitive type 1 zplane 0
|
||||||
|
fix cone all mesh/surface file ../DEM/stls/cone.stl type 1
|
||||||
|
|
||||||
|
fix walls all wall/gran model hertz tangential history mesh n_meshes 1 meshes cone
|
||||||
|
|
||||||
|
# particle distributions and insertion
|
||||||
|
region bc cylinder z 0 0 ${cylRadius} 0.07 0.12 #${cylHeight}
|
||||||
|
fix pts1 all particletemplate/sphere 1 atom_type 1 density constant ${rho} radius constant ${radi}
|
||||||
|
fix pdd1 all particledistribution/discrete 1 1 pts1 1.0
|
||||||
|
|
||||||
|
fix ins all insert/rate/region seed 1001 distributiontemplate pdd1 nparticles ${nParticles} particlerate ${insRate} insert_every 1000 overlapcheck yes region bc ntry_mc 10000
|
||||||
|
|
||||||
|
# apply nve integration to all particles that are inserted as single particles
|
||||||
|
fix integr all nve/sphere
|
||||||
|
|
||||||
|
# screen output
|
||||||
|
compute rke all erotate/sphere
|
||||||
|
thermo_style custom step atoms ke c_rke vol
|
||||||
|
thermo 1000
|
||||||
|
thermo_modify lost ignore norm no
|
||||||
|
compute_modify thermo_temp dynamic yes
|
||||||
|
|
||||||
|
compute pos all property/atom x y z
|
||||||
|
# insert the first particles so that dump is not empty
|
||||||
|
run 1
|
||||||
|
dump dmp all custom ${dumpInterval} post/dump*.liggghts_init id type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius c_pos[1] c_pos[2] c_pos[3]
|
||||||
|
dump myStl1 all stl ${dumpInterval} ../DEM/post/dump.liggghts_init*.stl
|
||||||
|
|
||||||
|
run ${nrIterations} upto
|
||||||
|
|
||||||
|
region particleRm cylinder z 0 0 ${cylRadius} 0.08 0.15
|
||||||
|
delete_atoms region particleRm
|
||||||
|
|
||||||
|
write_restart post/restart/fill.restart
|
||||||
@ -0,0 +1,142 @@
|
|||||||
|
###############################################
|
||||||
|
#geometry
|
||||||
|
variable cylRadius equal 0.1
|
||||||
|
variable cylHeight equal 0.08
|
||||||
|
|
||||||
|
# Radiuses of servo wall for force calculation
|
||||||
|
variable r1 equal 0.02
|
||||||
|
variable r2 equal 0.04
|
||||||
|
variable r3 equal 0.06
|
||||||
|
variable r4 equal 0.08
|
||||||
|
variable r5 equal 0.1
|
||||||
|
|
||||||
|
#particle variables
|
||||||
|
variable rho equal 1500 # particle density
|
||||||
|
|
||||||
|
# time parameters
|
||||||
|
variable dt equal 0.00005 # Time step
|
||||||
|
variable outInterval equal 0.5 # Dump interval to be consistent with controlDict
|
||||||
|
|
||||||
|
# DEM-parameters
|
||||||
|
variable yM equal 5.e6 # Young's modulus
|
||||||
|
variable pR equal 0.45 # Poisson ratio
|
||||||
|
variable rest equal 0.3 # coefficient of restitution
|
||||||
|
variable fric equal 0.5 # coefficient of friction
|
||||||
|
variable cV equal 0.1 # characteristic velocity
|
||||||
|
variable skin equal 0.001
|
||||||
|
|
||||||
|
# variables for the servo wall
|
||||||
|
#Pressure acting on the servo wall (Pa)
|
||||||
|
variable p1 equal 800
|
||||||
|
variable p2 equal 800
|
||||||
|
variable p3 equal 800
|
||||||
|
variable p4 equal 800
|
||||||
|
variable p5 equal 800
|
||||||
|
|
||||||
|
variable A1 equal PI*${r1}^2
|
||||||
|
variable A2 equal PI*(${r2}^2-${r1}^2)
|
||||||
|
variable A3 equal PI*(${r3}^2-${r2}^2)
|
||||||
|
variable A4 equal PI*(${r4}^2-${r3}^2)
|
||||||
|
variable A5 equal PI*(${r5}^2-${r4}^2)
|
||||||
|
|
||||||
|
variable ctrlForceR1 equal -${p1}*${A1} # target value of the force
|
||||||
|
variable ctrlForceR2 equal -${p2}*${A2} # target value of the force
|
||||||
|
variable ctrlForceR3 equal -${p3}*${A3} # target value of the force
|
||||||
|
variable ctrlForceR4 equal -${p4}*${A4} # target value of the force
|
||||||
|
variable ctrlForceR5 equal -${p5}*${A5} # target value of the force
|
||||||
|
|
||||||
|
variable maxVel equal 0.25*${skin}/${dt}
|
||||||
|
|
||||||
|
# controller parameter (servo wall)
|
||||||
|
variable ctrlKp equal 1e-2
|
||||||
|
variable ctrlKi equal 0.0
|
||||||
|
variable ctrlKd equal 0.0
|
||||||
|
|
||||||
|
# particle settling loop parameters
|
||||||
|
variable vthre equal 0.01
|
||||||
|
|
||||||
|
# calculated parameters
|
||||||
|
variable dumpInterval equal ${outInterval}/${dt}
|
||||||
|
|
||||||
|
|
||||||
|
###############################################
|
||||||
|
|
||||||
|
log ../DEM/log.liggghts
|
||||||
|
thermo_log ../DEM/post/thermo.txt
|
||||||
|
|
||||||
|
atom_style granular
|
||||||
|
atom_modify map array
|
||||||
|
communicate single vel yes
|
||||||
|
|
||||||
|
boundary f f f
|
||||||
|
newton off
|
||||||
|
|
||||||
|
units si
|
||||||
|
processors 2 2 1
|
||||||
|
|
||||||
|
# read the restart file
|
||||||
|
read_restart ../DEM/post/restart/liggghts.restartCFDEM_5.000000
|
||||||
|
|
||||||
|
neighbor ${skin} bin
|
||||||
|
neigh_modify delay 0
|
||||||
|
|
||||||
|
# Material properties required for granular pair styles
|
||||||
|
|
||||||
|
fix m1 all property/global youngsModulus peratomtype ${yM}
|
||||||
|
fix m2 all property/global poissonsRatio peratomtype ${pR}
|
||||||
|
fix m3 all property/global coefficientRestitution peratomtypepair 1 ${rest}
|
||||||
|
fix m4 all property/global coefficientFriction peratomtypepair 1 ${fric}
|
||||||
|
|
||||||
|
# pair style
|
||||||
|
pair_style gran model hertz tangential history # Hertzian without cohesion
|
||||||
|
pair_coeff * *
|
||||||
|
|
||||||
|
# timestep, gravity
|
||||||
|
timestep ${dt}
|
||||||
|
fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
|
||||||
|
|
||||||
|
# walls
|
||||||
|
fix cylWall all wall/gran model hertz tangential history primitive type 1 zcylinder 0.1 0 0
|
||||||
|
fix botWall all wall/gran model hertz tangential history primitive type 1 zplane 0
|
||||||
|
|
||||||
|
fix servoR1 all mesh/surface/stress/servo file ../DEM/stls/r1.stl type 1 scale 1. com 0 0 0 ctrlPV force axis 0. 0. 1. target_val ${ctrlForceR1} vel_max ${maxVel} kp ${ctrlKp} ki ${ctrlKi} kd ${ctrlKd} #verbose no move 0.0 0.0 7.8
|
||||||
|
|
||||||
|
fix servoR2 all mesh/surface/stress/servo file ../DEM/stls/r2.stl type 1 scale 1. com 0 0 0 ctrlPV force axis 0. 0. 1. target_val ${ctrlForceR2} vel_max ${maxVel} kp ${ctrlKp} ki ${ctrlKi} kd ${ctrlKd} #verbose no move 0.0 0.0 7.8
|
||||||
|
|
||||||
|
fix servoR3 all mesh/surface/stress/servo file ../DEM/stls/r3.stl type 1 scale 1. com 0 0 0 ctrlPV force axis 0. 0. 1. target_val ${ctrlForceR3} vel_max ${maxVel} kp ${ctrlKp} ki ${ctrlKi} kd ${ctrlKd} #verbose no move 0.0 0.0 7.8
|
||||||
|
|
||||||
|
fix servoR4 all mesh/surface/stress/servo file ../DEM/stls/r4.stl type 1 scale 1. com 0 0 0 ctrlPV force axis 0. 0. 1. target_val ${ctrlForceR4} vel_max ${maxVel} kp ${ctrlKp} ki ${ctrlKi} kd ${ctrlKd} #verbose no move 0.0 0.0 7.8
|
||||||
|
|
||||||
|
fix servoR5 all mesh/surface/stress/servo file ../DEM/stls/r5.stl type 1 scale 1. com 0 0 0 ctrlPV force axis 0. 0. 1. target_val ${ctrlForceR5} vel_max ${maxVel} kp ${ctrlKp} ki ${ctrlKi} kd ${ctrlKd} #verbose no move 0.0 0.0 7.8
|
||||||
|
|
||||||
|
fix walls all wall/gran model hertz tangential history mesh n_meshes 5 meshes servoR1 servoR2 servoR3 servoR4 servoR5
|
||||||
|
|
||||||
|
# change the particles density
|
||||||
|
set group all density ${rho}
|
||||||
|
|
||||||
|
# cfd coupling
|
||||||
|
fix cfd all couple/cfd couple_every 100000000 mpi
|
||||||
|
fix cfd2 all couple/cfd/force/implicit
|
||||||
|
|
||||||
|
# apply nve integration to all particles that are inserted as single particles
|
||||||
|
fix integr all nve/sphere
|
||||||
|
|
||||||
|
# center of mass
|
||||||
|
compute centerOfMass all com
|
||||||
|
|
||||||
|
# compute total dragforce
|
||||||
|
compute dragtotal all reduce sum f_dragforce[1] f_dragforce[2] f_dragforce[3]
|
||||||
|
|
||||||
|
# screen output
|
||||||
|
compute rke all erotate/sphere
|
||||||
|
thermo_style custom step atoms ke c_rke vol c_centerOfMass[3] c_dragtotal[1] c_dragtotal[2] c_dragtotal[3]
|
||||||
|
thermo 100
|
||||||
|
thermo_modify lost ignore norm no
|
||||||
|
compute_modify thermo_temp dynamic yes
|
||||||
|
|
||||||
|
#compute position all property/atom x y z
|
||||||
|
fix ts_check all check/timestep/gran 100 0.1 0.1
|
||||||
|
dump dmp all custom ${dumpInterval} ../DEM/post/dump*.liggghts_run id type x y z vx vy vz fx fy fz f_dragforce[1] f_dragforce[2] f_dragforce[3] radius
|
||||||
|
dump servoWall all mesh/stl ${dumpInterval} ../DEM/post/dump*.servoWall.stl servoR1 servoR2 servoR3 servoR4 servoR5
|
||||||
|
|
||||||
|
run 1
|
||||||
0
tutorials/cfdemSolverMultiphase/small_scale_hearth_drainage/run/DEM/post/.gitignore
vendored
Normal file
0
tutorials/cfdemSolverMultiphase/small_scale_hearth_drainage/run/DEM/post/.gitignore
vendored
Normal file
0
tutorials/cfdemSolverMultiphase/small_scale_hearth_drainage/run/DEM/post/restart/.gitignore
vendored
Normal file
0
tutorials/cfdemSolverMultiphase/small_scale_hearth_drainage/run/DEM/post/restart/.gitignore
vendored
Normal file
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user