mirror of
https://github.com/ParticulateFlow/CFDEMcoupling-PFM.git
synced 2025-12-08 06:37:44 +00:00
release on 2014-07-04_08-57-37
This commit is contained in:
@ -2,15 +2,18 @@
|
||||
|
||||
#===================================================================#
|
||||
# allrun script for testcase as part of test routine
|
||||
# run settlingTest
|
||||
# Christoph Goniva - Sept. 2010
|
||||
# run ErgunTestMPI
|
||||
# Christoph Goniva - June 2014
|
||||
#===================================================================#
|
||||
|
||||
#- 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 [ -d "$casePath/CFD/constant/polyMesh/boundary" ]; then
|
||||
if [ -f "$casePath/CFD/constant/polyMesh/points" ]; then
|
||||
echo "mesh was built before - using old mesh"
|
||||
else
|
||||
echo "mesh needs to be built"
|
||||
@ -18,5 +21,28 @@ else
|
||||
blockMesh
|
||||
fi
|
||||
|
||||
# check if DEM case was run
|
||||
if [ -f "$casePath/DEM/liggghts.restart" ]; then
|
||||
echo "DEM restart file found"
|
||||
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
|
||||
fi
|
||||
|
||||
#- run parallel CFD-DEM in new terminal
|
||||
gnome-terminal --title='cfdemSolverPiso ErgunTestMPI CFD' -e "bash $casePath/parCFDDEMrun.sh"
|
||||
|
||||
@ -16,7 +16,7 @@ FoamFile
|
||||
|
||||
dimensions [0 2 -2 0 0 0 0];
|
||||
|
||||
internalField uniform 1.0e5;
|
||||
internalField uniform 1;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
@ -37,7 +37,7 @@ boundaryField
|
||||
//type zeroGradient;
|
||||
|
||||
type fixedValue;
|
||||
value uniform 1.0e5;
|
||||
value $internalField;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Binary file not shown.
@ -48,7 +48,7 @@ averagingModel dense;//dilute;//
|
||||
|
||||
clockModel off; //standardClock;//
|
||||
|
||||
smoothingModel constDiffSmoothing; //off;//
|
||||
smoothingModel off;//constDiffSmoothing; //
|
||||
|
||||
//useDDTvoidfraction;
|
||||
|
||||
|
||||
@ -24,10 +24,10 @@ 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
|
||||
#fix m5 all property/global characteristicVelocity scalar 2.0
|
||||
|
||||
#pair style
|
||||
pair_style gran model hooke tangential history #Hookean without cohesion
|
||||
pair_style gran model hertz tangential history #hertzan without cohesion
|
||||
pair_coeff * *
|
||||
|
||||
#timestep, gravity
|
||||
@ -35,12 +35,12 @@ 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 hooke tangential history primitive type 1 xplane 0.0
|
||||
fix xwalls2 all wall/gran model hooke tangential history primitive type 1 xplane 0.1
|
||||
fix ywalls1 all wall/gran model hooke tangential history primitive type 1 yplane 0.0
|
||||
fix ywalls2 all wall/gran model hooke tangential history primitive type 1 yplane 0.1
|
||||
fix zwalls1 all wall/gran model hooke tangential history primitive type 1 zplane 0.0
|
||||
fix zwalls2 all wall/gran model hooke tangential history primitive type 1 zplane 0.01
|
||||
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.
|
||||
|
||||
@ -16,7 +16,7 @@ FoamFile
|
||||
|
||||
dimensions [0 2 -2 0 0 0 0];
|
||||
|
||||
internalField uniform 1.0e5;
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
@ -24,19 +24,19 @@ boundaryField
|
||||
wall
|
||||
{
|
||||
type zeroGradient;
|
||||
value uniform 0;
|
||||
}
|
||||
|
||||
inlet
|
||||
{
|
||||
type zeroGradient;
|
||||
//type fixedValue;
|
||||
//value uniform 100000;
|
||||
value uniform 0;
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
//type zeroGradient;
|
||||
type fixedValue;
|
||||
value uniform 100000;
|
||||
value uniform 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -25,6 +25,8 @@ FoamFile
|
||||
|
||||
//===========================================================================//
|
||||
// sub-models & settings
|
||||
|
||||
//skipFlowSol;
|
||||
//verbose;
|
||||
|
||||
modelType B; // A or B
|
||||
@ -45,7 +47,7 @@ probeModel off;
|
||||
|
||||
dataExchangeModel twoWayMPI;//twoWayFiles;//oneWayVTK;//
|
||||
|
||||
averagingModel dense;//dilute;//
|
||||
averagingModel dense;
|
||||
|
||||
clockModel off;
|
||||
|
||||
@ -53,16 +55,14 @@ smoothingModel off;// localPSizeDiffSmoothing;// constDiffSmoothing; //
|
||||
|
||||
forceModels
|
||||
(
|
||||
noDrag
|
||||
Archimedes
|
||||
volWeightedAverage
|
||||
//volWeightedAverage
|
||||
);
|
||||
|
||||
forceModelsMS
|
||||
(
|
||||
//DiFeliceDragMS
|
||||
GidaspowDragMS
|
||||
//noDragMS
|
||||
DiFeliceDragMS
|
||||
//GidaspowDragMS
|
||||
);
|
||||
|
||||
momCoupleModels
|
||||
@ -82,25 +82,12 @@ implicitCoupleProps
|
||||
voidfractionFieldName "voidfraction";
|
||||
}
|
||||
|
||||
ArchimedesProps
|
||||
dividedProps
|
||||
{
|
||||
densityFieldName "rho";
|
||||
gravityFieldName "g";
|
||||
}
|
||||
gradPForceProps
|
||||
{
|
||||
pFieldName "p";
|
||||
densityFieldName "rho";
|
||||
velocityFieldName "U";
|
||||
interpolation;
|
||||
alphaMin 0.9;
|
||||
scaleUpVol 1.0;
|
||||
}
|
||||
|
||||
viscForceProps
|
||||
{
|
||||
velocityFieldName "U";
|
||||
densityFieldName "rho";
|
||||
interpolation;
|
||||
}
|
||||
volWeightedAverageProps
|
||||
{
|
||||
scalarFieldNames
|
||||
@ -114,22 +101,14 @@ volWeightedAverageProps
|
||||
lowerThreshold 0;
|
||||
//verbose;
|
||||
}
|
||||
totalMomentumExchangeProps
|
||||
{
|
||||
implicitMomExFieldName "Ksl";
|
||||
explicitMomExFieldName "none";
|
||||
fluidVelFieldName "U";
|
||||
granVelFieldName "Us";
|
||||
densityFieldName "rho";
|
||||
}
|
||||
|
||||
DiFeliceDragMSProps
|
||||
{
|
||||
velFieldName "U";
|
||||
densityFieldName "rho";
|
||||
voidfractionFieldName "voidfraction";
|
||||
hydraulicDiameter 0.002;
|
||||
//verbose;
|
||||
granVelFieldName "Us";
|
||||
//verbose;
|
||||
}
|
||||
|
||||
GidaspowDragMSProps
|
||||
@ -140,42 +119,10 @@ GidaspowDragMSProps
|
||||
hydraulicDiameter 0.002;
|
||||
}
|
||||
|
||||
oneWayVTKProps
|
||||
ArchimedesProps
|
||||
{
|
||||
couplingFilename "vtk_out%4.4d.vtk";
|
||||
maxNumberOfParticles 30000;
|
||||
}
|
||||
|
||||
twoWayFilesProps
|
||||
{
|
||||
maxNumberOfParticles 10100;
|
||||
}
|
||||
|
||||
centreProps
|
||||
{
|
||||
alphaMin 0.10;
|
||||
}
|
||||
|
||||
dividedMSProps
|
||||
{
|
||||
alphaMin 0.05;
|
||||
scaleUpVol 1.0;
|
||||
clumpVol 1.8433e-9; // this is particles volume, not clump!
|
||||
nrigid 10;
|
||||
}
|
||||
|
||||
bigParticleProps
|
||||
{
|
||||
alphaMin 0.05;
|
||||
scaleUpVol 50.0;
|
||||
maxCellsPerParticle 1000;
|
||||
}
|
||||
|
||||
GaussProps
|
||||
{
|
||||
maxCellsPerParticle 5000;
|
||||
alphaMin 0.05;
|
||||
scaleUpVol 10.0;
|
||||
densityFieldName "rho";
|
||||
gravityFieldName "g";
|
||||
}
|
||||
|
||||
engineProps
|
||||
|
||||
@ -36,9 +36,10 @@ divSchemes
|
||||
div(phi,R) Gauss limitedLinear 1;
|
||||
div(R) Gauss linear;
|
||||
div(phi,nuTilda) Gauss limitedLinear 1;
|
||||
div((nuEff*dev(grad(U).T()))) Gauss linear;
|
||||
div((nuEff*dev(T(grad(U))))) Gauss linear;
|
||||
div((viscousTerm*dev(grad(U).T()))) Gauss linear;
|
||||
div((nu*dev(grad(U).T()))) Gauss linear;
|
||||
div((nuEff*dev(grad(U).T()))) Gauss linear;
|
||||
}
|
||||
|
||||
laplacianSchemes
|
||||
|
||||
Binary file not shown.
@ -18,7 +18,7 @@ casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
|
||||
logpath=$casePath
|
||||
headerText="run_parallel_cfdemSolverPisoMS_ErgunTestMPI_CFDDEM"
|
||||
logfileName="log_$headerText"
|
||||
solverName="cfdemSolverPimpleDyMMS_22x" #"cfdemSolverPisoMS"
|
||||
solverName="cfdemSolverPimpleDyMMS_22x"
|
||||
nrProcs="2"
|
||||
machineFileName="none" # yourMachinefileName | none
|
||||
debugMode="off" # on | off
|
||||
|
||||
@ -2,15 +2,18 @@
|
||||
|
||||
#===================================================================#
|
||||
# allrun script for testcase as part of test routine
|
||||
# run settlingTest
|
||||
# Christoph Goniva - August 2011
|
||||
# run packedBedTemp
|
||||
# Christoph Goniva - June 2014
|
||||
#===================================================================#
|
||||
|
||||
#- 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 [ -d "$casePath/CFD/constant/polyMesh/boundary" ]; then
|
||||
if [ -f "$casePath/CFD/constant/polyMesh/points" ]; then
|
||||
echo "mesh was built before - using old mesh"
|
||||
else
|
||||
echo "mesh needs to be built"
|
||||
@ -18,6 +21,29 @@ else
|
||||
blockMesh
|
||||
fi
|
||||
|
||||
# check if DEM case was run
|
||||
if [ -f "$casePath/DEM/liggghts.restart" ]; then
|
||||
echo "DEM restart file found"
|
||||
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
|
||||
fi
|
||||
|
||||
#- run parallel CFD-DEM in new terminal
|
||||
gnome-terminal --title='cfdemSolverPisoScalar packedBedTemp CFD' -e "bash $casePath/parCFDDEMrun.sh"
|
||||
|
||||
|
||||
@ -132,7 +132,7 @@ oneWayVTKProps
|
||||
twoWayMPIProps
|
||||
{
|
||||
maxNumberOfParticles 10000;
|
||||
liggghtsPath "../DEM/in.liggghts_init";
|
||||
liggghtsPath "../DEM/in.liggghts_resume";
|
||||
}
|
||||
|
||||
centreProps
|
||||
|
||||
@ -1,20 +1,21 @@
|
||||
|
||||
# read packed bed and calc convective heat transfer
|
||||
#Particle packing by insertion and successive growing of particles
|
||||
|
||||
atom_style granular
|
||||
atom_modify map array
|
||||
communicate single vel yes
|
||||
boundary m m m
|
||||
newton off
|
||||
echo both
|
||||
|
||||
communicate single vel yes
|
||||
|
||||
units si
|
||||
processors 1 1 2
|
||||
processors 1 1 *
|
||||
|
||||
#read the restart file
|
||||
read_restart ../DEM/liggghts.restart
|
||||
region reg block 0. 0.1 0. 0.1 0. 1.1 units box
|
||||
create_box 1 reg
|
||||
|
||||
neighbor 0.003 bin
|
||||
neigh_modify delay 0 binsize 0.01
|
||||
neighbor 0.002 bin
|
||||
neigh_modify delay 0
|
||||
|
||||
|
||||
#Material properties required for new pair styles
|
||||
@ -24,15 +25,12 @@ 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
|
||||
#New 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
|
||||
#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
|
||||
@ -41,43 +39,35 @@ fix ywalls2 all wall/gran model hertz tangential history primitive type 1 yplan
|
||||
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
|
||||
|
||||
fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
|
||||
|
||||
#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.
|
||||
fix ftco all property/global thermalConductivity peratomtype 5.
|
||||
fix ftca all property/global thermalCapacity peratomtype 10.
|
||||
fix heattransfer all heat/gran initial_temperature 263.
|
||||
|
||||
#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. # former property/paratom
|
||||
#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
|
||||
|
||||
#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
|
||||
|
||||
#variable vx equal vx[1]
|
||||
#variable vy equal vy[1]
|
||||
#variable vz equal vz[1]
|
||||
#variable time equal step*dt
|
||||
#fix extra all print 500 "${time} ${vx} ${vy} ${vz}" file ../DEM/post/velocity.txt title "%" screen no
|
||||
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
|
||||
|
||||
|
||||
#screen output
|
||||
#output settings, include total thermal energy
|
||||
compute 1 all erotate/sphere
|
||||
thermo_style custom step atoms ke c_1 vol
|
||||
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
|
||||
|
||||
#insert the first particles so that dump is not empty
|
||||
#insert the first particles
|
||||
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 f_Temp[0] f_heatFlux[0]
|
||||
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 150000
|
||||
|
||||
write_restart liggghts.restart
|
||||
|
||||
run 1
|
||||
|
||||
Binary file not shown.
@ -1 +0,0 @@
|
||||
dummyfile
|
||||
|
||||
@ -83,25 +83,11 @@ if [ $postproc == "true" ]
|
||||
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*
|
||||
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/*
|
||||
rm -r $casePath/DEM/log.*
|
||||
rm -r $casePath/CFD/log.*
|
||||
rm -r $casePath/DEM/log.*
|
||||
rm -r $casePath/CFD/probes
|
||||
rm -r $casePath/CFD/postProcessing
|
||||
rm -r $casePath/log_*
|
||||
(cd $casePath/DEM/post && touch dummy)
|
||||
echo "done"
|
||||
|
||||
#- preserve post directory
|
||||
echo "dummyfile" >> $casePath/DEM/post/dummy
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user