unfix wall

Submitted by thwagner on Wed, 07/14/2010 - 15:53

I use a geometry defined by an STL file and I move downwards another rectangular plane in order to wipe out some volume from atoms. In this empty volume I create some new atoms and I want to remove the former plane that separates the new atoms from the others.

When I unfix this rectanglular plane I receive a segmentaition fault (see below).

What I'm doing wrong? Is it possible to unfix wall/gran/hooke/history?
Or is there a better strategy to:
1.) pour a certain no. of particles in a STL defined geometry
2.) create an empty region keeping the no. of particles const.
3.) create new atoms in that empty region
4.) define these new atoms to be a rigid body.

I think of using fix indent instead of unfix a granular mesh.

With kind regards,
Thomas Wagner.

[buxtehude:11266] *** Process received signal ***
[buxtehude:11266] Signal: Segmentation fault (11)
[buxtehude:11266] Signal code: Address not mapped (1)
[buxtehude:11266] Failing at address: 0xa0
[buxtehude:11266] [ 0] /lib/libpthread.so.0(+0xf8f0) [0x7f57c53038f0]
[buxtehude:11266] [ 1] liggghts(_ZN9LAMMPS_NS6Modify8find_fixEPKc+0xe3) [0x677ac3]
[buxtehude:11266] [ 2] liggghts(_ZN9LAMMPS_NS15FixTriNeighlistC1EPNS_6LAMMPSEiPPc+0x68) [0x6232e8]
[buxtehude:11266] [ 3] liggghts(_ZN9LAMMPS_NS6Modify7add_fixEiPPc+0x1396) [0x67c176]
[buxtehude:11266] [ 4] liggghts(_ZN9LAMMPS_NS23FixWallGranHookeHistory20registerTriNeighlistEi+0x8c) [0x63139c]
[buxtehude:11266] [ 5] liggghts(_ZN9LAMMPS_NS23FixWallGranHookeHistory4initEv+0x122) [0x6316e2]
[buxtehude:11266] [ 6] liggghts(_ZN9LAMMPS_NS6Modify4initEv+0x220) [0x67a620]
[buxtehude:11266] [ 7] liggghts(_ZN9LAMMPS_NS6LAMMPS4initEv+0x31) [0x657a31]
[buxtehude:11266] [ 8] liggghts(_ZN9LAMMPS_NS3Run7commandEiPPc+0x229) [0x7473e9]
[buxtehude:11266] [ 9] liggghts(_ZN9LAMMPS_NS5Input15execute_commandEv+0x9ae) [0x65583e]
[buxtehude:11266] [10] liggghts(_ZN9LAMMPS_NS5Input4fileEv+0x3c8) [0x656098]
[buxtehude:11266] [11] liggghts(main+0x49) [0x65d1a9]
[buxtehude:11266] [12] /lib/libc.so.6(__libc_start_main+0xfd) [0x7f57c4f8fc4d]
[buxtehude:11266] [13] liggghts() [0x46bcc9]
[buxtehude:11266] *** End of error message ***
Segmentation fault

cstoltz | Wed, 07/14/2010 - 17:00

Thomas,

I'm not sure about the unfix of the wall - is this occuring immediately after the wall is removed? Could you share the input script?

For other strategies:
1) Can you define a region that encloses the space where you want the 1st set of particles to be at the time of the creation of the 2nd set, and just put the 1st set there to begin with, rather than try to move them there?
2) Can you create the 1st set of particles and then just apply gravity in whatever direction moves them out of the space you want to clear for the 2nd set?

Hope this helps,
Chris

thwagner | Thu, 07/15/2010 - 13:44

I presume the problem is the creation of extra atoms after reading in the restart file.

I wrote a simple restart script for the cohesion example. I just removed the definition of the pour fix and tried to create 40 particles (type = 1, diameter = 0.003, density = 2500) in region bc. I get a segmentation fault as before in the first timestep.

input script:

#Contact model example

atom_style granular
atom_modify map array
boundary m m m
newton off

communicate single vel yes

units si

region reg block -0.05 0.05 -0.05 0.05 0. 0.15 units box

neighbor 0.002 bin
neigh_modify delay 0

read_restart restart/restart.cohesion.*

#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.9
fix m4 all property/global coefficientFriction peratomtypepair 1 0.05
fix m5 all property/global characteristicVelocity scalar 2.
fix m6 all property/global cohesionEnergyDensity peratomtypepair 1 500

#New pair style
pair_style gran/hertz/history 1 1 #Hertzian with cohesion
pair_coeff * *

timestep 0.00001

fix gravi all gravity 9.81 vector 0.0 0.0 -1.0

fix zwalls all wall/gran/hertz/history 1 0 zplane 0.0 0.15 1
fix cylwalls all wall/gran/hertz/history 1 0 zcylinder 0.05 1

#region and insertion
region bc cylinder z 0.01 0.01 0.025 0.05 0.0603 units box
group nve_group region reg

#apply nve integration to all particles that are inserted as single particles
fix integr nve_group nve/sphere

#output settings, include total thermal energy
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

lattice sc 0.01
create_atoms 1 region bc
set region bc diameter 0.003
set region bc density 2500

#insert the first particles so that dump is not empty
run 1
dump dmp all custom 800 post/dump.cohesion id type type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius

#run
run 60000 upto

ckloss's picture

ckloss | Thu, 07/15/2010 - 15:28

hi Thomas,

can you also post (or send me by email) the script you use to generate the restart file? I will have a look then.
Otherwise, the error is hard to track.

Christoph

ckloss's picture

ckloss | Wed, 08/11/2010 - 10:52

Hi Thomas,

it is not possible to add particles when a restart is current - you have to use 'run 1' before 'create_atoms'. I will add an error message to the code

Thanks for the bug report,
Christoph

ckloss's picture

ckloss | Wed, 07/14/2010 - 20:22

>>What I'm doing wrong? Is it possible to unfix wall/gran/hooke/history?

Yes, it is possible to unfix a wall/gran/hooke/history. Can you send me the input script and data to run the simulation - I will then have a look then.

Best,
Christoph