It is currently only possible to use the ZBL-potential together with the Tersoff potential. We are working on a separate implementation of the ZBL potential, which can be combined with arbitrary potentials. This will hopefully be available in ATK-2016.
Until then there is a workaround though, by specifying a TersoffZBLPotential, but setting the Tersoff-part of the potential to zero, e.g. for the interaction between Carbon and Carbon:
potentialSet = TremoloXPotentialSet(name = 'ZBL_and_Buckingham')
potentialSet.addParticleType(ParticleType(symbol='C', mass=12.0107 * atomic_mass_unit, atomicNumber=6))
# Define the Tersoff potential with zero A and B parameters.
potentialSet.addPotential(TersoffSingleTypePotential(
particleType = 'C',
A = 0.0*eV,
B = 0.0*eV,
R = 1.8*Angstrom,
S = 2.1*Angstrom,
l = 3.4653*1/Angstrom,
mu = 2.3064*1/Angstrom,
alpha = 0.0*1/Angstrom,
beta = 4.1612e-06,
omega = 1.0,
chi = 1.0,
chiR = 1.0,
m = 0,
n = 0.99054,
c = 19981.0,
d = 7.034,
h = -0.33953))
# Define the ZBL potential.
potential =
potentialSet.addPotential(TersoffZBLPotential(
particleType1 = 'C',
particleType2 = 'C',
type = 2,
Z1 = 6.0,
Z2 = 6.0,
a0 = 0.529*Angstrom,
rf = 0.95*Angstrom,
bf = 14.0*1/Angstrom)
)
# Add another pair potential
potentialSet.addPotential(BuckinghamPotential('C', 'C',
A=18003.7572*eV,
rho=0.20520481*Angstrom,
r_i=5.0*Angstrom,
r_cut=5.5*Angstrom))
calculator = TremoloXCalculator(parameters=potentialSet)
This will, however, not switch off the pair potential at small separations, but for most pair potentials the ZBL part should dominate here and provide the desired repulsive behaviour.
1. As per the description in http://www.quantumwise.com/documents/manuals/latest/ReferenceManual/index.html/ref.tersoffzblpotential.html, and looking through external references, I don't understand what bf and rf signify, and what values to put in for my structure.
The TersoffZBLPotential uses a Fermi-function to switch between ZBL and Tersoff part, and rf and bf are the corresponding parameters describing this function. Via the parameter rf you specify the distance below which the ZBL potential starts to contribute significantly, and bf specifies the width of the switching, i.e. how smooth the switching is. The values should be taken from the literature if available, otherwise set rf to small values e.g. 0.5*Ang, where you expect your original potential to fail.
2. How to set the outer cut-off radius (referred to as r_cut in the several other potential implementations)?
That depends on the range of the potential, the quicker they decay, the smaller the cutoff-radius can be set. Generally, a smaller cutoff-radius makes the potential faster, but the accuracy decreases as well. Typically one uses values between 7.0 and 10 Angstrom. For potentials with dispersion interactions (e.g. Lennard-Jones-like potentials with a term ~1/r
6) values of at least 8 Angstrom should be used.
If in doubt, you can always make a convergence test by plotting relevant properties, such as total energy vs. rcut.
3. If I set the r_cut for ZBL and r_i for Buckingham, will the range of radii between them be automatically spline interpolated?
ZBL does not have a rcut option as this potential will be smoothly switched of via the Fermi function. In any case, the ZBL potential-parameters should be chosen such that the potential is so short-ranged so that it essentially is zero at the cutoff-radius of any other potential.
4. Any suggestion for the type of Coulomb interaction to use: DSF or SPME?
DSF is faster and less accurate, as it neglects all the very-long-ranged contributions, SPME is more accurate but slower, as the long-range contributions are evaluated in k-space. For MD simulations, DSF should be sufficiently accurate, however, for calculations which require a higher accuracy, e.g. cell optimizations, elastic constants, phonon bandstructure, one should use either SPME, or DSF with an increased cutoff radius (e.g. 15 Angstrom or more) for good results.