Dear mailing list,
I have written a potential within the atom_style charge.
I need to find the charges on each atom that minimizes the electrostatic
energy.
I am trying to use the
fix qeq/reax
But I get the error:
ERROR: Must use pair_style reax/c with fix qeq/reax
(../fix_qeq_reax.cpp:322)
My input file is this (my questions below).
%%%%%%%%%%%%% start of input file %%%%%%%%%%%%%
units metal
boundary p p p
atom_style charge # dove si definisce qst ???
read_data Cell.now.data
#-------------------------------------------------------------------------------------
# newton on # proviamo a metterlo
mass 1 26.98 # Al
mass 2 16.00 # O
#---------------------------------------------------------------------------------
kspace_style pppm 1e-5
kspace_modify gewald 0.319182 # to modify g_ewald = 1 / sigma # units
of g_ewald = 1/distance
#-------------------------------------------------------------------------------------
pair_style hybrid/overlay rfmeamlegfalse ctip 9.4
pair_coeff * * rfmeamlegfalse
../library.rfmeam.AlO.LazicThijsse.SET-05 Al O
pair_coeff * * ctip ../library.ctip.AlO.LazicThijsse.SET-04 Al O
pair_modify table 0 # in order never to enter in tabinner
#-------------------------------------------------------------------------------------
# TRY here charge equilibration
# prova con valori a caso per taper radius : giusto per vedere se gira
fix 1 all qeq/reax 1 0.0 10.0 0.1 params_qeq_AlO_DS
#----------------------------------------------------------------------------------------------------------------
# PRINT FORCES ON ATOMS
dump 1 all custom 1 Forces-data id fx fy fz type q #type # x y z xs ys zs
thermo_style custom etotal step fmax evdwl ecoul elong enthalpy
#-------------------------------------------------------------------------------------------------------------------
# MINIMIZATION
min_style cg
thermo 1 # == print at every step
minimize 0.2 0.2 0 0
#---------------------------------------------------------------------------------------------------------------
# Print the final cell
write_data data.*
%%%%%%%%%%%%% end of input file %%%%%%%%%%%%%
I am using version Feb14 without any patch.
My questions are:
1) Is the fix qeq/reax usable for the reaxFF-like potentials only ?
Once you comment "if (!force->pair_match("reax/c",1)) error->all(FLERR,"Must
use pair_style reax/c with fix qeq/reax");" out in the init() function, you
can use it with your own pair_style provided that you supply the qeq
parameters.
Does this case include also the "atom_style full" as in:
http://lammps.sandia.gov/threads/msg40099.html ?
Or am I missing sth and it can be used also with atom_style charge ?
It has to be used with atom_style charge, but since atom_style full is a
superset of charge, fix qeq/reax can be used with full also.
2) Is there anything already implemented (or soon to come) in Lammps that
computes the equilibrium charges in a generic system ?
Yes, soon to come. But a user still needs to supply qeq parameters.
3) In case there is not, could you advice me some publications on how to
implement it ?
Rappe and Goddard; Rick, Stuart and Berne; Streitz and Mintmire; Zhou,
Wadley, Filhol and Neurock, etc.
What would you advice me to change (or to start from) in the file
fix_qeq_reax.cpp to exclude the dihedral and similar parts that are
excluded in my potential so to be able to use it ?
Fix qeq/reax is pure pair wise for all non-bonded pairs.
Ray