fix deposit & segmentation fault

Dear all,

I’m doing deposition simulation with reax/c using fix deposit command. I’m getting an error of segmentation fault and I can no way get rid of it. What I did finally is that I found a sample deposition script in mailing-list archive written by Steve earlier (http://lammps.sandia.gov/threads/msg25162.html). The script worked perfectly. I modified it but I again get an error. Only changes I made was:

  1. pbc: p p f -> p p p (removed wall/reflect)
  2. atom_style
  3. masses, lattice constant
  4. force field -> Reax/c and corresponding coeffs

I did these changes step by step. As soon as I introduced reax/c the error started appearing. Could anyone comment on that? Or has anyone successfully tried similar thing? I assume I’m missing something that I have to take into account when using reax/c with fix deposit.

Here is my modified script:

sample surface deposition script

units real
atom_style charge
boundary p p p

lattice fcc 4.05
region box block 0 5 0 5 0 5
create_box 2 box

region substrate block INF INF INF INF INF 3
create_atoms 1 region substrate

pair_style reax/c al_control
pair_coeff * * ffield.reax.Al 7 3

fix 5 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c

neigh_modify delay 0

region slab block 0 5 0 5 4 5
group addatoms type 2

compute add addatoms temp
compute_modify add dynamic yes extra 0

fix 1 addatoms nve

fix 2 addatoms deposit 100 2 100 12345 region slab near 1.0
#fix 3 addatoms wall/reflect zhi EDGE

thermo_style custom step atoms temp epair etotal press
thermo 100
thermo_modify temp add

dump 1 all atom 10 tmp.deposit
run 10000

Best wishes,

Manana Koberidze

Dear all,

I'm doing deposition simulation with reax/c using fix deposit command. I'm
getting an error of segmentation fault and I can no way get rid of it. What
I did finally is that I found a sample deposition script in mailing-list
archive written by Steve earlier
(LAMMPS Molecular Dynamics Simulator). The script worked
perfectly. I modified it but I again get an error. Only changes I made was:

1. pbc: p p f -> p p p (removed wall/reflect)
2. atom_style
3. masses, lattice constant
4. force field -> Reax/c and corresponding coeffs

I did these changes step by step. As soon as I introduced reax/c the error
started appearing. Could anyone comment on that? Or has anyone successfully
tried similar thing? I assume I'm missing something that I have to take into
account when using reax/c with fix deposit.

yes. i doubt that reax/c (or reax for that matter)
is compatible with depositing atoms into the system.

reax has to do a lot of additional bookkeeping for
its (elaborate) force calculation. this is not updated
when you deposit an atom.

axel.

Thank you very much Axel for your reply. Then I guess the only option is to take the deposit atoms as gas (and assign atoms -vz), so that the number of atoms in a system does not change. I hope reax/c should handle this.

It's possible that Reax is not expecting the number of atoms to change, but
if so, it is probably an easy fix. Can you post a (very) simple example
that quickly shows the segmentation fault when an atom is deposited?

Thanks,
Steve

Hello Steve,

Thank you for quick responses. Here it is, Al slab and O deposition script. Please find attached as a .txt file, also my control file. Hope I’m not missing anything stupid.

#------initialization

log deposit.log
dimension 3
units real
boundary p p p
atom_modify map array sort 0 2.0
atom_style charge

#-----atom definition --------#

lattice fcc 4.05
region mybox block 0 5 0 5 0 7
create_box 2 mybox
create_atoms 1 region mybox

region vacuum block 0 5 0 5 5 7
group 1 region vacuum

delete_atoms group 1

group addatoms type 2

mass 1 26.98
mass 2 16

#-------settings-----------#

neighbor 2.5 bin
neigh_modify every 10 delay 0 check no
pair_style reax/c al_control
pair_coeff * * ffield.reax.Al_Al0_AlN 7 3

fix 1 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c
fix 2 addatoms deposit 5 2 100 34467 region vacuum near 1.0

fix 3 addatoms nve

thermo 10

thermo_style custom step temp ke pe etotal vol fmax press atoms
thermo_modify norm yes lost warn

run 500

in.bulk (928 Bytes)

al_control (642 Bytes)