Charges still remain on atoms

Hi All,

I am trying to simulate a system where two atoms of opposite charges attract each other and after they meet the charge of the atoms should get neutralized. I was unable to create this system, in the system I created atoms would meet but still retain the charge. Can anyone please suggest a way to do this?

My input script is below,

clear
units metal
atom_style charge
boundary p p p

region simbox block -10 10 -10 10 -20 20
create_box 2 simbox

region positive block -5 5 -5 5 -3 0 units box
lattice fcc 10.52
create_atoms 1 region positive
mass 1 63.5
group positive region positive
set type 1 charge 2.0

region negative block -5 5 -5 5 8 12 units box
lattice fcc 10.6150
create_atoms 2 region negative
mass 2 59.0
group negative region negative
set type 2 charge -2.0

velocity all create 300 12345

pair_style hybrid lj/cut/coul/long 5.0 eam
pair_coeff 1 1 eam Ni_smf7.eam
pair_coeff 2 2 eam Cu_smf7.eam
pair_coeff 1 2 lj/cut/coul/long 1.0 1.0
kspace_style pppm 1.0e-4

neighbor 2.0 bin
neigh_modify every 2 delay 10 check yes

fix 1 all nvt temp 300.0 300.0 1.0
fix 2 all temp/rescale 100 300.0 300.0 10.0 1.0

variable a equal charge(positive)
variable b equal charge(negative)
thermo_style custom step temp etotal press v_a v_b
thermo 500

dump 1 all xyz 1 elec.xyz

run 3000

Thanks a lot

Regards,

boddapar

Hi All,

I am trying to simulate a system where two atoms of opposite charges attract
each other and after they meet the charge of the atoms should get
neutralized. I was unable to create this system, in the system I created
atoms would meet but still retain the charge.

because the model that you are using (LJ plus coulomb) is a classical
model with fixed charges where the charge is an input parameter.

Can anyone please suggest a
way to do this?

this is not as easy as you may think. there are multiple issues where
you would first need to do a proper literature search.
- you need to find a model that can handle the physical process of
neutralization of the charges, i.e. when and how the electrons are
transferred, that is also applicable to your specific system. in
general, this would require a quantum chemical treatment. there also
is the question of what kind of macroscopic physical model you want to
represent and whether that is doable.
- assigning a charge of magnitude 2.0 to *every* atom is quite
unphysical. if you would use a correct model (see below) both metal
objects would explode immediately
- the EAM model does not use the charge property of your atoms, but
assumes a charge distribution of neutral atoms to compute the
embedding term. so it is not an adequate model to describe a system
where the charge of an atom changes.
- LAMMPS *does* support one method to redistribute charges during
simulation: charge equilibration via fix qeq/*, but i doubt it is
applicable in this case. most certainly not with EAM potentials. if
you try anyways, i strongly advise to *first* read the relevant
literature (and carefully so) and pay attention to the IMPORTANT NOTE
sections in the LAMMPS documentation for those fixes.

axel.

You’d have to write a fix that checks when
atoms of different charge signs get close together
and have it change their charge values. You can’t
do that with existing input script commands.

As Axel says, there are more sophisticated methods
for altering charges, like QeQ.

Steve

You may be able to do this with fix qeq/*. From the QEq concept, if two atoms have the same electronegativity then no polarization would occur between them. If you use the same QEq parameters for the pair of atoms that are oppositely charged, then charges on this pair of atoms should annihilate after these two atoms meet.

You can set the {cutoff} to a sufficiently small number. You will have to use the same QEq parameters for all types of atoms to achieve this. Please see fix qeq/* doc page for more info: http://lammps.sandia.gov/doc/fix_qeq.html

Ray