mulitsphere break

Submitted by driley on Tue, 10/22/2019 - 04:38

I am attempting to use the multisphere break command to break apart the particles upon exceeding a vertical force. However, I receive an error stating that 'trigger_name' is an unknown command. Note I do not receive an error when the command is changed to 'trigger_fixName' and an appropriate fix is given. However, I intend to subject a multitude of multispheres to a compressive force, which continually increases. The code is shown below.

#Multisphere

atom_style sphere
atom_modify map array sort 0 0
boundary m m m
newton off

communicate single vel yes

#PUBLIC version only supports serial execution
processors 1 1 1

units si

region reg block -0.3 0.3 -0.3 0.3 0. 0.5 units box
create_box 1 reg

neighbor 0.004 bin
neigh_modify delay 0

#Material properties required for new pair styles

fix m1 all property/global youngsModulus peratomtype 1.e7
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.

#New pair style
pair_style gran model hertz tangential history #Hertzian without cohesion
pair_coeff * *

timestep 0.00001

fix gravi all gravity 9.81 vector 0.0 0.0 -1.0

fix zwalls all wall/gran model hertz tangential history primitive type 1 zplane 0.0

#distributions for insertion
fix pts1 all particletemplate/multisphere 15485863 atom_type 1 density constant 2500 nspheres 50 ntry 1000000 spheres file data/stone1.multisphere scale 0.001 type 1
fix pdd1 all particledistribution/discrete 15485867 1 pts1 1.0

#region and insertion
region bc cylinder z 0.0 0.0 0.25 0.1 0.4 units box

fix ins all insert/pack seed 32452843 distributiontemplate pdd1 vel constant 0. 0. -1. &
insert_every once overlapcheck yes region bc ntry_mc 10000 volumefraction_region 0.0004

compute 2 property/atom fz
variable dummy atom fz

#integrator for multisphere rigid bodies
fix integr2 all multisphere/break trigger_threshold 1 trigger_timeStep 2 trigger_name v_dummy
fix 2 all nve/sphere

#output settings, include total thermal energy
compute 1 all erotate/sphere
fix ts all check/timestep/gran 1000 0.1 0.1

thermo_style custom step atoms ke c_1 f_ts[1] f_ts[2] vol
thermo 1000
thermo_modify lost ignore norm no

run 1

#insert the first particles so that dump is not empty
dump dmp all custom/vtk 200 post/multi_*.vtk id type mol x y z vx vy vz fx fy fz omegax omegay omegaz radius

#insert particles
run 40000 upto

driley | Wed, 10/23/2019 - 01:54

Hello,

Well I checked the source code for the mutlisphere break command and the code has the trigger_name keyword. However, the error that appears on the console shows version 3.7. Is there a reason that the code from a previous version compiled but the newest did not?

mschramm | Wed, 10/23/2019 - 08:02

Hello,
I would check you /usr/local/bin folder to see if there are multiple instances of liggghts. If there are, try ln -l /usr/local/bin/* to see where things are linked. There may be an old install somewhere else on your machine.
You may want to check other places that are on your PATH variable that could be housing the executable.

If this does not work and the 3.8 version is compiled as lmp_auto, I would just create a symbolic link so you can keep working on your project
sudo ln -s /where/your/liggghts/3.8/file/is/src/lmp_auto /usr/local/bin/liggghts_3_8
This shouldn't cause any compatibility issues as long as you don't have another link called liggghts_3_8.