mirror of
https://github.com/ParticulateFlow/CFDEMcoupling-PFM.git
synced 2025-12-08 06:37:44 +00:00
release on 2014-07-17_09-51-22
This commit is contained in:
@ -14,7 +14,7 @@ casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
|
||||
echo $casePath
|
||||
|
||||
# check if mesh was built
|
||||
if [ -d "$casePath/CFD/constant/polyMesh/boundary" ]; then
|
||||
if [ -f "$casePath/CFD/constant/polyMesh/boundary" ]; then
|
||||
echo "mesh was built before - using old mesh"
|
||||
else
|
||||
echo "mesh needs to be built"
|
||||
@ -23,7 +23,5 @@ else
|
||||
fi
|
||||
|
||||
|
||||
#gnome-terminal --title='cfdemSolverIB two settling disks CFD' -e "CFDrun()"
|
||||
gnome-terminal --title='cfdemSolverIB twoSpheresGlowinskiMPI CFD' -e "bash $casePath/parCFDDEMrun.sh"
|
||||
#gnome-terminal --title='cfdemSolverIB two settling disks DEM' -e "DEMrun()"
|
||||
#gnome-terminal --title='cfdemSolverIB twoSpheresGlowinskiMPI DEM' -e "bash $casePath/DEMrun.sh"
|
||||
|
||||
|
||||
@ -91,7 +91,7 @@ twoWayFilesProps
|
||||
twoWayMPIProps
|
||||
{
|
||||
maxNumberOfParticles 10100;
|
||||
liggghtsPath "../DEM/in.liggghts_init";
|
||||
liggghtsPath "../DEM/in.liggghts_run";
|
||||
}
|
||||
|
||||
IBProps
|
||||
|
||||
@ -1,123 +0,0 @@
|
||||
#echo both
|
||||
|
||||
atom_style granular
|
||||
atom_modify map array
|
||||
communicate single vel yes
|
||||
|
||||
#--modified C.K.
|
||||
#dimension 2
|
||||
|
||||
#--modified C.K.
|
||||
#boundary f f p
|
||||
boundary f f f
|
||||
newton off
|
||||
|
||||
units si
|
||||
processors 2 2 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 9.81 vector 0.0 -1.0 0.0
|
||||
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.
|
||||
|
||||
#-import mesh from cad:
|
||||
#fix cad1 all mesh/gran hopperGenauerSALOME.stl 1 1.0 0. 0. 0. 0. 180. 0.
|
||||
|
||||
#-use the imported mesh as granular wall
|
||||
#fix bucket_wall all wall/gran/hertz/history 1 0 mesh/gran 1 cad1
|
||||
|
||||
|
||||
#cfd coupling
|
||||
fix cfd all couple/cfd couple_every 10 mpi
|
||||
fix cfd2 all couple/cfd/force
|
||||
|
||||
|
||||
#- create single partciles
|
||||
#create_atoms 1 single 0.05 0.3 0.025 units box
|
||||
#create_atoms 1 single 1 0.001 0.0 units box
|
||||
create_atoms 1 single .5 .5 3.5 units box
|
||||
create_atoms 1 single .5 .5 3.16 units box
|
||||
#create_atoms 1 single .5 .5 3.26 units box
|
||||
#create_atoms 1 single 1.5 -0.001 0.0 units box
|
||||
#set atom 1 diameter 0.015 density 100 vx 0 vy -.5 vz 0
|
||||
set atom 1 diameter 0.167 density 1.5 vx 0 vy 0 vz 0
|
||||
#set atom 2 diameter 0.167 density 1.14 vx 0 vy 0 vz 0
|
||||
set atom 2 diameter 0.167 density 1.5 vx 0 vy 0 vz 0
|
||||
|
||||
#create_atoms 1 single 0.048 0.018 0.05 units box
|
||||
#set atom 1 diameter 0.001 density 3000 vx 0.1 vy 0 vz 0
|
||||
#create_atoms 1 single 0.052 0.018 0.05 units box
|
||||
#set atom 2 diameter 0.001 density 3000 vx -0.1 vy 0 vz 0
|
||||
|
||||
variable vx1 equal vx[1]
|
||||
variable vy1 equal vy[1]
|
||||
variable vz1 equal vz[1]
|
||||
variable vx2 equal vx[2]
|
||||
variable vy2 equal vy[2]
|
||||
variable vz2 equal vz[2]
|
||||
variable x1 equal x[1]
|
||||
variable y1 equal y[1]
|
||||
variable z1 equal z[1]
|
||||
variable x2 equal x[2]
|
||||
variable y2 equal y[2]
|
||||
variable z2 equal z[2]
|
||||
variable time equal step*dt
|
||||
fix extra1 all print 100 "${time} ${vx1} ${vy1} ${vz1}" file ../DEM/post/velocity_particle_1.txt title "%" screen no
|
||||
fix extra2 all print 100 "${time} ${vx2} ${vy2} ${vz2}" file ../DEM/post/velocity_particle_2.txt title "%" screen no
|
||||
fix extra3 all print 100 "${time} ${x1} ${y1} ${z1}" file ../DEM/post/position_particle_1.txt title "%" screen no
|
||||
fix extra4 all print 100 "${time} ${x2} ${y2} ${z2}" file ../DEM/post/position_particle_2.txt title "%" screen no
|
||||
|
||||
|
||||
#apply nve integration to all particles that are inserted as single particles
|
||||
fix integr all nve/sphere #wenn das ausgeblendet, dann kein vel update
|
||||
#fix 1 all nve/noforce
|
||||
|
||||
#--modified C.K.
|
||||
#fix 2D all enforce2d
|
||||
|
||||
#screen output
|
||||
compute 1 all erotate/sphere
|
||||
thermo_style custom step atoms ke c_1 vol
|
||||
thermo 1000
|
||||
thermo_modify lost ignore norm no
|
||||
compute_modify thermo_temp dynamic yes
|
||||
|
||||
#insert the first particles so that dump is not empty
|
||||
#dump myDump all stl 1 ../DEM/post/dump.stl
|
||||
#run 1
|
||||
dump dmp all custom 100 ../DEM/post/dump.liggghts_init id type type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius
|
||||
#undump myDump
|
||||
|
||||
#force : f_couple_cfd[0] f_couple_cfd[1] f_couple_cfd[2]
|
||||
#node : f_couple_cfd[6]
|
||||
#cell id : f_couple_cfd[7]
|
||||
|
||||
run 1 upto #80000 upto
|
||||
#write_restart liggghts.restart
|
||||
@ -1 +0,0 @@
|
||||
dummyfile
|
||||
@ -45,7 +45,7 @@ if [ $postproc == "true" ]
|
||||
then
|
||||
#- get VTK data from liggghts dump file
|
||||
cd $casePath/DEM/post
|
||||
python -i $CFDEM_LPP_DIR/lpp.py dump.liggghts_init
|
||||
python -i $CFDEM_LPP_DIR/lpp.py dump.liggghts_run
|
||||
|
||||
#- get VTK data from CFD sim
|
||||
cd $casePath/CFD
|
||||
@ -79,6 +79,6 @@ rm -r $casePath/log_*
|
||||
echo "done"
|
||||
|
||||
#- preserve post directory
|
||||
echo "dummyfile" >> $casePath/DEM/post/dummy
|
||||
touch $casePath/DEM/post/.gitignore
|
||||
|
||||
|
||||
|
||||
@ -149,6 +149,7 @@ GidaspowDragProps
|
||||
velFieldName "U";
|
||||
densityFieldName "rho";
|
||||
voidfractionFieldName "voidfraction";
|
||||
granVelFieldName "Us";
|
||||
phi 1;
|
||||
//interpolation; // this case does not like interpolation
|
||||
implDEM_;
|
||||
|
||||
@ -2,18 +2,15 @@
|
||||
|
||||
#===================================================================#
|
||||
# allrun script for testcase as part of test routine
|
||||
# run ErgunTestMPI
|
||||
# Christoph Goniva - June 2014
|
||||
# run settlingTest
|
||||
# Christoph Goniva - Sept. 2010
|
||||
#===================================================================#
|
||||
|
||||
#- define variables
|
||||
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
|
||||
|
||||
#- include functions
|
||||
source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh
|
||||
|
||||
# check if mesh was built
|
||||
if [ -f "$casePath/CFD/constant/polyMesh/points" ]; then
|
||||
if [ -d "$casePath/CFD/constant/polyMesh/boundary" ]; then
|
||||
echo "mesh was built before - using old mesh"
|
||||
else
|
||||
echo "mesh needs to be built"
|
||||
@ -21,27 +18,11 @@ else
|
||||
blockMesh
|
||||
fi
|
||||
|
||||
# check if DEM case was run
|
||||
if [ -f "$casePath/DEM/liggghts.restart" ]; then
|
||||
echo "DEM restart file found"
|
||||
if [ -f "$casePath/DEM/post/restart/liggghts.restart" ]; then
|
||||
echo "LIGGGHTS init was run before - using existing restart file"
|
||||
else
|
||||
echo "starting DEM run..."
|
||||
#--------------------------------------------------------------------------------#
|
||||
#- define variables
|
||||
logpath="$casePath"
|
||||
headerText="run_liggghts_ErgunTestMPI_DEM"
|
||||
logfileName="log_$headerText"
|
||||
solverName="in.liggghts_init"
|
||||
nrProcs=4
|
||||
machineFileName="none"
|
||||
debugMode="off"
|
||||
#--------------------------------------------------------------------------------#
|
||||
|
||||
#- clean up case
|
||||
rm -r $casePath/DEM/post/*
|
||||
|
||||
#- call function to run DEM case
|
||||
parDEMrun $logpath $logfileName $casePath $headerText $solverName $nrProcs $machineFileName $debugMode
|
||||
#- run DEM in new terminal
|
||||
$casePath/DEMrun.sh
|
||||
fi
|
||||
|
||||
#- run parallel CFD-DEM in new terminal
|
||||
|
||||
@ -228,11 +228,11 @@ dividedProps
|
||||
|
||||
twoWayMPIProps
|
||||
{
|
||||
liggghtsPath "../DEM/in.liggghts_resume";
|
||||
liggghtsPath "../DEM/in.liggghts_run";
|
||||
}
|
||||
twoWayM2MProps
|
||||
{
|
||||
maxNumberOfParticles 10100;
|
||||
liggghtsPath "../DEM/in.liggghts_resume";
|
||||
liggghtsPath "../DEM/in.liggghts_run";
|
||||
}
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -1,64 +1,64 @@
|
||||
# Pour granular particles into chute container, then induce flow
|
||||
echo both
|
||||
atom_style granular
|
||||
atom_modify map array
|
||||
communicate single vel yes
|
||||
echo both
|
||||
atom_style granular
|
||||
atom_modify map array
|
||||
communicate single vel yes
|
||||
|
||||
boundary m m m
|
||||
newton off
|
||||
boundary m m m
|
||||
newton off
|
||||
|
||||
units si
|
||||
units si
|
||||
|
||||
region reg block -0.015 0.015 -0.015 0.015 -0.001 0.0554 units box
|
||||
create_box 1 reg
|
||||
region reg block -0.015 0.015 -0.015 0.015 -0.001 0.0554 units box
|
||||
create_box 1 reg
|
||||
|
||||
neighbor 0.001 bin
|
||||
neigh_modify delay 0
|
||||
neighbor 0.001 bin
|
||||
neigh_modify delay 0
|
||||
|
||||
|
||||
#Material properties required for new pair styles
|
||||
# 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 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 * *
|
||||
# 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
|
||||
# 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.
|
||||
# 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.
|
||||
|
||||
#particle distributions and insertion
|
||||
region bc cylinder z 0.0 0.0 0.012 0. 0.055 units box
|
||||
fix pts1 all particletemplate/sphere 1 atom_type 1 density constant 2000 radius constant 0.0005
|
||||
fix pdd1 all particledistribution/discrete 1. 1 pts1 1.0
|
||||
# particle distributions and insertion
|
||||
region bc cylinder z 0.0 0.0 0.012 0. 0.055 units box
|
||||
fix pts1 all particletemplate/sphere 1 atom_type 1 density constant 2000 radius constant 0.0005
|
||||
fix pdd1 all particledistribution/discrete 1 1 pts1 1.0
|
||||
|
||||
fix ins all insert/pack seed 100001 distributiontemplate pdd1 vel constant 0. 0. -1. insert_every once overlapcheck yes all_in yes particles_in_region 10000 region bc
|
||||
fix ins all insert/pack seed 100001 distributiontemplate pdd1 vel constant 0. 0. -1. insert_every once overlapcheck yes all_in yes particles_in_region 10000 region bc
|
||||
|
||||
#apply nve integration to all particles that are inserted as single particles
|
||||
fix integr all nve/sphere
|
||||
# apply nve integration to all particles that are inserted as single particles
|
||||
fix integr all nve/sphere
|
||||
|
||||
#screen output
|
||||
compute 1 all erotate/sphere
|
||||
thermo_style custom step atoms ke c_1 vol
|
||||
thermo 1000
|
||||
thermo_modify lost ignore norm no
|
||||
compute_modify thermo_temp dynamic yes
|
||||
# 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 5000 post/dump.liggghts_init id type type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius
|
||||
# insert the first particles so that dump is not empty
|
||||
run 1
|
||||
dump dmp all custom 5000 post/dump.liggghts_init id type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius
|
||||
#force : f_couple_cfd[0] f_couple_cfd[1] f_couple_cfd[2]
|
||||
#node : f_couple_cfd[6]
|
||||
#cell id : f_couple_cfd[7]
|
||||
|
||||
run 10000 upto
|
||||
write_restart liggghts.restart
|
||||
run 10000 upto
|
||||
write_restart post/restart/liggghts.restart
|
||||
|
||||
@ -1,71 +0,0 @@
|
||||
# Pour granular particles into chute container, then induce flow
|
||||
|
||||
atom_style granular
|
||||
atom_modify map array
|
||||
communicate single vel yes
|
||||
|
||||
boundary m m m
|
||||
newton off
|
||||
|
||||
units si
|
||||
processors 2 2 1
|
||||
|
||||
#read the restart file
|
||||
read_restart ../DEM/liggghts.restart
|
||||
|
||||
#do not do this here, the simulation box is in the restart file!
|
||||
#region reg block -0.015 0.015 -0.015 0.015 -0.001 0.0554 units box
|
||||
#create_box 1 reg
|
||||
|
||||
neighbor 0.0005 bin
|
||||
neigh_modify delay 0
|
||||
|
||||
#Material properties required for new pair styles
|
||||
|
||||
fix m1 all property/global youngsModulus peratomtype 5.e6
|
||||
fix m2 all property/global poissonsRatio peratomtype 0.45
|
||||
fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3
|
||||
fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
|
||||
|
||||
#pair style
|
||||
pair_style gran 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 1 all erotate/sphere
|
||||
thermo_style custom step atoms ke c_1 vol c_centerOfMass[3] c_dragtotal[1] c_dragtotal[2] c_dragtotal[3]
|
||||
thermo 10
|
||||
thermo_modify lost ignore norm no
|
||||
compute_modify thermo_temp dynamic yes
|
||||
|
||||
#insert the first particles so that dump is not empty
|
||||
dump myDump all stl 1 post/dump_*.stl
|
||||
#run 1
|
||||
dump dmp all custom 5000 ../DEM/post/dump*.liggghts_restart id type type x y z vx vy vz fx fy fz f_dragforce[1] f_dragforce[2] f_dragforce[3] radius
|
||||
undump myDump
|
||||
|
||||
run 1
|
||||
Binary file not shown.
@ -62,7 +62,7 @@ if [ $postproc == "true" ]
|
||||
|
||||
#- get VTK data from liggghts dump file
|
||||
cd $casePath/DEM/post
|
||||
python -i $CFDEM_LPP_DIR/lpp.py dump*.liggghts_restart
|
||||
python -i $CFDEM_LPP_DIR/lpp.py dump*.liggghts_run
|
||||
|
||||
#- get VTK data from CFD sim
|
||||
cd $casePath/CFD
|
||||
@ -86,6 +86,8 @@ source $WM_PROJECT_DIR/bin/tools/CleanFunctions
|
||||
cd $casePath/CFD
|
||||
cleanCase
|
||||
rm -r $casePath/CFD/clockData
|
||||
rm -r $casePath/DEM/post/*
|
||||
(cd $casePath/DEM/post && touch dummy)
|
||||
rm -r $casePath/DEM/post/*.*
|
||||
rm -r $casePath/DEM/post/restart/*.*
|
||||
touch $casePath/DEM/post/.gitignore
|
||||
touch $casePath/DEM/post/restart/.gitignore
|
||||
echo "done"
|
||||
|
||||
@ -18,17 +18,13 @@ else
|
||||
blockMesh
|
||||
fi
|
||||
|
||||
echo "WARNING:copying a CGS based controlDict to $HOME/.OpenFOAM/$WM_PROJECT_VERSION"
|
||||
echo "this will make your simulations use CGS unit system"
|
||||
read
|
||||
echo "Make sure $HOME/.OpenFOAM/$WM_PROJECT_VERSION/controlDict is removed after this simulation."
|
||||
|
||||
mkdir -p $FOAM_INST_DIR/.OpenFOAM//$WM_PROJECT_VERSION
|
||||
cp $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/controlDict_cgs_$WM_PROJECT_VERSION $FOAM_INST_DIR/.OpenFOAM/$WM_PROJECT_VERSION/controlDict
|
||||
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
|
||||
fi
|
||||
|
||||
#- run parallel CFD-DEM in new terminal
|
||||
gnome-terminal --title='cfdemSolverPiso ErgunTestMPI CFD' -e "bash $casePath/parCFDDEMrun.sh"
|
||||
gnome-terminal --title='cfdemSolverPiso ErgunTestMPI CFD' -e "bash $casePath/parCFDDEMrun.sh"
|
||||
|
||||
echo "removing $FOAM_INST_DIR/.OpenFOAM/$WM_PROJECT_VERSION/controlDict?"
|
||||
read
|
||||
rm -r $FOAM_INST_DIR/.OpenFOAM/$WM_PROJECT_VERSION/controlDict*
|
||||
|
||||
@ -184,11 +184,11 @@ dividedProps
|
||||
twoWayMPIProps
|
||||
{
|
||||
//maxNumberOfParticles 10100;
|
||||
liggghtsPath "../DEM/in.liggghts_resume";
|
||||
liggghtsPath "../DEM/in.liggghts_run";
|
||||
}
|
||||
twoWayM2MProps
|
||||
{
|
||||
maxNumberOfParticles 10100;
|
||||
liggghtsPath "../DEM/in.liggghts_resume";
|
||||
liggghtsPath "../DEM/in.liggghts_run";
|
||||
}
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -5,6 +5,7 @@ clc;
|
||||
%====================================%
|
||||
% simulation data 1
|
||||
%====================================%
|
||||
rhoG = 0.01 % density in g/cm3
|
||||
%path = '../probes/0/p'; % 2.1.x
|
||||
path = '../postProcessing/probes/0/p'; % 2.2.x
|
||||
columns=22;
|
||||
@ -12,7 +13,7 @@ headerlines=4;
|
||||
data = loaddata(path,columns,headerlines);
|
||||
data=transpose(data);
|
||||
[x,y]=size(data)
|
||||
dp_sim = (data(:,2)-data(:,y))*0.01/10; % *rhoG to get pressure, then *10 to get from Ba in Pa
|
||||
dp_sim = (data(:,2)-data(:,y))*rhoG*0.1; % *rhoG to get pressure, then *0.1 to get from Ba in Pa
|
||||
t_sim = data(:,1);
|
||||
%fprintf('final pressureDrop of sim = %f Pa\n',dp_sim(length(dp_sim)) )
|
||||
|
||||
|
||||
@ -23,7 +23,7 @@ startTime 0;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime 0.1;//0.1;
|
||||
endTime 0.1;
|
||||
|
||||
deltaT 0.001;
|
||||
|
||||
@ -49,7 +49,104 @@ adjustTimeStep no;
|
||||
|
||||
maxCo 0.1;
|
||||
|
||||
libs ( "libgroovyBC.so" );
|
||||
//libs ( "libgroovyBC.so" );
|
||||
DimensionedConstants
|
||||
{
|
||||
unitSet CGS; // SI; // USCS; //
|
||||
|
||||
CGSCoeffs
|
||||
{
|
||||
universal
|
||||
{
|
||||
c c [ 0 1 -1 0 0 0 0 ] 2.99792e+10; // speed of light in vacuum (cm/s)
|
||||
G G [ -1 3 -2 0 0 0 0 ] 6.67429e-8; // gravitational constant (cm^3/(gs^2))
|
||||
h h [ 1 2 -1 0 0 0 0 ] 6.62607e-27; // Planck's constant (erg.s)
|
||||
}
|
||||
electromagnetic
|
||||
{
|
||||
e e [ 0 0 1 0 0 1 0 ] 4.803204e-10; // elementary charge (statcoulomb)
|
||||
}
|
||||
atomic
|
||||
{
|
||||
me me [ 1 0 0 0 0 0 0 ] 9.10938e-28; // electron mass (g)
|
||||
mp mp [ 1 0 0 0 0 0 0 ] 1.67262e-24; // proton mass (g)
|
||||
}
|
||||
physicoChemical
|
||||
{
|
||||
mu mu [ 1 0 0 0 0 0 0 ] 1.66054e-24; // atomic mass unit (g)
|
||||
k k [ 1 2 -2 -1 0 0 0 ] 1.38065e-16; // Boltzman constant (erg/K)
|
||||
}
|
||||
standard
|
||||
{
|
||||
//- Standard pressure [bar]
|
||||
Pstd Pstd [ 1 -1 -2 0 0 0 0 ] 1000000; // 1 bar (barye)
|
||||
//- Standard temperature [degK]
|
||||
Tstd Tstd [ 0 0 0 1 0 0 0 ] 298.15; // should be same as in SI unit system
|
||||
}
|
||||
}
|
||||
|
||||
SICoeffs
|
||||
{
|
||||
universal
|
||||
{
|
||||
c c [ 0 1 -1 0 0 0 0 ] 2.99792e+08;
|
||||
G G [ -1 3 -2 0 0 0 0 ] 6.67429e-11;
|
||||
h h [ 1 2 -1 0 0 0 0 ] 6.62607e-34;
|
||||
}
|
||||
electromagnetic
|
||||
{
|
||||
e e [ 0 0 1 0 0 1 0 ] 1.60218e-19;
|
||||
}
|
||||
atomic
|
||||
{
|
||||
me me [ 1 0 0 0 0 0 0 ] 9.10938e-31;
|
||||
mp mp [ 1 0 0 0 0 0 0 ] 1.67262e-27;
|
||||
}
|
||||
physicoChemical
|
||||
{
|
||||
mu mu [ 1 0 0 0 0 0 0 ] 1.66054e-27;
|
||||
k k [ 1 2 -2 -1 0 0 0 ] 1.38065e-23;
|
||||
}
|
||||
standard
|
||||
{
|
||||
//- Standard pressure [Pa]
|
||||
Pstd Pstd [ 1 -1 -2 0 0 0 0 ] 100000;
|
||||
//- Standard temperature [degK]
|
||||
Tstd Tstd [ 0 0 0 1 0 0 0 ] 298.15;
|
||||
}
|
||||
}
|
||||
|
||||
USCSCoeffs
|
||||
{
|
||||
universal
|
||||
{
|
||||
c c [ 0 1 -1 0 0 0 0 ] 9.83558e+08;
|
||||
G G [ -1 3 -2 0 0 0 0 ] 1.06909e-09;
|
||||
h h [ 1 2 -1 0 0 0 0 ] 1.57234e-32;
|
||||
}
|
||||
electromagnetic
|
||||
{
|
||||
e e [ 0 0 1 0 0 1 0 ] 1.60218e-19;
|
||||
}
|
||||
atomic
|
||||
{
|
||||
me me [ 1 0 0 0 0 0 0 ] 2.00825e-30;
|
||||
mp mp [ 1 0 0 0 0 0 0 ] 3.68746e-27;
|
||||
}
|
||||
physicoChemical
|
||||
{
|
||||
mu mu [ 1 0 0 0 0 0 0 ] 3.66083e-27;
|
||||
k k [ 1 2 -2 -1 0 0 0 ] 1.82012e-22;
|
||||
}
|
||||
standard
|
||||
{
|
||||
//- Standard pressure [lbm/ft^2]
|
||||
Pstd Pstd [ 1 -1 -2 0 0 0 0 ] 2088.6;
|
||||
//- Standard temperature [degR]
|
||||
Tstd Tstd [ 0 0 0 1 0 0 0 ] 536.67;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
functions
|
||||
(
|
||||
|
||||
@ -1,63 +1,64 @@
|
||||
# Pour granular particles into chute container, then induce flow
|
||||
echo both
|
||||
atom_style granular
|
||||
atom_modify map array
|
||||
communicate single vel yes
|
||||
echo both
|
||||
atom_style granular
|
||||
atom_modify map array
|
||||
communicate single vel yes
|
||||
|
||||
boundary m m m
|
||||
newton off
|
||||
units cgs
|
||||
boundary m m m
|
||||
newton off
|
||||
|
||||
region reg block -1.5 1.5 -1.5 1.5 -0.1 5.54 units box
|
||||
create_box 1 reg
|
||||
units cgs
|
||||
|
||||
neighbor 0.1 bin
|
||||
neigh_modify delay 0
|
||||
region reg block -1.5 1.5 -1.5 1.5 -0.1 5.54 units box
|
||||
create_box 1 reg
|
||||
|
||||
neighbor 0.1 bin
|
||||
neigh_modify delay 0
|
||||
|
||||
|
||||
#Material properties required for new pair styles
|
||||
# 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 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 * *
|
||||
# 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
|
||||
# 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.
|
||||
# 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.
|
||||
|
||||
#particle distributions and insertion
|
||||
region bc cylinder z 0.0 0.0 1.2 0. 5.5 units box
|
||||
fix pts1 all particletemplate/sphere 1 atom_type 1 density constant 2. radius constant 0.05
|
||||
fix pdd1 all particledistribution/discrete 1. 1 pts1 1.0
|
||||
# particle distributions and insertion
|
||||
region bc cylinder z 0.0 0.0 1.2 0. 5.5 units box
|
||||
fix pts1 all particletemplate/sphere 1 atom_type 1 density constant 2. radius constant 0.05
|
||||
fix pdd1 all particledistribution/discrete 1 1 pts1 1.0
|
||||
|
||||
fix ins all insert/pack seed 100001 distributiontemplate pdd1 vel constant 0. 0. -100. insert_every once overlapcheck yes all_in yes particles_in_region 10000 region bc
|
||||
fix ins all insert/pack seed 100001 distributiontemplate pdd1 vel constant 0. 0. -100. insert_every once overlapcheck yes all_in yes particles_in_region 10000 region bc
|
||||
|
||||
#apply nve integration to all particles that are inserted as single particles
|
||||
fix integr all nve/sphere
|
||||
# apply nve integration to all particles that are inserted as single particles
|
||||
fix integr all nve/sphere
|
||||
|
||||
#screen output
|
||||
compute 1 all erotate/sphere
|
||||
thermo_style custom step atoms ke c_1 vol
|
||||
thermo 1000
|
||||
thermo_modify lost ignore norm no
|
||||
compute_modify thermo_temp dynamic yes
|
||||
# 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 5000 post/dump.liggghts_init id type type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius
|
||||
# insert the first particles so that dump is not empty
|
||||
run 1
|
||||
dump dmp all custom 5000 post/dump.liggghts_init id type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius
|
||||
#force : f_couple_cfd[0] f_couple_cfd[1] f_couple_cfd[2]
|
||||
#node : f_couple_cfd[6]
|
||||
#cell id : f_couple_cfd[7]
|
||||
|
||||
run 10000 upto
|
||||
write_restart liggghts.restart
|
||||
run 10000 upto
|
||||
write_restart post/restart/liggghts.restart
|
||||
|
||||
@ -1,67 +0,0 @@
|
||||
# Pour granular particles into chute container, then induce flow
|
||||
|
||||
atom_style granular
|
||||
atom_modify map array
|
||||
communicate single vel yes
|
||||
|
||||
boundary m m m
|
||||
newton off
|
||||
units cgs
|
||||
processors 2 2 1
|
||||
|
||||
#read the restart file
|
||||
read_restart ../DEM/liggghts.restart
|
||||
|
||||
neighbor 0.1 bin
|
||||
neigh_modify delay 0
|
||||
|
||||
#Material properties required for new pair styles
|
||||
|
||||
fix m1 all property/global youngsModulus peratomtype 5.e6
|
||||
fix m2 all property/global poissonsRatio peratomtype 0.45
|
||||
fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3
|
||||
fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
|
||||
|
||||
#pair style
|
||||
pair_style gran 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 1 all erotate/sphere
|
||||
thermo_style custom step atoms ke c_1 vol c_centerOfMass[3] c_dragtotal[1] c_dragtotal[2] c_dragtotal[3]
|
||||
thermo 10
|
||||
thermo_modify lost ignore norm no
|
||||
compute_modify thermo_temp dynamic yes
|
||||
|
||||
#insert the first particles so that dump is not empty
|
||||
dump myDump all stl 1 post/dump_*.stl
|
||||
#run 1
|
||||
dump dmp all custom 5000 ../DEM/post/dump*.liggghts_restart id type type x y z vx vy vz fx fy fz f_dragforce[1] f_dragforce[2] f_dragforce[3] radius
|
||||
undump myDump
|
||||
|
||||
run 1
|
||||
Binary file not shown.
@ -1 +0,0 @@
|
||||
dummyfile
|
||||
@ -62,7 +62,7 @@ if [ $postproc == "true" ]
|
||||
|
||||
#- get VTK data from liggghts dump file
|
||||
cd $casePath/DEM/post
|
||||
python -i $CFDEM_LPP_DIR/lpp.py dump*.liggghts_restart
|
||||
python -i $CFDEM_LPP_DIR/lpp.py dump*.liggghts_run
|
||||
|
||||
#- get VTK data from CFD sim
|
||||
cd $casePath/CFD
|
||||
@ -90,14 +90,13 @@ rm -r $casePath/CFD/octave/octave-core
|
||||
rm -r $casePath/CFD/VTK
|
||||
rm -r $casePath/CFD/processor*
|
||||
rm -r $casePath/CFD/couplingFiles/*
|
||||
rm -r $casePath/DEM/post/*
|
||||
rm -r $casePath/DEM/log.*
|
||||
rm -r $casePath/DEM/liggghts.restartCFDEM*
|
||||
rm -r $casePath/CFD/probes
|
||||
rm -r $casePath/CFD/postProcessing
|
||||
rm -r $casePath/CFD/lagrangian
|
||||
rm -r $casePath/CFD/clockData
|
||||
rm -r $casePath/DEM/log.*
|
||||
rm -r $casePath/DEM/post/*.*
|
||||
rm -r $casePath/DEM/post/restart/*.*
|
||||
touch $casePath/DEM/post/.gitignore
|
||||
touch $casePath/DEM/post/restart/.gitignore
|
||||
echo "done"
|
||||
|
||||
#- preserve post directory
|
||||
echo "dummyfile" >> $casePath/DEM/post/dummy
|
||||
|
||||
@ -20,11 +20,18 @@ else
|
||||
blockMesh
|
||||
fi
|
||||
|
||||
if [ -f "$casePath/DEM/post/restart/liggghts.restart" ]; then
|
||||
echo "LIGGGHTS init was run before - using existing restart file"
|
||||
else
|
||||
#- run DEM in new terminal
|
||||
$casePath/DEMrun.sh
|
||||
fi
|
||||
|
||||
#-------------------------------------------------------#
|
||||
# adapt settings for init run
|
||||
cp $casePath/CFD/constant/liggghtsCommands_init $casePath/CFD/constant/liggghtsCommands
|
||||
cp $casePath/CFD/constant/couplingProperties_init $casePath/CFD/constant/couplingProperties
|
||||
cp $casePath/CFD/system/controlDict_init $casePath/CFD/system/controlDict
|
||||
cp $casePath/CFD/constant/liggghtsCommands_run $casePath/CFD/constant/liggghtsCommands
|
||||
cp $casePath/CFD/constant/couplingProperties_run $casePath/CFD/constant/couplingProperties
|
||||
cp $casePath/CFD/system/controlDict_run $casePath/CFD/system/controlDict
|
||||
#-------------------------------------------------------#
|
||||
|
||||
#- run parallel CFD-DEM in new terminal
|
||||
@ -102,7 +109,8 @@ source $WM_PROJECT_DIR/bin/tools/CleanFunctions
|
||||
cd $casePath/CFD
|
||||
cleanCase
|
||||
rm -r $casePath/CFD/clockData
|
||||
rm -r $casePath/DEM/post/*
|
||||
rm $casePath/DEM/liggghts.restartCFDEM*
|
||||
(cd $casePath/DEM/post && touch dummy)
|
||||
echo "done"
|
||||
rm -r $casePath/DEM/post/*.*
|
||||
rm -r $casePath/DEM/post/restart/*.*
|
||||
touch $casePath/DEM/post/.gitignore
|
||||
touch $casePath/DEM/post/restart/.gitignore
|
||||
echo "done"
|
||||
|
||||
@ -1,235 +0,0 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / 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_resume";
|
||||
}
|
||||
twoWayM2MProps
|
||||
{
|
||||
maxNumberOfParticles 10100;
|
||||
liggghtsPath "../DEM/in.liggghts_resume";
|
||||
}
|
||||
// ************************************************************************* //
|
||||
@ -1,44 +0,0 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / 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 off;
|
||||
overwrite off;
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -1,117 +0,0 @@
|
||||
/*--------------------------------*- 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;
|
||||
}*/
|
||||
);
|
||||
// ************************************************************************* //
|
||||
@ -1,64 +1,64 @@
|
||||
# Pour granular particles into chute container, then induce flow
|
||||
echo both
|
||||
atom_style granular
|
||||
atom_modify map array
|
||||
communicate single vel yes
|
||||
echo both
|
||||
atom_style granular
|
||||
atom_modify map array
|
||||
communicate single vel yes
|
||||
|
||||
boundary m m m
|
||||
newton off
|
||||
boundary m m m
|
||||
newton off
|
||||
|
||||
units si
|
||||
units si
|
||||
|
||||
region reg block -0.015 0.015 -0.015 0.015 -0.001 0.0554 units box
|
||||
create_box 1 reg
|
||||
region reg block -0.015 0.015 -0.015 0.015 -0.001 0.0554 units box
|
||||
create_box 1 reg
|
||||
|
||||
neighbor 0.001 bin
|
||||
neigh_modify delay 0
|
||||
neighbor 0.001 bin
|
||||
neigh_modify delay 0
|
||||
|
||||
|
||||
#Material properties required for new pair styles
|
||||
# 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 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 * *
|
||||
# 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
|
||||
# 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.
|
||||
# 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.
|
||||
|
||||
#particle distributions and insertion
|
||||
region bc cylinder z 0.0 0.0 0.012 0. 0.055 units box
|
||||
fix pts1 all particletemplate/sphere 1 atom_type 1 density constant 2000 radius constant 0.0005
|
||||
fix pdd1 all particledistribution/discrete 1. 1 pts1 1.0
|
||||
# particle distributions and insertion
|
||||
region bc cylinder z 0.0 0.0 0.012 0. 0.055 units box
|
||||
fix pts1 all particletemplate/sphere 1 atom_type 1 density constant 2000 radius constant 0.0005
|
||||
fix pdd1 all particledistribution/discrete 1 1 pts1 1.0
|
||||
|
||||
fix ins all insert/pack seed 100001 distributiontemplate pdd1 vel constant 0. 0. -1. insert_every once overlapcheck yes all_in yes particles_in_region 10000 region bc
|
||||
fix ins all insert/pack seed 100001 distributiontemplate pdd1 vel constant 0. 0. -1. insert_every once overlapcheck yes all_in yes particles_in_region 10000 region bc
|
||||
|
||||
#apply nve integration to all particles that are inserted as single particles
|
||||
fix integr all nve/sphere
|
||||
# apply nve integration to all particles that are inserted as single particles
|
||||
fix integr all nve/sphere
|
||||
|
||||
#screen output
|
||||
compute 1 all erotate/sphere
|
||||
thermo_style custom step atoms ke c_1 vol
|
||||
thermo 1000
|
||||
thermo_modify lost ignore norm no
|
||||
compute_modify thermo_temp dynamic yes
|
||||
# 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 5000 post/dump.liggghts_init id type type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius
|
||||
# insert the first particles so that dump is not empty
|
||||
run 1
|
||||
dump dmp all custom 5000 post/dump.liggghts_init id type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius
|
||||
#force : f_couple_cfd[0] f_couple_cfd[1] f_couple_cfd[2]
|
||||
#node : f_couple_cfd[6]
|
||||
#cell id : f_couple_cfd[7]
|
||||
|
||||
run 10000 upto
|
||||
write_restart liggghts.restart
|
||||
run 10000 upto
|
||||
write_restart post/restart/liggghts.restart
|
||||
|
||||
@ -1,71 +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
|
||||
atom_style granular
|
||||
atom_modify map array
|
||||
communicate single vel yes
|
||||
|
||||
boundary m m m
|
||||
newton off
|
||||
boundary m m m
|
||||
newton off
|
||||
|
||||
units si
|
||||
processors 2 2 1
|
||||
units si
|
||||
processors 2 2 1
|
||||
|
||||
#read the restart file
|
||||
read_restart ../DEM/liggghts.restartCFDEM_0.050000
|
||||
# read the restart file
|
||||
read_restart ../DEM/post/restart/liggghts.restartCFDEM
|
||||
|
||||
#do not do this here, the simulation box is in the restart file!
|
||||
#region reg block -0.015 0.015 -0.015 0.015 -0.001 0.0554 units box
|
||||
#create_box 1 reg
|
||||
neighbor 0.0005 bin
|
||||
neigh_modify delay 0
|
||||
|
||||
neighbor 0.0005 bin
|
||||
neigh_modify delay 0
|
||||
# Material properties required for granular pair styles
|
||||
|
||||
#Material properties required for new pair styles
|
||||
fix m1 all property/global youngsModulus peratomtype 5.e6
|
||||
fix m2 all property/global poissonsRatio peratomtype 0.45
|
||||
fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3
|
||||
fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
|
||||
|
||||
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 * *
|
||||
|
||||
#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
|
||||
|
||||
#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.
|
||||
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
|
||||
set group all density 2000
|
||||
|
||||
#cfd coupling
|
||||
fix cfd all couple/cfd couple_every 100 mpi
|
||||
fix cfd2 all couple/cfd/force
|
||||
# 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
|
||||
# apply nve integration to all particles that are inserted as single particles
|
||||
fix integr all nve/sphere
|
||||
|
||||
#center of mass
|
||||
compute centerOfMass all com
|
||||
# center of mass
|
||||
compute centerOfMass all com
|
||||
|
||||
#compute total dragforce
|
||||
compute dragtotal all reduce sum f_dragforce[1] f_dragforce[2] f_dragforce[3]
|
||||
# compute total dragforce
|
||||
compute dragtotal all reduce sum f_dragforce[1] f_dragforce[2] f_dragforce[3]
|
||||
|
||||
#screen output
|
||||
compute 1 all erotate/sphere
|
||||
thermo_style custom step atoms ke c_1 vol c_centerOfMass[3] c_dragtotal[1] c_dragtotal[2] c_dragtotal[3]
|
||||
thermo 10
|
||||
thermo_modify lost ignore norm no
|
||||
compute_modify thermo_temp dynamic yes
|
||||
# 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
|
||||
|
||||
#insert the first particles so that dump is not empty
|
||||
dump myDump all stl 1 post/dump_*.stl
|
||||
#run 1
|
||||
dump dmp all custom 5000 ../DEM/post/dump*.liggghts_restart id type type x y z vx vy vz fx fy fz f_dragforce[1] f_dragforce[2] f_dragforce[3] radius
|
||||
undump myDump
|
||||
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
|
||||
run 1
|
||||
|
||||
@ -1,71 +0,0 @@
|
||||
# Pour granular particles into chute container, then induce flow
|
||||
|
||||
atom_style granular
|
||||
atom_modify map array
|
||||
communicate single vel yes
|
||||
|
||||
boundary m m m
|
||||
newton off
|
||||
|
||||
units si
|
||||
processors 2 2 1
|
||||
|
||||
#read the restart file
|
||||
read_restart ../DEM/liggghts.restart
|
||||
|
||||
#do not do this here, the simulation box is in the restart file!
|
||||
#region reg block -0.015 0.015 -0.015 0.015 -0.001 0.0554 units box
|
||||
#create_box 1 reg
|
||||
|
||||
neighbor 0.0005 bin
|
||||
neigh_modify delay 0
|
||||
|
||||
#Material properties required for new pair styles
|
||||
|
||||
fix m1 all property/global youngsModulus peratomtype 5.e6
|
||||
fix m2 all property/global poissonsRatio peratomtype 0.45
|
||||
fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3
|
||||
fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
|
||||
|
||||
#pair style
|
||||
pair_style gran 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 1 all erotate/sphere
|
||||
thermo_style custom step atoms ke c_1 vol c_centerOfMass[3] c_dragtotal[1] c_dragtotal[2] c_dragtotal[3]
|
||||
thermo 10
|
||||
thermo_modify lost ignore norm no
|
||||
compute_modify thermo_temp dynamic yes
|
||||
|
||||
#insert the first particles so that dump is not empty
|
||||
dump myDump all stl 1 post/dump_*.stl
|
||||
#run 1
|
||||
dump dmp all custom 5000 ../DEM/post/dump*.liggghts_restart id type type x y z vx vy vz fx fy fz f_dragforce[1] f_dragforce[2] f_dragforce[3] radius
|
||||
undump myDump
|
||||
|
||||
run 1
|
||||
Binary file not shown.
@ -48,7 +48,7 @@ averagingModel dense;//dilute;//
|
||||
|
||||
clockModel off; //standardClock;//
|
||||
|
||||
smoothingModel off;//constDiffSmoothing; //
|
||||
smoothingModel constDiffSmoothing; //off;//
|
||||
|
||||
//useDDTvoidfraction;
|
||||
|
||||
@ -137,7 +137,7 @@ oneWayVTKProps
|
||||
|
||||
twoWayMPIProps
|
||||
{
|
||||
liggghtsPath "../DEM/in.liggghts_init";
|
||||
liggghtsPath "../DEM/in.liggghts_run";
|
||||
}
|
||||
|
||||
twoWayFilesProps
|
||||
@ -166,7 +166,7 @@ bigParticleProps
|
||||
|
||||
engineProps
|
||||
{
|
||||
treeSearch true;
|
||||
treeSearch true;
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -1,79 +0,0 @@
|
||||
echo both
|
||||
|
||||
# Pour granular particles into chute container, then induce flow
|
||||
|
||||
atom_style granular
|
||||
atom_modify map array sort 0 0
|
||||
communicate single vel yes
|
||||
#processors 1 1 2
|
||||
|
||||
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 new pair styles
|
||||
fix m1 all property/global youngsModulus peratomtype 5.e6
|
||||
fix m2 all property/global poissonsRatio peratomtype 0.45
|
||||
fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3
|
||||
fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
|
||||
#fix m5 all property/global characteristicVelocity scalar 2.0
|
||||
|
||||
#pair style
|
||||
pair_style gran model hertz tangential history #hertzan without cohesion
|
||||
pair_coeff * *
|
||||
|
||||
#timestep, gravity
|
||||
timestep 0.00001
|
||||
fix gravi all gravity 9.81 vector 0.0 -1.0 0.0
|
||||
|
||||
#walls (liggghts 2.0)
|
||||
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
|
||||
|
||||
#-import mesh from cad:
|
||||
#fix cad1 all mesh/gran hopperGenauerSALOME.stl 1 1.0 0. 0. 0. 0. 180. 0.
|
||||
|
||||
#-use the imported mesh as granular wall
|
||||
#fix bucket_wall all wall/gran/hertz/history 1 0 mesh/gran 1 cad1
|
||||
|
||||
#- 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 1 all erotate/sphere
|
||||
thermo_style custom step atoms ke c_1 vol
|
||||
thermo 1000
|
||||
thermo_modify lost ignore norm no
|
||||
compute_modify thermo_temp dynamic yes
|
||||
|
||||
#insert the first particles so that dump is not empty
|
||||
run 1
|
||||
dump dmp all custom 1000 ../DEM/post/dump.liggghts_init id type type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius
|
||||
|
||||
run 1 upto
|
||||
@ -1 +0,0 @@
|
||||
dummyfile
|
||||
@ -59,7 +59,7 @@ if [ $postproc == "true" ]
|
||||
|
||||
#- get VTK data from liggghts dump file
|
||||
cd $casePath/DEM/post
|
||||
python -i $CFDEM_LPP_DIR/lpp.py dump.liggghts_init
|
||||
python -i $CFDEM_LPP_DIR/lpp.py dump.liggghts_run
|
||||
|
||||
#- get VTK data from CFD sim
|
||||
cd $casePath/CFD
|
||||
@ -90,5 +90,5 @@ if [ $cleanCase == "true" ]
|
||||
fi
|
||||
|
||||
#- preserve post directory
|
||||
echo "dummyfile" >> $casePath/DEM/post/dummy
|
||||
touch $casePath/DEM/post/.gitignore
|
||||
|
||||
|
||||
@ -2,18 +2,15 @@
|
||||
|
||||
#===================================================================#
|
||||
# allrun script for testcase as part of test routine
|
||||
# run packedBedTemp
|
||||
# Christoph Goniva - June 2014
|
||||
# run settlingTest
|
||||
# Christoph Goniva - August 2011
|
||||
#===================================================================#
|
||||
|
||||
#- define variables
|
||||
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
|
||||
|
||||
#- include functions
|
||||
source $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh
|
||||
|
||||
# check if mesh was built
|
||||
if [ -f "$casePath/CFD/constant/polyMesh/points" ]; then
|
||||
if [ -f "$casePath/CFD/constant/polyMesh/boundary" ]; then
|
||||
echo "mesh was built before - using old mesh"
|
||||
else
|
||||
echo "mesh needs to be built"
|
||||
@ -21,27 +18,11 @@ else
|
||||
blockMesh
|
||||
fi
|
||||
|
||||
# check if DEM case was run
|
||||
if [ -f "$casePath/DEM/liggghts.restart" ]; then
|
||||
echo "DEM restart file found"
|
||||
if [ -f "$casePath/DEM/post/restart/liggghts.restart" ]; then
|
||||
echo "LIGGGHTS init was run before - using existing restart file"
|
||||
else
|
||||
echo "starting DEM run..."
|
||||
#--------------------------------------------------------------------------------#
|
||||
#- define variables
|
||||
logpath="$casePath"
|
||||
headerText="run_liggghts_packedBedTemp_DEM"
|
||||
logfileName="log_$headerText"
|
||||
solverName="in.liggghts_init"
|
||||
nrProcs=4
|
||||
machineFileName="none"
|
||||
debugMode="off"
|
||||
#--------------------------------------------------------------------------------#
|
||||
|
||||
#- clean up case
|
||||
rm -r $casePath/DEM/post/*
|
||||
|
||||
#- call function to run DEM case
|
||||
parDEMrun $logpath $logfileName $casePath $headerText $solverName $nrProcs $machineFileName $debugMode
|
||||
#- run DEM init
|
||||
$casePath/parDEMrun.sh
|
||||
fi
|
||||
|
||||
#- run parallel CFD-DEM in new terminal
|
||||
|
||||
@ -132,7 +132,7 @@ oneWayVTKProps
|
||||
twoWayMPIProps
|
||||
{
|
||||
maxNumberOfParticles 10000;
|
||||
liggghtsPath "../DEM/in.liggghts_resume";
|
||||
liggghtsPath "../DEM/in.liggghts_run";
|
||||
}
|
||||
|
||||
centreProps
|
||||
|
||||
@ -1,73 +1,73 @@
|
||||
#Particle packing by insertion and successive growing of particles
|
||||
# Particle packing by insertion and successive growing of particles
|
||||
|
||||
atom_style granular
|
||||
atom_modify map array
|
||||
boundary m m m
|
||||
newton off
|
||||
echo both
|
||||
atom_style granular
|
||||
atom_modify map array
|
||||
boundary m m m
|
||||
newton off
|
||||
echo both
|
||||
|
||||
communicate single vel yes
|
||||
communicate single vel yes
|
||||
|
||||
units si
|
||||
processors 1 1 *
|
||||
units si
|
||||
processors 1 1 2
|
||||
|
||||
region reg block 0. 0.1 0. 0.1 0. 1.1 units box
|
||||
create_box 1 reg
|
||||
region reg block 0. 0.1 0. 0.1 0. 1.1 units box
|
||||
create_box 1 reg
|
||||
|
||||
neighbor 0.002 bin
|
||||
neigh_modify delay 0
|
||||
neighbor 0.002 bin
|
||||
neigh_modify delay 0
|
||||
|
||||
|
||||
#Material properties required for new pair styles
|
||||
# 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 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
|
||||
|
||||
#New pair style
|
||||
pair_style gran model hertz tangential history #Hertzian without cohesion
|
||||
pair_coeff * *
|
||||
# pair style
|
||||
pair_style gran model hertz tangential history #Hertzian without cohesion
|
||||
pair_coeff * *
|
||||
|
||||
timestep 0.00001
|
||||
timestep 0.00001
|
||||
|
||||
#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 0.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 0.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 1.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
|
||||
|
||||
fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
|
||||
fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
|
||||
|
||||
#heat transfer
|
||||
fix ftco all property/global thermalConductivity peratomtype 5.
|
||||
fix ftca all property/global thermalCapacity peratomtype 10.
|
||||
fix heattransfer all heat/gran initial_temperature 263.
|
||||
# heat transfer
|
||||
fix ftco all property/global thermalConductivity peratomtype 5.
|
||||
fix ftca all property/global thermalCapacity peratomtype 10.
|
||||
fix heattransfer all heat/gran initial_temperature 263.
|
||||
|
||||
#particle distributions and insertion
|
||||
region bc block 0. 0.1 0. 0.1 0. 1.1 units box
|
||||
fix pts1 all particletemplate/sphere 1 atom_type 1 density constant 2500 radius constant 0.011
|
||||
fix pdd1 all particledistribution/discrete 1. 1 pts1 1.0
|
||||
# particle distributions and insertion
|
||||
region bc block 0. 0.1 0. 0.1 0. 1.1 units box
|
||||
fix pts1 all particletemplate/sphere 1 atom_type 1 density constant 2500 radius constant 0.011
|
||||
fix pdd1 all particledistribution/discrete 1 1 pts1 1.0
|
||||
|
||||
fix ins all insert/pack seed 100001 distributiontemplate pdd1 vel constant 0. 0. -3. insert_every 10000 overlapcheck yes all_in yes particles_in_region 1005 region bc
|
||||
fix ins all insert/pack seed 100001 distributiontemplate pdd1 vel constant 0. 0. -3. insert_every 10000 overlapcheck yes all_in yes particles_in_region 1005 region bc
|
||||
|
||||
#apply nve integration to all particles that are inserted as single particles
|
||||
fix integr all nve/sphere
|
||||
# apply nve integration to all particles that are inserted as single particles
|
||||
fix integr all nve/sphere
|
||||
|
||||
#output settings, include total thermal energy
|
||||
compute 1 all erotate/sphere
|
||||
thermo_style custom step atoms ke c_1 f_heattransfer vol
|
||||
thermo 1000
|
||||
thermo_modify lost ignore norm no
|
||||
compute_modify thermo_temp dynamic yes
|
||||
# output settings, include total thermal energy
|
||||
compute rke all erotate/sphere
|
||||
thermo_style custom step atoms ke c_rke f_heattransfer vol
|
||||
thermo 1000
|
||||
thermo_modify lost ignore norm no
|
||||
compute_modify thermo_temp dynamic yes
|
||||
|
||||
#insert the first particles
|
||||
run 1
|
||||
dump dmp all custom 1000 post/dump.packing id type type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius f_heattransfer[0] f_heatFlux[0]
|
||||
run 1
|
||||
dump dmp all custom 1000 post/dump.liggghts_init id type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius f_heattransfer[0] f_heatFlux[0]
|
||||
|
||||
run 150000
|
||||
run 150000
|
||||
|
||||
write_restart liggghts.restart
|
||||
write_restart post/restart/liggghts.restart
|
||||
|
||||
|
||||
Binary file not shown.
@ -65,7 +65,7 @@ if [ $postproc == "true" ]
|
||||
|
||||
#- get VTK data from liggghts dump file
|
||||
cd $casePath/DEM/post
|
||||
python -i $CFDEM_LPP_DIR/lpp.py dump.liggghts_init
|
||||
python -i $CFDEM_LPP_DIR/lpp.py dump.liggghts_run
|
||||
|
||||
#- get VTK data from CFD sim
|
||||
cd $casePath/CFD
|
||||
@ -83,11 +83,26 @@ if [ $postproc == "true" ]
|
||||
fi
|
||||
|
||||
#- clean up case
|
||||
echo "deleting data at: $casePath :\n"
|
||||
source $WM_PROJECT_DIR/bin/tools/CleanFunctions
|
||||
cd $casePath/CFD
|
||||
cleanCase
|
||||
rm -r $casePath/CFD/clockData
|
||||
rm -r $casePath/DEM/post/*
|
||||
(cd $casePath/DEM/post && touch dummy)
|
||||
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_*
|
||||
echo "done"
|
||||
|
||||
#- preserve post directory
|
||||
touch $casePath/DEM/post/.gitignore
|
||||
touch $casePath/DEM/post/restart/.gitignore
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user