Failed to allocate

Submitted by ullassssss on Tue, 08/22/2017 - 19:21

i need to insert spherical particles with radius ranging from 50e-6 to 100e-6 in a cylindrical container with radius 0.00571 and height 0.02 until the container is filled completely. Then the particles size grows and the subsequent wall pressure is to be obtained. I am using DELL inspiron laptop with Intel® Core™ i7-5500U CPU @ 2.40GHz × 4 processor and 8 GB RAM. The script file i prepared is given below.

### Initialization
# Preliminaries
units si
atom_style sphere
boundary m m m
newton off
communicate single vel yes
processors 1 2 2

# Declare domain
region reg block -0.007 0.007 -0.007 0.007 -0.001 0.030 units box
dimension 3
create_box 2 reg
neighbor 0.0002 bin
neigh_modify delay 0

### Setup
# Material and interaction properties
fix m1 all property/global youngsModulus peratomtype 1.0e7 1.0e7
fix m2 all property/global poissonsRatio peratomtype 0.31 0.31
fix m3 all property/global coefficientRestitution peratomtypepair 2 0.5 0.5 0.5 0.5
fix m4 all property/global coefficientFriction peratomtypepair 2 0.5 0.5 0.5 0.5
fix m5 all property/global characteristicVelocity scalar 2.

# Physics
pair_style gran model hertz tangential history
pair_coeff * *

# Particle insertions properties
fix pts1 all particletemplate/sphere 1 atom_type 1 density constant 8200 radius uniform number 50e-06 100e-06 volume_limit 20.933e-15
fix pdd1 all particledistribution/discrete 63243 1 pts1 1.0

# Geometry
fix cad1 all mesh/surface/stress/servo file LIGGGHTS_Examples/3.5/sample1.stl type 1 scale 1. stress on com 0. 0. 0. ctrlPV force axis 0. 0. 0. vel_max 1.0
fix cad2 all mesh/surface/stress file LIGGGHTS_Examples/3.5/bottom_plate.stl type 1 scale 1. stress on
fix ins_mesh all mesh/surface/planar file LIGGGHTS_Examples/3.5/factory.stl type 1 scale 1.
fix cad3 all mesh/surface/stress/servo file LIGGGHTS_Examples/3.5/top_plate.stl type 1 scale 1. stress on com 0. 0. 0. ctrlPV force axis 0. 0. -153.64 vel_max 1.0
fix geometry all wall/gran model hertz tangential history mesh n_meshes 3 meshes cad1 cad2 cad3

### Detailed settings
# Integration
fix integrator all nve/sphere

# Gravity
fix grav all gravity 9.81 vector 0.0 0.0 -1.0

# Timestep
timestep 0.000002

# Thermodynamic output
thermo_style custom step atoms ke cpu
thermo 10000
thermo_modify lost ignore norm no

### Execution and further settings

# Particle insertion – large particles
fix ins all insert/stream seed 123481 distributiontemplate pdd1 nparticles INF particlerate 100000 overlapcheck yes vel constant 0. 0. -0.5 insertion_face ins_mesh extrude_length 0.001
run 500000

#parameters for gradually growing particle diameter
variable alphastart equal 0.25
variable alphatarget equal 0.40
variable growts equal 50000
variable growevery equal 40
variable relaxts equal 50000

# Set the dumps
dump dumpmesh all mesh/vtk 10000 Ullas/dimple35/dump*.vtk stress
dump dmp all custom 10000 Ullas/dimple35/dump.1 id type type x y z ix iy iz vx vy vz fx fy fz
dump dmv all movie 10000 Ullas/dimple35/movie.avi type type size 640 480
dump dmi all image 10000 Ullas/dimple35/dump.*.jpg type type

#calculate grow rate
variable Rgrowrate equal (${alphatarget}/${alphastart})^(${growevery}/(3.*${growts}))
print "The radius grow rate is ${Rgrowrate}"

#do the diameter grow
compute rad all property/atom radius

variable dgrown atom ${Rgrowrate}*2.*c_rad
fix grow all adapt ${growevery} atom diameter v_dgrown

#run
run ${growts}

#let the packing relax
unfix grow
run ${relaxts}

But the simulation ended after the insertion of 8200 particles and showed the following error...

ERROR on proc 1: Failed to allocate 1221146460 bytes for array atom:binhead (/build/buildd/liggghts-3.0.3+repack/src/memory.cpp:45)

j-kerbl's picture

j-kerbl | Fri, 08/25/2017 - 12:58

Hi ullassssss,

your particles are rather small, as you can see directly by the volume_limit option.
You could change the atom array settings with something similar to  (https://www.cfdem.com/media/DEM/docu/atom_modify.html)
atom_modify sort 1000 0.0002
This should decrease the array size.

You should also consider switching to the cgs unit system, this would improve overall accuracy.

Cheers,
Josef