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:
@ -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
|
||||
|
||||
Reference in New Issue
Block a user