mirror of
https://github.com/ParticulateFlow/LIGGGHTS-PFM.git
synced 2025-12-08 06:47:43 +00:00
add test cases for fix massflow/mesh + multisphere
test multiple massflow/mesh fixes with multisphere particles test restarting of massflow/mesh fixes with multisphere particles
This commit is contained in:
@ -0,0 +1,50 @@
|
||||
36.8556 10.4008 16.2552 10.434
|
||||
26.5761 9.54421 17.9684 9.81478
|
||||
17.1532 9.54421 21.395 8.92069
|
||||
34.2857 9.54421 26.5347 8.45937
|
||||
46.2785 12.1141 20.5383 7.31974
|
||||
25.7195 8.68758 28.248 7.28422
|
||||
14.5833 7.83095 29.9612 6.43447
|
||||
42.852 7.83095 25.6781 6.19172
|
||||
8.58691 8.68758 23.9648 5.85956
|
||||
29.146 12.1141 8.54554 5.77566
|
||||
31.7158 6.97433 34.2444 5.37241
|
||||
20.5797 6.97433 33.3877 5.22549
|
||||
24.0062 15.5406 10.2588 5.13666
|
||||
37.7122 6.1177 34.2444 4.73175
|
||||
18.8664 14.684 13.6853 4.66912
|
||||
25.7195 6.1177 35.101 4.44866
|
||||
41.9954 13.8273 27.3913 4.41894
|
||||
9.44353 14.684 20.5383 4.00812
|
||||
33.4291 6.97433 6.83229 3.85622
|
||||
7.73028 6.1177 29.9612 3.79948
|
||||
30.8592 3.54782 11.1154 3.70243
|
||||
35.1424 5.26107 38.5275 3.66942
|
||||
44.5653 4.40444 20.5383 3.64039
|
||||
52.2749 15.5406 17.1118 3.63813
|
||||
47.1351 9.54421 13.6853 3.63644
|
||||
29.146 17.2539 11.9721 3.58692
|
||||
45.4219 18.1105 16.2552 3.5797
|
||||
50.5616 18.1105 19.6817 3.41284
|
||||
30.8592 5.26107 39.3841 3.37012
|
||||
28.2893 15.5406 25.6781 3.36273
|
||||
27.4327 5.26107 39.3841 3.32772
|
||||
49.705 6.97433 24.8215 3.23261
|
||||
19.7231 2.69119 16.2552 3.20584
|
||||
41.9954 5.26107 31.6745 3.20311
|
||||
3.44714 6.1177 25.6781 3.18808
|
||||
46.2785 5.26107 17.1118 3.13116
|
||||
22.2929 5.26107 38.5275 3.06026
|
||||
41.1387 8.68758 31.6745 3.05632
|
||||
14.5833 5.26107 35.9576 3.04383
|
||||
23.1496 10.4008 8.54554 3.00958
|
||||
20.5797 3.54782 27.3913 3.00137
|
||||
39.4255 3.54782 29.9612 2.98994
|
||||
39.4255 16.3972 24.8215 2.9567
|
||||
39.4255 2.69119 23.1082 2.95111
|
||||
11.1568 12.9707 27.3913 2.90849
|
||||
10.3002 5.26107 34.2444 2.84552
|
||||
45.4219 10.4008 10.2588 2.82964
|
||||
20.5797 11.2575 10.2588 2.8207
|
||||
24.0062 5.26107 41.0974 2.81971
|
||||
14.5833 16.3972 15.3986 2.81899
|
||||
@ -0,0 +1,78 @@
|
||||
# 3D periodic bin: measure mass flow of multispheres at 2 levels in the domain
|
||||
|
||||
atom_style granular
|
||||
atom_modify map array sort 0 0
|
||||
boundary f f p
|
||||
newton off
|
||||
|
||||
communicate single vel yes
|
||||
processors * 1 1
|
||||
|
||||
units si
|
||||
|
||||
region reg block -0.021 0.021 -0.021 0.021 0.0 0.2 units box
|
||||
create_box 1 reg
|
||||
|
||||
neighbor 0.00025 bin
|
||||
neigh_modify delay 0
|
||||
|
||||
# material properties required for pair style
|
||||
fix m1 all property/global youngsModulus peratomtype 1.e8
|
||||
fix m2 all property/global poissonsRatio peratomtype 0.35
|
||||
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
|
||||
pair_coeff * *
|
||||
|
||||
timestep 0.000001
|
||||
|
||||
# particle insertion
|
||||
region ins_reg block -0.02 0.02 -0.02 0.02 0.005 0.195 units box
|
||||
|
||||
fix pts1 all particletemplate/multisphere 1 atom_type 1 density constant 2500 nspheres 50 ntry 1000000 spheres file data/stone1.multisphere scale 0.0005 type 1
|
||||
fix pdd1 all particledistribution/discrete 127981 1 pts1 1.0
|
||||
|
||||
fix ins all insert/pack seed 100001 distributiontemplate pdd1 vel constant 0. 0. -0.5 &
|
||||
insert_every once overlapcheck yes region ins_reg ntry_mc 10000 volumefraction_region 0.04
|
||||
|
||||
# integrator
|
||||
fix integr all multisphere
|
||||
|
||||
# surface mesh for mass flow measurement
|
||||
fix surface_mf1 all mesh/surface file meshes/massflow.stl type 1 scale 1.0 move 0.0 0.0 0.110
|
||||
fix surface_mf2 all mesh/surface file meshes/massflow.stl type 1 scale 1.0 move 0.0 0.0 0.002
|
||||
|
||||
# mass flow measurement
|
||||
# count particles only once, define outside by 3D point 'on the outside'
|
||||
fix massflow1 all massflow/mesh mesh surface_mf1 count once point_at_outlet 0.0 0.0 0.0 file post/massflow1_particle_data.txt
|
||||
fix massflow2 all massflow/mesh mesh surface_mf2 count once point_at_outlet 0.0 0.0 0.0 file post/massflow2_particle_data.txt
|
||||
|
||||
variable time equal step*dt # current simulation time (step and dt are built-in variables)
|
||||
variable m1 equal f_massflow1[1] # total mass that has crossed the mesh since simulation start
|
||||
variable np1 equal f_massflow1[2] # total number of particles that have crossed the mesh since simulation start
|
||||
variable mdot1 equal f_massflow1[3] # current mass flow
|
||||
variable npdot1 equal f_massflow1[4] # current particle flow rate
|
||||
variable m2 equal f_massflow2[1] # total mass that has crossed the mesh since simulation start
|
||||
variable np2 equal f_massflow2[2] # total number of particles that have crossed the mesh since simulation start
|
||||
variable mdot2 equal f_massflow2[3] # current mass flow
|
||||
variable npdot2 equal f_massflow2[4] # current particle flow rate
|
||||
|
||||
fix pmassout1 all print 5000 "${time} ${m1} ${np1} ${mdot1} ${npdot1}" screen no title "#t mass particles massflow particlerate" file post/massflow1.txt
|
||||
fix pmassout2 all print 5000 "${time} ${m2} ${np2} ${mdot2} ${npdot2}" screen no title "#t mass particles massflow particlerate" file post/massflow2.txt
|
||||
|
||||
# output settings
|
||||
thermo_style custom step atoms ke
|
||||
thermo 2000
|
||||
thermo_modify lost ignore norm no
|
||||
compute_modify thermo_temp dynamic yes
|
||||
|
||||
run 1
|
||||
|
||||
dump dmp all custom 2000 post/periodic_bin_ms_*.massflow id type radius mass x y z vx vy vz
|
||||
|
||||
run 200000 upto
|
||||
|
||||
write_restart post/restart/massflow_ms.restart
|
||||
|
||||
@ -0,0 +1,74 @@
|
||||
# 3D periodic bin: measure mass flow of multispheres at 2 levels in the domain
|
||||
|
||||
atom_style granular
|
||||
atom_modify map array sort 0 0
|
||||
boundary f f p
|
||||
newton off
|
||||
|
||||
communicate single vel yes
|
||||
processors * 1 1
|
||||
|
||||
units si
|
||||
|
||||
region reg block -0.021 0.021 -0.021 0.021 0.0 0.2 units box
|
||||
read_restart post/restart/massflow_ms.restart
|
||||
|
||||
neighbor 0.00025 bin
|
||||
neigh_modify delay 0
|
||||
|
||||
# material properties required for pair style
|
||||
fix m1 all property/global youngsModulus peratomtype 1.e8
|
||||
fix m2 all property/global poissonsRatio peratomtype 0.35
|
||||
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
|
||||
pair_coeff * *
|
||||
|
||||
timestep 0.000001
|
||||
|
||||
# particle insertion
|
||||
region ins_reg block -0.02 0.02 -0.02 0.02 0.005 0.195 units box
|
||||
|
||||
fix pts1 all particletemplate/multisphere 1 atom_type 1 density constant 2500 nspheres 50 ntry 1000000 spheres file data/stone1.multisphere scale 0.0005 type 1
|
||||
fix pdd1 all particledistribution/discrete 127981 1 pts1 1.0
|
||||
|
||||
fix ins all insert/pack seed 100001 distributiontemplate pdd1 vel constant 0. 0. -0.5 &
|
||||
insert_every once overlapcheck yes region ins_reg ntry_mc 10000 volumefraction_region 0.04
|
||||
|
||||
# integrator
|
||||
fix integr all multisphere
|
||||
|
||||
# surface mesh for mass flow measurement
|
||||
fix surface_mf1 all mesh/surface file meshes/massflow.stl type 1 scale 1.0 move 0.0 0.0 0.110
|
||||
fix surface_mf2 all mesh/surface file meshes/massflow.stl type 1 scale 1.0 move 0.0 0.0 0.002
|
||||
|
||||
# mass flow measurement
|
||||
# count particles only once, define outside by 3D point 'on the outside'
|
||||
fix massflow1 all massflow/mesh mesh surface_mf1 count once point_at_outlet 0.0 0.0 0.0 append post/massflow1_particle_data.txt
|
||||
fix massflow2 all massflow/mesh mesh surface_mf2 count once point_at_outlet 0.0 0.0 0.0 append post/massflow2_particle_data.txt
|
||||
|
||||
variable time equal step*dt # current simulation time (step and dt are built-in variables)
|
||||
variable m1 equal f_massflow1[1] # total mass that has crossed the mesh since simulation start
|
||||
variable np1 equal f_massflow1[2] # total number of particles that have crossed the mesh since simulation start
|
||||
variable mdot1 equal f_massflow1[3] # current mass flow
|
||||
variable npdot1 equal f_massflow1[4] # current particle flow rate
|
||||
variable m2 equal f_massflow2[1] # total mass that has crossed the mesh since simulation start
|
||||
variable np2 equal f_massflow2[2] # total number of particles that have crossed the mesh since simulation start
|
||||
variable mdot2 equal f_massflow2[3] # current mass flow
|
||||
variable npdot2 equal f_massflow2[4] # current particle flow rate
|
||||
|
||||
fix pmassout1 all print 5000 "${time} ${m1} ${np1} ${mdot1} ${npdot1}" screen no title none append post/massflow1.txt
|
||||
fix pmassout2 all print 5000 "${time} ${m2} ${np2} ${mdot2} ${npdot2}" screen no title none append post/massflow2.txt
|
||||
|
||||
# output settings
|
||||
thermo_style custom step atoms ke
|
||||
thermo 2000
|
||||
thermo_modify lost ignore norm no
|
||||
compute_modify thermo_temp dynamic yes
|
||||
|
||||
dump dmp all custom 2000 post/periodic_bin_ms_*.massflow id type radius mass x y z vx vy vz
|
||||
|
||||
run 500000 upto
|
||||
|
||||
@ -0,0 +1,39 @@
|
||||
{
|
||||
"runs": [
|
||||
{
|
||||
"name" : "periodic_massflow_mesh_ms",
|
||||
"input_script" : "in.periodic_bin_flow_ms",
|
||||
"type" : "serial",
|
||||
"data" : {
|
||||
"series" : [
|
||||
{"name" : "massflow1", "file" : "massflow1.txt", "columns" : ["t", "mass", "particles", "massrate", "particlerate"]},
|
||||
{"name" : "massflow2", "file" : "massflow2.txt", "columns" : ["t", "mass", "particles", "massrate", "particlerate"]}
|
||||
],
|
||||
"plots" : [
|
||||
{"name" : "massflowmass", "title" : "Total Mass", "xdata" : "massflow1.t", "ydata" : ["massflow1.mass","massflow2.mass"], "xlabel" : "time [s]", "ylabel" : "mass [kg]", "legend" : ["upper plane","lower plane"]},
|
||||
{"name" : "massflowparticles", "title" : "Total Particles", "xdata" : "massflow1.t", "ydata" : ["massflow1.particles","massflow2.particles"], "xlabel" : "time [s]", "ylabel" : "particles [-]", "legend" : ["upper plane","lower plane"]},
|
||||
{"name" : "massflowmassrate", "title" : "Mass Flow Rate", "xdata" : "massflow1.t", "ydata" : ["massflow1.massrate","massflow2.massrate"], "xlabel" : "time [s]", "ylabel" : "mass flow rate [kg/s]", "legend" : ["upper plane","lower plane"]},
|
||||
{"name" : "massflowparticlerate", "title" : "Particle Rate", "xdata" : "massflow1.t", "ydata" : ["massflow1.particlerate","massflow2.particlerate"], "xlabel" : "time [s]", "ylabel" : "particle rate [1/s]", "legend" : ["upper plane","lower plane"]}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "periodic_massflow_mesh_ms_restart",
|
||||
"depends_on" : "periodic_massflow_mesh_ms",
|
||||
"input_script": "in.periodic_bin_flow_ms_restart",
|
||||
"type": "serial",
|
||||
"data" : {
|
||||
"series" : [
|
||||
{"name" : "massflow1", "file" : "massflow1.txt", "columns" : ["t", "mass", "particles", "massrate", "particlerate"]},
|
||||
{"name" : "massflow2", "file" : "massflow2.txt", "columns" : ["t", "mass", "particles", "massrate", "particlerate"]}
|
||||
],
|
||||
"plots" : [
|
||||
{"name" : "massflowmass", "title" : "Total Mass", "xdata" : "massflow1.t", "ydata" : ["massflow1.mass","massflow2.mass"], "xlabel" : "time [s]", "ylabel" : "mass [kg]", "legend" : ["upper plane","lower plane"]},
|
||||
{"name" : "massflowparticles", "title" : "Total Particles", "xdata" : "massflow1.t", "ydata" : ["massflow1.particles","massflow2.particles"], "xlabel" : "time [s]", "ylabel" : "particles [-]", "legend" : ["upper plane","lower plane"]},
|
||||
{"name" : "massflowmassrate", "title" : "Mass Flow Rate", "xdata" : "massflow1.t", "ydata" : ["massflow1.massrate","massflow2.massrate"], "xlabel" : "time [s]", "ylabel" : "mass flow rate [kg/s]", "legend" : ["upper plane","lower plane"]},
|
||||
{"name" : "massflowparticlerate", "title" : "Particle Rate", "xdata" : "massflow1.t", "ydata" : ["massflow1.particlerate","massflow2.particlerate"], "xlabel" : "time [s]", "ylabel" : "particle rate [1/s]", "legend" : ["upper plane","lower plane"]}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user