Author Topic: ZBL Potential  (Read 5348 times)

0 Members and 1 Guest are viewing this topic.

Offline DSarkar

  • Regular QuantumATK user
  • **
  • Posts: 22
  • Country: us
  • Reputation: 0
    • View Profile
ZBL Potential
« on: April 19, 2016, 05:30 »
Hi,

I was trying to reproduce the results of this paper: http://www.tandfonline.com/doi/abs/10.1080/10420150.2013.792818#.VxWj-zArKhc. They have used a combination of Coulomb potential, Buckingham potential, and ZBL potential for the interactions. Referring to the tutorial http://docs.quantumwise.com/tutorials/combining_potentials.html, I have some fair idea of implementing the Coulomb and the Buckingham potentials. However, I have a few questions regarding the ZBL potential.
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.
2. How to set the outer cut-off radius (referred to as r_cut in the several other potential implementations)?
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?
4. Any suggestion for the type of Coulomb interaction to use: DSF or SPME?
I greatly appreciate your useful replies.

Regards,

Debarghya

Offline Julian Schneider

  • QuantumATK Staff
  • QuantumATK Guru
  • *****
  • Posts: 164
  • Country: dk
  • Reputation: 25
    • View Profile
Re: ZBL Potential
« Reply #1 on: April 25, 2016, 11:26 »
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:
Code
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.
Quote
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.
Quote
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/r6) 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.
Quote
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.
Quote
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.

Offline DSarkar

  • Regular QuantumATK user
  • **
  • Posts: 22
  • Country: us
  • Reputation: 0
    • View Profile
Re: ZBL Potential
« Reply #2 on: April 27, 2016, 19:11 »
Hi Julian,

Thanks a lot for the detailed reply. I shall follow your suggestion to implement the potential. In general, do you think it would be a valid approach if I implemented the ZBL using General1Potential defined in VNL, using the correct parameters as given in the paper?

Regards,

Debarghya

Offline Julian Schneider

  • QuantumATK Staff
  • QuantumATK Guru
  • *****
  • Posts: 164
  • Country: dk
  • Reputation: 25
    • View Profile
Re: ZBL Potential
« Reply #3 on: April 28, 2016, 09:47 »
Yes, that it might also be possible to use a superposition of different General1Potentials to get the ZBL potential.
The only problem might be that the resulting potential might be rather long-ranged, i.e. it might extend into regions where only the normal potential should act. Therefore, at least in the TersoffZBLPotential, the ZBL-potential is switched off via the Fermi-function.
I don't have access to the paper you mention, so I don't know if such a switching function is used in your case.
If not, then you can safely use the General1Potential-combination.
If yes, then you should carefully check, how long-ranged your unscreened Genera1Potential-combination actually is, and whether it  introduces any artifacts into your system.