mirror of
https://github.com/ParticulateFlow/CFDEMcoupling-PFM.git
synced 2025-12-08 06:37:44 +00:00
release on 2014-07-25_13-42-41
This commit is contained in:
0
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/constant/dynamicMeshDict
Executable file → Normal file
0
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/constant/dynamicMeshDict
Executable file → Normal file
0
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/constant/polyMesh/blockMeshDict
Executable file → Normal file
0
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/constant/polyMesh/blockMeshDict
Executable file → Normal file
0
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/system/controlDict
Executable file → Normal file
0
tutorials/cfdemSolverIB/twoSpheresGlowinskiMPI/CFD/system/controlDict
Executable file → Normal file
@ -0,0 +1,95 @@
|
||||
#echo both
|
||||
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
|
||||
|
||||
region reg block 0. 1. 0. 1. 0. 4. units box
|
||||
create_box 1 reg
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 binsize 0.01
|
||||
|
||||
|
||||
# Material properties required for new pair styles
|
||||
|
||||
fix m1 all property/global youngsModulus peratomtype 5.e7
|
||||
fix m2 all property/global poissonsRatio peratomtype 0.45
|
||||
fix m3 all property/global coefficientRestitution peratomtypepair 1 0.9
|
||||
fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
|
||||
|
||||
# pair style
|
||||
pair_style gran model hertz tangential history #Hertzian without cohesion
|
||||
pair_coeff * *
|
||||
|
||||
# timestep, gravity
|
||||
timestep 0.00003
|
||||
|
||||
fix gravi all gravity 981 vector 0.0 0.0 -1.0
|
||||
|
||||
# walls
|
||||
fix xwalls1 all wall/gran model hertz tangential history primitive type 1 xplane 0.
|
||||
fix xwalls2 all wall/gran model hertz tangential history primitive type 1 xplane 1.
|
||||
fix ywalls1 all wall/gran model hertz tangential history primitive type 1 yplane 0.
|
||||
fix ywalls2 all wall/gran model hertz tangential history primitive type 1 yplane 1.
|
||||
fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zplane 0.
|
||||
fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane 4.
|
||||
|
||||
# cfd coupling
|
||||
fix cfd all couple/cfd couple_every 10 mpi
|
||||
fix cfd2 all couple/cfd/force
|
||||
|
||||
|
||||
# create single partciles
|
||||
create_atoms 1 single .5 .5 3.5 units box
|
||||
create_atoms 1 single .5 .5 3.16 units box
|
||||
set atom 1 diameter 0.167 density 1.5 vx 0 vy 0 vz 0
|
||||
set atom 2 diameter 0.167 density 1.5 vx 0 vy 0 vz 0
|
||||
|
||||
variable vx1 equal vx[1]
|
||||
variable vy1 equal vy[1]
|
||||
variable vz1 equal vz[1]
|
||||
variable vx2 equal vx[2]
|
||||
variable vy2 equal vy[2]
|
||||
variable vz2 equal vz[2]
|
||||
variable x1 equal x[1]
|
||||
variable y1 equal y[1]
|
||||
variable z1 equal z[1]
|
||||
variable x2 equal x[2]
|
||||
variable y2 equal y[2]
|
||||
variable z2 equal z[2]
|
||||
variable time equal step*dt
|
||||
|
||||
fix extra1 all print 100 "${time} ${vx1} ${vy1} ${vz1}" file ../DEM/post/velocity_particle_1.txt title "%" screen no
|
||||
fix extra2 all print 100 "${time} ${vx2} ${vy2} ${vz2}" file ../DEM/post/velocity_particle_2.txt title "%" screen no
|
||||
fix extra3 all print 100 "${time} ${x1} ${y1} ${z1}" file ../DEM/post/position_particle_1.txt title "%" screen no
|
||||
fix extra4 all print 100 "${time} ${x2} ${y2} ${z2}" file ../DEM/post/position_particle_2.txt title "%" screen no
|
||||
|
||||
|
||||
# apply nve integration to all particles that are inserted as single particles
|
||||
fix integr all nve/sphere #wenn das ausgeblendet, dann kein vel update
|
||||
|
||||
# screen output
|
||||
compute rke all erotate/sphere
|
||||
thermo_style custom step atoms ke c_rke vol
|
||||
thermo 1000
|
||||
thermo_modify lost ignore norm no
|
||||
compute_modify thermo_temp dynamic yes
|
||||
|
||||
# insert the first particles so that dump is not empty
|
||||
dump dmp all custom 100 ../DEM/post/dump.liggghts_run id type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius
|
||||
|
||||
#force : f_couple_cfd[0] f_couple_cfd[1] f_couple_cfd[2]
|
||||
#node : f_couple_cfd[6]
|
||||
#cell id : f_couple_cfd[7]
|
||||
|
||||
run 1
|
||||
|
||||
@ -65,20 +65,13 @@ cp ../../$logfileName $testHarnessPath
|
||||
|
||||
#- clean up case
|
||||
echo "deleting data at: $casePath"
|
||||
rm -r $casePath/CFD/0.*
|
||||
rm -r $casePath/CFD/callgrind.*
|
||||
rm -r $casePath/CFD/*.out
|
||||
rm -r $casePath/CFD/VTK
|
||||
rm -r $casePath/CFD/couplingFiles/*
|
||||
rm -r $casePath/CFD/processor*
|
||||
rm -r $casePath/CFD/particles*
|
||||
rm -r $casePath/CFD/probes
|
||||
rm -r $casePath/DEM/post/*
|
||||
rm -r $casePath/DEM/log.*
|
||||
rm -r $casePath/log_*
|
||||
echo "done"
|
||||
|
||||
source $WM_PROJECT_DIR/bin/tools/CleanFunctions
|
||||
cd $casePath/CFD
|
||||
cleanCase
|
||||
rm -r $casePath/CFD/clockData
|
||||
rm $casePath/DEM/post/*.*
|
||||
#rm -r $casePath/DEM/post/restart/*.*
|
||||
#- preserve post directory
|
||||
touch $casePath/DEM/post/.gitignore
|
||||
|
||||
echo "done"
|
||||
|
||||
|
||||
@ -87,7 +87,7 @@ cd $casePath/CFD
|
||||
cleanCase
|
||||
rm -r $casePath/CFD/clockData
|
||||
rm -r $casePath/DEM/post/*.*
|
||||
rm -r $casePath/DEM/post/restart/*.*
|
||||
#rm -r $casePath/DEM/post/restart/*.*
|
||||
touch $casePath/DEM/post/.gitignore
|
||||
touch $casePath/DEM/post/restart/.gitignore
|
||||
echo "done"
|
||||
|
||||
@ -22,7 +22,7 @@ if [ -f "$casePath/DEM/post/restart/liggghts.restart" ]; then
|
||||
echo "LIGGGHTS init was run before - using existing restart file"
|
||||
else
|
||||
#- run DEM in new terminal
|
||||
$casePath/DEMrun.sh
|
||||
$casePath/parDEMrun.sh
|
||||
fi
|
||||
|
||||
#- run parallel CFD-DEM in new terminal
|
||||
|
||||
@ -149,9 +149,12 @@ GidaspowDragProps
|
||||
}
|
||||
DiFeliceDragProps
|
||||
{
|
||||
//verbose;
|
||||
velFieldName "U";
|
||||
densityFieldName "rho";
|
||||
voidfractionFieldName "voidfraction";
|
||||
granVelFieldName "Us";
|
||||
interpolation;
|
||||
}
|
||||
|
||||
KochHillDragProps
|
||||
@ -161,6 +164,12 @@ KochHillDragProps
|
||||
densityFieldName "rho";
|
||||
voidfractionFieldName "voidfraction";
|
||||
interpolation;
|
||||
//forceSubModels
|
||||
//(
|
||||
// ImExCorr
|
||||
//);
|
||||
//implDEM true;
|
||||
//explicitInterpCorr true;
|
||||
}
|
||||
|
||||
BeetstraDragProps
|
||||
|
||||
66
tutorials/cfdemSolverPiso/ErgunTestMPI/DEM/in.liggghts_run
Normal file
66
tutorials/cfdemSolverPiso/ErgunTestMPI/DEM/in.liggghts_run
Normal file
@ -0,0 +1,66 @@
|
||||
# Pour granular particles into chute container, then induce flow
|
||||
log ../DEM/log.liggghts
|
||||
thermo_log ../DEM/post/thermo.txt
|
||||
|
||||
atom_style granular
|
||||
atom_modify map array
|
||||
communicate single vel yes
|
||||
|
||||
boundary m m m
|
||||
newton off
|
||||
|
||||
units si
|
||||
processors 2 2 1
|
||||
|
||||
# read the restart file
|
||||
read_restart ../DEM/post/restart/liggghts.restart
|
||||
|
||||
neighbor 0.0005 bin
|
||||
neigh_modify delay 0
|
||||
|
||||
# Material properties required for granular pair styles
|
||||
|
||||
fix m1 all property/global youngsModulus peratomtype 5.e6
|
||||
fix m2 all property/global poissonsRatio peratomtype 0.45
|
||||
fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3
|
||||
fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
|
||||
|
||||
# pair style
|
||||
pair_style gran model hertz tangential history # Hertzian without cohesion
|
||||
pair_coeff * *
|
||||
|
||||
# timestep, gravity
|
||||
timestep 0.00001
|
||||
fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
|
||||
|
||||
# walls
|
||||
fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zplane 0.0
|
||||
fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane 0.0553
|
||||
fix cylwalls all wall/gran model hertz tangential history primitive type 1 zcylinder 0.01385 0. 0.
|
||||
|
||||
# change the particles density
|
||||
set group all density 2000
|
||||
|
||||
# cfd coupling
|
||||
fix cfd all couple/cfd couple_every 100 mpi
|
||||
fix cfd2 all couple/cfd/force/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 10
|
||||
thermo_modify lost ignore norm no
|
||||
compute_modify thermo_temp dynamic yes
|
||||
|
||||
dump dmp all custom 5000 ../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
|
||||
|
||||
run 1
|
||||
0
tutorials/cfdemSolverPiso/ErgunTestMPI/DEM/post/restart/.gitignore
vendored
Normal file
0
tutorials/cfdemSolverPiso/ErgunTestMPI/DEM/post/restart/.gitignore
vendored
Normal file
@ -87,7 +87,7 @@ cd $casePath/CFD
|
||||
cleanCase
|
||||
rm -r $casePath/CFD/clockData
|
||||
rm $casePath/DEM/post/*.*
|
||||
rm -r $casePath/DEM/post/restart/*.*
|
||||
#rm -r $casePath/DEM/post/restart/*.*
|
||||
touch $casePath/DEM/post/.gitignore
|
||||
touch $casePath/DEM/post/restart/.gitignore
|
||||
echo "done"
|
||||
|
||||
30
tutorials/cfdemSolverPiso/ErgunTestMPI/parDEMrun.sh
Executable file
30
tutorials/cfdemSolverPiso/ErgunTestMPI/parDEMrun.sh
Executable file
@ -0,0 +1,30 @@
|
||||
#!/bin/bash
|
||||
|
||||
#===================================================================#
|
||||
# DEMrun script for ErgunTestMPI testcase
|
||||
# init ErgunTestMPI
|
||||
# Christoph Goniva - July 2014
|
||||
#===================================================================#
|
||||
|
||||
#- source CFDEM env vars
|
||||
. ~/.bashrc
|
||||
|
||||
#- include functions
|
||||
source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh
|
||||
|
||||
echo "starting DEM run in parallel..."
|
||||
#--------------------------------------------------------------------------------#
|
||||
#- define variables
|
||||
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
|
||||
logpath="$casePath"
|
||||
headerText="run_liggghts_init_DEM"
|
||||
logfileName="log_$headerText"
|
||||
solverName="in.liggghts_init"
|
||||
nrProcs=4
|
||||
machineFileName="none"
|
||||
debugMode="off"
|
||||
#--------------------------------------------------------------------------------#
|
||||
|
||||
#- call function to run DEM case
|
||||
parDEMrun $logpath $logfileName $casePath $headerText $solverName $nrProcs $machineFileName $debugMode
|
||||
|
||||
@ -22,7 +22,7 @@ if [ -f "$casePath/DEM/post/restart/liggghts.restart" ]; then
|
||||
echo "LIGGGHTS init was run before - using existing restart file"
|
||||
else
|
||||
#- run DEM
|
||||
$casePath/DEMrun.sh
|
||||
$casePath/parDEMrun.sh
|
||||
fi
|
||||
|
||||
#- run parallel CFD-DEM in new terminal
|
||||
|
||||
0
tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/CFD/system/funkySetFieldsDict
Executable file → Normal file
0
tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/CFD/system/funkySetFieldsDict
Executable file → Normal file
@ -0,0 +1,66 @@
|
||||
# Pour granular particles into chute container, then induce flow
|
||||
log ../DEM/log.liggghts
|
||||
thermo_log ../DEM/post/thermo.txt
|
||||
|
||||
atom_style granular
|
||||
atom_modify map array
|
||||
communicate single vel yes
|
||||
|
||||
boundary m m m
|
||||
newton off
|
||||
|
||||
units cgs
|
||||
processors 2 2 1
|
||||
|
||||
# read the restart file
|
||||
read_restart ../DEM/post/restart/liggghts.restart
|
||||
|
||||
neighbor 0.1 bin
|
||||
neigh_modify delay 0
|
||||
|
||||
# Material properties required for granular pair styles
|
||||
|
||||
fix m1 all property/global youngsModulus peratomtype 5.e6
|
||||
fix m2 all property/global poissonsRatio peratomtype 0.45
|
||||
fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3
|
||||
fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
|
||||
|
||||
# pair style
|
||||
pair_style gran model hertz tangential history # Hertzian without cohesion
|
||||
pair_coeff * *
|
||||
|
||||
# timestep, gravity
|
||||
timestep 0.00001
|
||||
fix gravi all gravity 981 vector 0.0 0.0 -1.0
|
||||
|
||||
# walls
|
||||
fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zplane 0.0
|
||||
fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane 5.53
|
||||
fix cylwalls all wall/gran model hertz tangential history primitive type 1 zcylinder 1.385 0. 0.
|
||||
|
||||
# change the particles density
|
||||
set group all density 2.0
|
||||
|
||||
# cfd coupling
|
||||
fix cfd all couple/cfd couple_every 100 mpi
|
||||
fix cfd2 all couple/cfd/force
|
||||
|
||||
# apply nve integration to all particles that are inserted as single particles
|
||||
fix integr all nve/sphere
|
||||
|
||||
# center of mass
|
||||
compute centerOfMass all com
|
||||
|
||||
# compute total dragforce
|
||||
compute dragtotal all reduce sum f_dragforce[1] f_dragforce[2] f_dragforce[3]
|
||||
|
||||
# screen output
|
||||
compute rke all erotate/sphere
|
||||
thermo_style custom step atoms ke c_rke vol c_centerOfMass[3] c_dragtotal[1] c_dragtotal[2] c_dragtotal[3]
|
||||
thermo 10
|
||||
thermo_modify lost ignore norm no
|
||||
compute_modify thermo_temp dynamic yes
|
||||
|
||||
dump dmp all custom 5000 ../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
|
||||
|
||||
run 1
|
||||
0
tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/DEM/post/restart/.gitignore
vendored
Normal file
0
tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/DEM/post/restart/.gitignore
vendored
Normal file
@ -82,21 +82,12 @@ fi
|
||||
|
||||
#- clean up case
|
||||
echo "deleting data at: $casePath :\n"
|
||||
rm -r $casePath/CFD/0.*
|
||||
rm -r $casePath/CFD/callgrind.*
|
||||
rm -r $casePath/CFD/*.out
|
||||
rm -r $casePath/CFD/log.*
|
||||
rm -r $casePath/CFD/octave/octave-core
|
||||
rm -r $casePath/CFD/VTK
|
||||
rm -r $casePath/CFD/processor*
|
||||
rm -r $casePath/CFD/couplingFiles/*
|
||||
rm -r $casePath/CFD/probes
|
||||
rm -r $casePath/CFD/postProcessing
|
||||
rm -r $casePath/CFD/lagrangian
|
||||
source $WM_PROJECT_DIR/bin/tools/CleanFunctions
|
||||
cd $casePath/CFD
|
||||
cleanCase
|
||||
rm -r $casePath/CFD/clockData
|
||||
rm -r $casePath/DEM/log.*
|
||||
rm -r $casePath/DEM/post/*.*
|
||||
rm -r $casePath/DEM/post/restart/*.*
|
||||
rm $casePath/DEM/post/*.*
|
||||
#rm -r $casePath/DEM/post/restart/*.*
|
||||
touch $casePath/DEM/post/.gitignore
|
||||
touch $casePath/DEM/post/restart/.gitignore
|
||||
echo "done"
|
||||
|
||||
28
tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/parDEMrun.sh
Executable file
28
tutorials/cfdemSolverPiso/ErgunTestMPI_cgs/parDEMrun.sh
Executable file
@ -0,0 +1,28 @@
|
||||
#!/bin/bash
|
||||
|
||||
#===================================================================#
|
||||
# DEMrun script for ErgunTestMPI testcase
|
||||
# init ErgunTestMPI
|
||||
# Daniel Queteschiner - June 2014
|
||||
#===================================================================#
|
||||
|
||||
#- source CFDEM env vars
|
||||
. ~/.bashrc
|
||||
|
||||
#- include functions
|
||||
source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh
|
||||
|
||||
#--------------------------------------------------------------------------------#
|
||||
#- define variables
|
||||
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
|
||||
logpath="$casePath"
|
||||
headerText="run_liggghts_init_DEM"
|
||||
logfileName="log_$headerText"
|
||||
solverName="in.liggghts_init"
|
||||
nrProcs="4"
|
||||
machineFileName="none" # yourMachinefileName | none
|
||||
#--------------------------------------------------------------------------------#
|
||||
|
||||
#- call function to run DEM case
|
||||
parDEMrun $logpath $logfileName $casePath $headerText $solverName $nrProcs $machineFileName
|
||||
|
||||
@ -24,7 +24,7 @@ if [ -f "$casePath/DEM/post/restart/liggghts.restart" ]; then
|
||||
echo "LIGGGHTS init was run before - using existing restart file"
|
||||
else
|
||||
#- run DEM in new terminal
|
||||
$casePath/DEMrun.sh
|
||||
$casePath/parDEMrun.sh
|
||||
fi
|
||||
|
||||
#-------------------------------------------------------#
|
||||
@ -110,7 +110,7 @@ cd $casePath/CFD
|
||||
cleanCase
|
||||
rm -r $casePath/CFD/clockData
|
||||
rm -r $casePath/DEM/post/*.*
|
||||
rm -r $casePath/DEM/post/restart/*.*
|
||||
#rm -r $casePath/DEM/post/restart/*.*
|
||||
touch $casePath/DEM/post/.gitignore
|
||||
touch $casePath/DEM/post/restart/.gitignore
|
||||
echo "done"
|
||||
|
||||
@ -0,0 +1,235 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.4 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class dictionary;
|
||||
object couplingProperties;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
//===========================================================================//
|
||||
// sub-models & settings
|
||||
|
||||
modelType "A"; // A or B
|
||||
|
||||
couplingInterval 100;
|
||||
|
||||
voidFractionModel divided;//centre;//
|
||||
|
||||
locateModel engine;//turboEngineM2M;//
|
||||
|
||||
meshMotionModel noMeshMotion;
|
||||
|
||||
regionModel allRegion;
|
||||
|
||||
IOModel basicIO;
|
||||
|
||||
probeModel off;
|
||||
|
||||
dataExchangeModel twoWayMPI;//twoWayM2M;//twoWayFiles;//oneWayVTK;//
|
||||
|
||||
averagingModel dense;//dilute;//
|
||||
|
||||
clockModel standardClock;//off;
|
||||
|
||||
smoothingModel off;// localPSizeDiffSmoothing;// constDiffSmoothing; //
|
||||
|
||||
forceModels
|
||||
(
|
||||
//GidaspowDrag
|
||||
//BeetstraDrag
|
||||
//DiFeliceDrag
|
||||
KochHillDrag
|
||||
gradPForce
|
||||
viscForce
|
||||
//Archimedes
|
||||
//volWeightedAverage
|
||||
//totalMomentumExchange
|
||||
//particleCellVolume
|
||||
);
|
||||
|
||||
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 1.5e-3;
|
||||
}
|
||||
|
||||
implicitCoupleProps
|
||||
{
|
||||
velFieldName "U";
|
||||
granVelFieldName "Us";
|
||||
voidfractionFieldName "voidfraction";
|
||||
}
|
||||
|
||||
ArchimedesProps
|
||||
{
|
||||
densityFieldName "rho";
|
||||
gravityFieldName "g";
|
||||
}
|
||||
gradPForceProps
|
||||
{
|
||||
pFieldName "p";
|
||||
densityFieldName "rho";
|
||||
voidfractionFieldName "voidfraction";
|
||||
velocityFieldName "U";
|
||||
//interpolation;
|
||||
}
|
||||
|
||||
viscForceProps
|
||||
{
|
||||
velocityFieldName "U";
|
||||
densityFieldName "rho";
|
||||
interpolation;
|
||||
}
|
||||
volWeightedAverageProps
|
||||
{
|
||||
scalarFieldNames
|
||||
(
|
||||
voidfraction
|
||||
);
|
||||
vectorFieldNames
|
||||
(
|
||||
);
|
||||
upperThreshold 0.999;
|
||||
lowerThreshold 0;
|
||||
verbose;
|
||||
}
|
||||
totalMomentumExchangeProps
|
||||
{
|
||||
implicitMomExFieldName "Ksl";
|
||||
explicitMomExFieldName "none";
|
||||
fluidVelFieldName "U";
|
||||
granVelFieldName "Us";
|
||||
densityFieldName "rho";
|
||||
}
|
||||
GidaspowDragProps
|
||||
{
|
||||
verbose;
|
||||
velFieldName "U";
|
||||
densityFieldName "rho";
|
||||
voidfractionFieldName "voidfraction";
|
||||
phi 1;
|
||||
}
|
||||
DiFeliceDragProps
|
||||
{
|
||||
velFieldName "U";
|
||||
densityFieldName "rho";
|
||||
voidfractionFieldName "voidfraction";
|
||||
}
|
||||
|
||||
KochHillDragProps
|
||||
{
|
||||
//verbose;
|
||||
velFieldName "U";
|
||||
densityFieldName "rho";
|
||||
voidfractionFieldName "voidfraction";
|
||||
}
|
||||
|
||||
BeetstraDragProps
|
||||
{
|
||||
velFieldName "U";
|
||||
densityFieldName "rho";
|
||||
gravityFieldName "g";
|
||||
rhoParticle 2000.;
|
||||
voidfractionFieldName "voidfraction";
|
||||
interpolation ;
|
||||
useFilteredDragModel ;
|
||||
useParcelSizeDependentFilteredDrag ;
|
||||
k 0.05;
|
||||
aLimit 0.0;
|
||||
// verbose ;
|
||||
}
|
||||
|
||||
virtualMassForceProps
|
||||
{
|
||||
velFieldName "U";
|
||||
densityFieldName "rho";
|
||||
}
|
||||
|
||||
particleCellVolumeProps
|
||||
{
|
||||
upperThreshold 0.999;
|
||||
lowerThreshold 0.;
|
||||
verbose;
|
||||
}
|
||||
|
||||
oneWayVTKProps
|
||||
{
|
||||
couplingFilename "vtk_out%4.4d.vtk";
|
||||
maxNumberOfParticles 30000;
|
||||
}
|
||||
|
||||
twoWayFilesProps
|
||||
{
|
||||
maxNumberOfParticles 10100;
|
||||
}
|
||||
|
||||
centreProps
|
||||
{
|
||||
alphaMin 0.10;
|
||||
}
|
||||
|
||||
engineProps
|
||||
{
|
||||
treeSearch true;
|
||||
}
|
||||
|
||||
turboEngineM2MProps
|
||||
{
|
||||
turboEngineProps
|
||||
{
|
||||
treeSearch true;
|
||||
}
|
||||
}
|
||||
|
||||
dividedProps
|
||||
{
|
||||
alphaMin 0.01;
|
||||
scaleUpVol 1.0;
|
||||
}
|
||||
|
||||
twoWayMPIProps
|
||||
{
|
||||
liggghtsPath "../DEM/in.liggghts_run";
|
||||
}
|
||||
twoWayM2MProps
|
||||
{
|
||||
maxNumberOfParticles 10100;
|
||||
liggghtsPath "../DEM/in.liggghts_run";
|
||||
}
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,44 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / 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;
|
||||
}
|
||||
|
||||
//- optional
|
||||
writeLiggghtsProps
|
||||
{
|
||||
writeLast on;
|
||||
writeName "post/restart/liggghts.restartCFDEM";
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,117 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "system";
|
||||
object controlDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
application pisoFoam;
|
||||
|
||||
startFrom startTime;
|
||||
|
||||
startTime 0;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime 0.05;
|
||||
|
||||
deltaT 0.001;
|
||||
|
||||
writeControl adjustableRunTime;
|
||||
|
||||
writeInterval 0.01;
|
||||
|
||||
purgeWrite 0;
|
||||
|
||||
writeFormat ascii;
|
||||
|
||||
writePrecision 6;
|
||||
|
||||
writeCompression uncompressed;
|
||||
|
||||
timeFormat general;
|
||||
|
||||
timePrecision 6;
|
||||
|
||||
runTimeModifiable yes;
|
||||
|
||||
adjustTimeStep no;
|
||||
|
||||
maxCo 0.1;
|
||||
|
||||
//libs ( "libgroovyBC.so" "libfiniteVolumeCFDEM.so");
|
||||
|
||||
functions
|
||||
(
|
||||
|
||||
probes
|
||||
{
|
||||
type probes;
|
||||
// Where to load it from
|
||||
functionObjectLibs ( "libsampling.so" );
|
||||
// Name of the directory for probe data
|
||||
name probes;
|
||||
probeLocations
|
||||
(
|
||||
(0 0 0.0001)
|
||||
(0 0 0.0026)
|
||||
(0 0 0.0051)
|
||||
(0 0 0.0076)
|
||||
(0 0 0.0101)
|
||||
(0 0 0.0126)
|
||||
(0 0 0.0151)
|
||||
(0 0 0.0176)
|
||||
(0 0 0.0201)
|
||||
(0 0 0.0226)
|
||||
(0 0 0.0251)
|
||||
(0 0 0.0276)
|
||||
(0 0 0.0301)
|
||||
(0 0 0.0326)
|
||||
(0 0 0.0351)
|
||||
(0 0 0.0375)
|
||||
(0 0 0.0401)
|
||||
(0 0 0.0426)
|
||||
(0 0 0.0451)
|
||||
(0 0 0.0476)
|
||||
(0 0 0.0529)
|
||||
);
|
||||
|
||||
// Fields to be probed
|
||||
fields ( p U voidfraction volAverage_voidfraction voidfractionNext voidfractionPrev);
|
||||
|
||||
// Write at same frequency as fields
|
||||
outputControl timeStep;//outputTime;
|
||||
outputInterval 1;
|
||||
}
|
||||
|
||||
/*pressureDrop
|
||||
{
|
||||
type patchAverage;
|
||||
functionObjectLibs
|
||||
(
|
||||
"libsimpleFunctionObjects.so"
|
||||
);
|
||||
verbose true;
|
||||
patches
|
||||
(
|
||||
inlet
|
||||
outlet
|
||||
);
|
||||
fields
|
||||
(
|
||||
p
|
||||
);
|
||||
factor 1;
|
||||
}*/
|
||||
);
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,65 @@
|
||||
# Pour granular particles into chute container, then induce flow
|
||||
log ../DEM/log.liggghts
|
||||
thermo_log ../DEM/post/thermo.txt
|
||||
|
||||
atom_style granular
|
||||
atom_modify map array
|
||||
communicate single vel yes
|
||||
|
||||
boundary m m m
|
||||
newton off
|
||||
|
||||
units si
|
||||
processors 2 2 1
|
||||
|
||||
# read the restart file
|
||||
read_restart ../DEM/post/restart/liggghts.restart
|
||||
|
||||
neighbor 0.0005 bin
|
||||
neigh_modify delay 0
|
||||
|
||||
# Material properties required for granular pair styles
|
||||
|
||||
fix m1 all property/global youngsModulus peratomtype 5.e6
|
||||
fix m2 all property/global poissonsRatio peratomtype 0.45
|
||||
fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3
|
||||
fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
|
||||
|
||||
# pair style
|
||||
pair_style gran model hertz tangential history # Hertzian without cohesion
|
||||
pair_coeff * *
|
||||
|
||||
# timestep, gravity
|
||||
timestep 0.00001
|
||||
fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
|
||||
|
||||
fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zplane 0.0
|
||||
fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane 0.0553
|
||||
fix cylwalls all wall/gran model hertz tangential history primitive type 1 zcylinder 0.01385 0. 0.
|
||||
|
||||
# change the particles density
|
||||
set group all density 2000
|
||||
|
||||
# cfd coupling
|
||||
fix cfd all couple/cfd couple_every 100 mpi
|
||||
fix cfd2 all couple/cfd/force
|
||||
|
||||
# apply nve integration to all particles that are inserted as single particles
|
||||
fix integr all nve/sphere
|
||||
|
||||
# center of mass
|
||||
compute centerOfMass all com
|
||||
|
||||
# compute total dragforce
|
||||
compute dragtotal all reduce sum f_dragforce[1] f_dragforce[2] f_dragforce[3]
|
||||
|
||||
# screen output
|
||||
compute rke all erotate/sphere
|
||||
thermo_style custom step atoms ke c_rke vol c_centerOfMass[3] c_dragtotal[1] c_dragtotal[2] c_dragtotal[3]
|
||||
thermo 10
|
||||
thermo_modify lost ignore norm no
|
||||
compute_modify thermo_temp dynamic yes
|
||||
|
||||
dump dmp all custom 5000 ../DEM/post/dump*.liggghts_restart id type x y z vx vy vz fx fy fz f_dragforce[1] f_dragforce[2] f_dragforce[3] radius
|
||||
|
||||
run 1
|
||||
0
tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/post/restart/.gitignore
vendored
Normal file
0
tutorials/cfdemSolverPiso/ErgunTestMPI_restart/DEM/post/restart/.gitignore
vendored
Normal file
28
tutorials/cfdemSolverPiso/ErgunTestMPI_restart/parDEMrun.sh
Executable file
28
tutorials/cfdemSolverPiso/ErgunTestMPI_restart/parDEMrun.sh
Executable file
@ -0,0 +1,28 @@
|
||||
#!/bin/bash
|
||||
|
||||
#===================================================================#
|
||||
# DEMrun script for ErgunTestMPI_restart testcase
|
||||
# init ErgunTestMPI_restart
|
||||
# Daniel Queteschiner - June 2014, DCS Computing GmbH
|
||||
#===================================================================#
|
||||
|
||||
#- source CFDEM env vars
|
||||
. ~/.bashrc
|
||||
|
||||
#- include functions
|
||||
source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh
|
||||
|
||||
#--------------------------------------------------------------------------------#
|
||||
#- define variables
|
||||
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
|
||||
logpath="$casePath"
|
||||
headerText="run_liggghts_init_DEM"
|
||||
logfileName="log_$headerText"
|
||||
solverName="in.liggghts_init"
|
||||
nrProcs="2"
|
||||
machineFileName="none" # yourMachinefileName | none
|
||||
#--------------------------------------------------------------------------------#
|
||||
|
||||
#- call function to run DEM case
|
||||
parDEMrun $logpath $logfileName $casePath $headerText $solverName $nrProcs $machineFileName
|
||||
|
||||
@ -0,0 +1,73 @@
|
||||
# Pour granular particles into chute container, then induce flow
|
||||
echo both
|
||||
log ../DEM/log.liggghts
|
||||
thermo_log ../DEM/post/thermo.txt
|
||||
|
||||
atom_style granular
|
||||
atom_modify map array sort 0 0
|
||||
communicate single vel yes
|
||||
|
||||
boundary f f f
|
||||
newton off
|
||||
|
||||
units si
|
||||
|
||||
region reg block 0 0.1 0 0.1 0 0.1 units box
|
||||
create_box 1 reg
|
||||
|
||||
neighbor 0.003 bin
|
||||
neigh_modify delay 0 binsize 0.01
|
||||
|
||||
|
||||
# Material properties required for granular pair styles
|
||||
fix m1 all property/global youngsModulus peratomtype 5.e6
|
||||
fix m2 all property/global poissonsRatio peratomtype 0.45
|
||||
fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3
|
||||
fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
|
||||
#fix m5 all property/global characteristicVelocity scalar 2.0
|
||||
|
||||
# pair style
|
||||
pair_style gran model hertz tangential history # hertz without cohesion
|
||||
pair_coeff * *
|
||||
|
||||
# timestep, gravity
|
||||
timestep 0.00001
|
||||
fix gravi all gravity 9.81 vector 0.0 -1.0 0.0
|
||||
|
||||
# walls
|
||||
fix xwalls1 all wall/gran model hertz tangential history primitive type 1 xplane 0.0
|
||||
fix xwalls2 all wall/gran model hertz tangential history primitive type 1 xplane 0.1
|
||||
fix ywalls1 all wall/gran model hertz tangential history primitive type 1 yplane 0.0
|
||||
fix ywalls2 all wall/gran model hertz tangential history primitive type 1 yplane 0.1
|
||||
fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zplane 0.0
|
||||
fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane 0.01
|
||||
|
||||
# create single partciles
|
||||
create_atoms 1 single 0.05 0.025 0.05 units box
|
||||
set group all diameter 0.0001 density 3000
|
||||
|
||||
# cfd coupling
|
||||
fix cfd all couple/cfd couple_every 100 mpi
|
||||
fix cfd2 all couple/cfd/force
|
||||
|
||||
variable vx equal vx[1]
|
||||
variable vy equal vy[1]
|
||||
variable vz equal vz[1]
|
||||
variable time equal step*dt
|
||||
fix extra all print 100 "${time} ${vx} ${vy} ${vz}" file ../DEM/post/velocity.txt title "#" screen no
|
||||
|
||||
# apply nve integration to all particles that are inserted as single particles
|
||||
fix integr all nve/sphere
|
||||
|
||||
# screen output
|
||||
compute rke all erotate/sphere
|
||||
thermo_style custom step atoms ke c_rke vol
|
||||
thermo 1000
|
||||
thermo_modify lost ignore norm no
|
||||
compute_modify thermo_temp dynamic yes
|
||||
|
||||
# insert the first particles so that dump is not empty
|
||||
run 1
|
||||
dump dmp all custom 1000 ../DEM/post/dump.liggghts_run id type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius
|
||||
|
||||
run 1 upto
|
||||
@ -0,0 +1,75 @@
|
||||
# read packed bed and calc convective heat transfer
|
||||
log ../DEM/log.liggghts
|
||||
thermo_log ../DEM/post/thermo.txt
|
||||
|
||||
atom_style granular
|
||||
atom_modify map array
|
||||
communicate single vel yes
|
||||
boundary m m m
|
||||
newton off
|
||||
echo both
|
||||
units si
|
||||
processors 1 1 2
|
||||
|
||||
# read the restart file
|
||||
read_restart ../DEM/post/restart/liggghts.restart
|
||||
|
||||
neighbor 0.003 bin
|
||||
neigh_modify delay 0 binsize 0.01
|
||||
|
||||
|
||||
# Material properties required for granular pair styles
|
||||
|
||||
fix m1 all property/global youngsModulus peratomtype 5.e6
|
||||
fix m2 all property/global poissonsRatio peratomtype 0.45
|
||||
fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3
|
||||
fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
|
||||
|
||||
# pair style
|
||||
pair_style gran model hertz tangential history # Hertzian without cohesion
|
||||
pair_coeff * *
|
||||
|
||||
# timestep, gravity
|
||||
timestep 0.00001
|
||||
fix gravi all gravity 9.81 vector 0. 0. -1.
|
||||
|
||||
# walls
|
||||
fix xwalls1 all wall/gran model hertz tangential history primitive type 1 xplane 0.0
|
||||
fix xwalls2 all wall/gran model hertz tangential history primitive type 1 xplane 0.1
|
||||
fix ywalls1 all wall/gran model hertz tangential history primitive type 1 yplane 0.0
|
||||
fix ywalls2 all wall/gran model hertz tangential history primitive type 1 yplane 0.1
|
||||
fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zplane 0.0
|
||||
fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane 1.1
|
||||
|
||||
|
||||
# heat transfer
|
||||
fix ftco all property/global thermalConductivity peratomtype 5. # lambda in [W/(K*m)]
|
||||
fix ftca all property/global thermalCapacity peratomtype 0.1 # cp in [J/(kg*K)]
|
||||
fix heattransfer all heat/gran initial_temperature 600.
|
||||
|
||||
# set particle temperature for the bed
|
||||
run 0
|
||||
region total block INF INF INF INF INF INF units box
|
||||
set region total property/atom Temp 600.
|
||||
|
||||
# cfd coupling
|
||||
fix cfd all couple/cfd couple_every 100 mpi
|
||||
fix cfd2 all couple/cfd/force
|
||||
|
||||
# this one invokes heat transfer calculation, transfers per-particle temperature and adds convective heat flux to particles
|
||||
fix cfd3 all couple/cfd/convection T0 600
|
||||
|
||||
# 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
|
||||
|
||||
dump dmp all custom 100 ../DEM/post/dump.liggghts_run id type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius f_Temp[0] f_heatFlux[0]
|
||||
|
||||
run 1
|
||||
0
tutorials/cfdemSolverPisoScalar/packedBedTemp/DEM/post/restart/.gitignore
vendored
Normal file
0
tutorials/cfdemSolverPisoScalar/packedBedTemp/DEM/post/restart/.gitignore
vendored
Normal file
@ -84,21 +84,12 @@ fi
|
||||
|
||||
#- clean up case
|
||||
echo "deleting data at: $casePath : ???\n"
|
||||
rm -r $casePath/CFD/0.*
|
||||
rm -r $casePath/CFD/1
|
||||
rm -r $casePath/CFD/callgrind.*
|
||||
rm -r $casePath/CFD/*.out
|
||||
rm -r $casePath/CFD/octave/*.eps
|
||||
rm -r $casePath/CFD/octave/octave-core
|
||||
rm -r $casePath/CFD/VTK
|
||||
rm -r $casePath/CFD/processor*
|
||||
rm -r $casePath/DEM/post/*.*
|
||||
rm -r $casePath/DEM/post/restart/*.*
|
||||
rm -r $casePath/DEM/log.*
|
||||
rm -r $casePath/CFD/log.*
|
||||
rm -r $casePath/CFD/probes
|
||||
rm -r $casePath/CFD/postProcessing
|
||||
rm -r $casePath/log_*
|
||||
source $WM_PROJECT_DIR/bin/tools/CleanFunctions
|
||||
cd $casePath/CFD
|
||||
cleanCase
|
||||
rm -r $casePath/CFD/clockData
|
||||
rm $casePath/DEM/post/*.*
|
||||
#rm -r $casePath/DEM/post/restart/*.*
|
||||
echo "done"
|
||||
|
||||
#- preserve post directory
|
||||
|
||||
28
tutorials/cfdemSolverPisoScalar/packedBedTemp/parDEMrun.sh
Executable file
28
tutorials/cfdemSolverPisoScalar/packedBedTemp/parDEMrun.sh
Executable file
@ -0,0 +1,28 @@
|
||||
#!/bin/bash
|
||||
|
||||
#===================================================================#
|
||||
# DEMrun script for ErgunTestMPI testcase
|
||||
# init ErgunTestMPI
|
||||
# Daniel Queteschiner - June 2014
|
||||
#===================================================================#
|
||||
|
||||
#- source CFDEM env vars
|
||||
. ~/.bashrc
|
||||
|
||||
#- include functions
|
||||
source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh
|
||||
|
||||
#--------------------------------------------------------------------------------#
|
||||
#- define variables
|
||||
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
|
||||
logpath="$casePath"
|
||||
headerText="run_liggghts_init_DEM"
|
||||
logfileName="log_$headerText"
|
||||
solverName="in.liggghts_init"
|
||||
nrProcs="2"
|
||||
machineFileName="none" # yourMachinefileName | none
|
||||
#--------------------------------------------------------------------------------#
|
||||
|
||||
#- call function to run DEM case
|
||||
parDEMrun $logpath $logfileName $casePath $headerText $solverName $nrProcs $machineFileName
|
||||
|
||||
Reference in New Issue
Block a user