Author Topic: Tremolox Package  (Read 5621 times)

0 Members and 1 Guest are viewing this topic.

Offline rebeda

  • Heavy QuantumATK user
  • ***
  • Posts: 46
  • Country: in
  • Reputation: 0
    • View Profile
Tremolox Package
« on: August 31, 2015, 11:32 »
How do I generate interatomic potential parameter sets for a system consisting of Au, S, C, N, Cr and H ?
« Last Edit: August 31, 2015, 11:44 by rebeda »

Offline Julian Schneider

  • QuantumATK Staff
  • QuantumATK Guru
  • *****
  • Posts: 160
  • Country: dk
  • Reputation: 25
    • View Profile
Re: Tremolox Package
« Reply #1 on: August 31, 2015, 12:53 »
Generating new potential parameters is a generally a very difficult procedure and it is far from being a black-box procedure. Although, we are working on a tool that will facilitate fitting of new potentials, the current version of VNL does not include such functionality. If there is no parameter set for the desired combination of elements available in the literature, you need to do the fitting yourself.
The common approach is the following: First you generate reference training configurations of your system and calculate representative properties using a higher-level method (e.g. DFT), or use experimental values. These can be lattice constants, elastic constants, energy-displacement curves, atomic forces upon displacement, NEB-energy-curves etc. The reference date should resemble the situation you are finally interested in, as close as possible, so when you are interested in elastic properties, elastic constants should be reproduced by the potential, if you are interested in surface reactions, then bond breaking barriers (e.g. via NEB) should be included in the training set etc. Then you have to choose a potential form which might suit the general material class, e.g. embedded atom for metals and alloys, Tersoff for covalent crystals, or ionic potentials for oxides. Ideally, you can start from combing existing potentials, then you fit some or all potential parameters by hand or using an optimization algorithm (e.g. from numpy/scipy) until the reference properties calculated with the new parameter set match the reference properties sufficiently.
However, you should be aware that fitting potentials requires quite some experience in using classical potentials at the first place.
« Last Edit: August 31, 2015, 12:55 by Julian Schneider »

Offline rebeda

  • Heavy QuantumATK user
  • ***
  • Posts: 46
  • Country: in
  • Reputation: 0
    • View Profile
Re: Tremolox Package
« Reply #2 on: September 2, 2015, 08:58 »
I am unable to find the potential files for the potential parameter sets which are already present in the given  list. Would you please tell me how can I trace these files?

Thank you for your kind corporation.

Regards,
Rebeda
« Last Edit: September 2, 2015, 09:07 by rebeda »

Offline Julian Schneider

  • QuantumATK Staff
  • QuantumATK Guru
  • *****
  • Posts: 160
  • Country: dk
  • Reputation: 25
    • View Profile
Re: Tremolox Package
« Reply #3 on: September 2, 2015, 09:20 »
For most of the potentials, the parameters for the predefined potentials are in the source code itself.
You can, however, easily access and modify the parameters, by setting up a calculator with the desired potential in the Script Generator, and then setting "Script detail" in the "Global IO" settings of the Script Generator to "Show Defaults". If you then send the script to the Editor, a detailed python script with all potential functions and parameters is generated, where the parameters can easily be modified.
See also the tutorial "Adding, combining, and modifying classical potentials" (http://www.quantumwise.com/publications/tutorials/item/848-adding-combining-and-modifying-classical-potentials).

Offline rebeda

  • Heavy QuantumATK user
  • ***
  • Posts: 46
  • Country: in
  • Reputation: 0
    • View Profile
Re: Tremolox Package
« Reply #4 on: September 2, 2015, 13:27 »
I have tried doing it, but if you go through the below link  which is for EAMsetflPotential as an example
http://quantumwise.com/documents/manuals/latest/ReferenceManual/index.html/ref.eamsetflpotential.html


"# Add the EAM potential to the potential set
potentialSet.addPotential(EAMsetflPotential(file='Cu-Mishin-2001.eam.alloy',
                                            splineType='natural'))"

In the above script, where do I find in the source code the file: 'Cu-Mishin-2001.eam.alloy', as I could not trace it.  Similarly how to locate the file:'Ti-Ackland-1992.eam.fs' for 'EAMFS_Ti_1992' potential set.
 
Please help me.

Regards,
Rebeda

« Last Edit: September 2, 2015, 14:50 by rebeda »

Offline Julian Schneider

  • QuantumATK Staff
  • QuantumATK Guru
  • *****
  • Posts: 160
  • Country: dk
  • Reputation: 25
    • View Profile
Re: Tremolox Package
« Reply #5 on: September 2, 2015, 15:04 »
You are right, the parameters for EAM and ReaxFF are in stored in separate files. These files are shipped with VNL, so you don't need to generate anything, and you can just use the predefined potentials as they are.

In case you want to modify the predefined EAM or ReaxFF-potentials, you find the files,  if you go into the directory where VNL is installed, and then search for the filename from here. They will be in a subdirectory. You should never directly modify any of these files, as the corresponding predefined potential will be changed or lost without any notice!!!
Instead you should make a copy of this file in the same directory and modify the copied file.
If you then want to employ this new potential file, you simply have to specify the new file name instead of the old one in the EAMsetflPotential constructor (or ReaxFF constructor).
Still, you should be extremely careful when you make any changes in the VNL-installation directory!!

Offline rebeda

  • Heavy QuantumATK user
  • ***
  • Posts: 46
  • Country: in
  • Reputation: 0
    • View Profile
Re: Tremolox Package
« Reply #6 on: September 4, 2015, 12:08 »
Thank you for your kind reply.

Regards,
Rebeda
« Last Edit: September 4, 2015, 13:20 by rebeda »

Offline rebeda

  • Heavy QuantumATK user
  • ***
  • Posts: 46
  • Country: in
  • Reputation: 0
    • View Profile
Re: Tremolox Package
« Reply #7 on: September 25, 2015, 06:59 »
1. I have been trying to generate ReaxFF potential for my system consisting of Au,S,C and H. But, I am facing some problem locating the potential file (i.e. FField_AuSCH) which I got from this link
http://ttj.kapsi.fi/publ/ffield_AuSCH   
Since  it is not there in the quantumwise file which have been installed (i.e. VNL-ATK-2015.rc2), how can I fetch this file into my python script for execution?


2. Can I use two different types of ReaxFF potential ? will you please check the python file that I have made

# -------------------------------------------------------------
# Calculator
# -------------------------------------------------------------

# Create a new potential set
potentialSet.addTremoloXPotentialSet(name='ReaxFF_HOAu_2010')
potentialSet.addTremoloXPotentialSet(name='ReaxFF_CHONS_2010')

# Add the particle type to the potential set
potentialSet.addParticleType(ParticleType(symbol='Au',
                                          mass=196.96655*atomic_mass_unit))
potentialSet.addParticleType(ParticleType(symbol='S',
                                          mass=32.065*atomic_mass_unit))
potentialSet.addParticleType(ParticleType(symbol='C',
                                          mass=12.0107*atomic_mass_unit))
potentialSet.addParticleType(ParticleType(symbol='H',
                                          mass=1.00794*atomic_mass_unit))

# Add the ReaxFF potential to the potential set
potentialSet.addPotential(ReaxFFPotential(file='ffield_AuSCH',
                                          qeq=True,
                                          qeqEps=1.000000e-06,
                                          qeqMaxIter=200,
                                          lgvdw=False,
                                          bond_rcut=5.0*Angstrom,
                                          hbond_rcut=7.5*Angstrom,
                                          thb_bond_rcut=0.001000,
                                          thb_bond_rcutsq=0.000010,
                                          multiwell=False,
                                          strict_bondpairs=True))

# Create a new TremoloX calculator from the potential set
calculator = TremoloXCalculator(parameters=potentialSet)

Offline Julian Schneider

  • QuantumATK Staff
  • QuantumATK Guru
  • *****
  • Posts: 160
  • Country: dk
  • Reputation: 25
    • View Profile
Re: Tremolox Package
« Reply #8 on: September 28, 2015, 09:32 »
1. To use the external ReaxFF-file, you have to copy the downloaded ReaxFF-file into the Quantumwise installation under lib/python2.7/site-packages/tremolox/potentials/ReaxFF (under Linux, under Windows the path may be slightly different). Then you have to specify the following lines in the script to define the calculator:

potentialSet = TremoloXPotentialSet(name='ReaxFF_AuSCH')
potentialSet.addParticleType(ParticleType(symbol='H', mass=1.00794 * atomic_mass_unit, charge=None, sigma=None, sigma14=None, epsilon=None, epsilon14=None, atomicNumber=1))
potentialSet.addParticleType(ParticleType(symbol='Au', mass=196.967 * atomic_mass_unit, charge=None, sigma=None, sigma14=None, epsilon=None, epsilon14=None, atomicNumber=79))
potentialSet.addParticleType(ParticleType(symbol='C', mass=12.011 * atomic_mass_unit, charge=None, sigma=None, sigma14=None, epsilon=None, epsilon14=None, atomicNumber=6))
potentialSet.addParticleType(ParticleType(symbol='S', mass=32.06 * atomic_mass_unit, charge=None, sigma=None, sigma14=None, epsilon=None, epsilon14=None, atomicNumber=16))

# Add the ReaxFF potential to the potential set
potential = ReaxFFPotential(file='ffield_AuSCH',
                                          qeq=True,
                                          qeqEps=1.000000e-06,
                                          qeqMaxIter=200,
                                          lgvdw=False,
                                          bond_rcut=5.0*Angstrom,
                                          hbond_rcut=7.5*Angstrom,
                                          thb_bond_rcut=0.001000,
                                          thb_bond_rcutsq=0.000010,
                                          multiwell=False,
                                          strict_bondpairs=True)
potentialSet.addPotential(potential)

calculator = TremoloXCalculator(parameters=potentialSet)

The ReaFFpotential options may have to be adapted as needed.
Furthermore, when I tried to run the calculation, the potential file did not work out of the box, because apparently a line is missing. So you have to open the potential file in an Editor and add the following line as the second line:

4 C 6 H 1 S 16 Au 79

so that the beginning of the file reads like

Reactive MD-force field: AuSCH as published in T. T. Jarvi et al., J. Phys. Chem. A, doi: 10.1021/jp201496x
4 C 6 H 1 S 16 Au 79
 39       ! Number of general parameters                                       
   50.0000 !p(boc1)                                                             
    9.5469 !p(boc2)                                                             
   26.5405 !p(coa2)

This is to let the calculator know how many and which atoms it should expect.
However, you are strongly encouraged to test the potential, whether it gives the correct results before using it, because I haven't made any tests!

2. No, it is currently not possible to use more than one ReaxFF-potentials in the same calculator.

Offline rebeda

  • Heavy QuantumATK user
  • ***
  • Posts: 46
  • Country: in
  • Reputation: 0
    • View Profile
Re: Tremolox Package
« Reply #9 on: September 28, 2015, 13:14 »
Thank you for your kind reply.

With best regards,
Rebeda

Offline orhan

  • New QuantumATK user
  • *
  • Posts: 3
  • Country: us
  • Reputation: 0
    • View Profile
Re: Tremolox Package
« Reply #10 on: March 3, 2021, 02:26 »
Hi Julian:

Can we generate interatomic potential parameter sets now? You mentioned that" we are working on a tool that will facilitate the fitting of new potentials" Does the new version of QuantumATK has these tools? 

Thanks

Offline mlee

  • QuantumATK Guru
  • ****
  • Posts: 173
  • Country: dk
  • Reputation: 6
    • View Profile
Re: Tremolox Package
« Reply #11 on: March 3, 2021, 11:32 »
See https://docs.quantumatk.com/manual/Types/TremoloXPotentialSet/TremoloXPotentialSet.html

In the Potential Editor, you can create new or edit it.

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5394
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: Tremolox Package
« Reply #12 on: March 11, 2021, 02:03 »
I guess your question was more about fitting a potential, rather than just editing or inputting one in the GUI.

The technology we are working on is a kind of machine-learned potentials, and we have made really good progress, but of course there are caveats, so whether or not it's a suitable solution for your problem should be looked at in detail. Are you still considering biological systems like red blood cells, like you studied in your master thesis? In that case, the amount of different chemical elements involved may prove too difficult for machine learning, and it would be better to use some existing organic forcefield like OPLS (which we do have!). Also, ML potentials are a bit slow and not quite suitable for the number of atoms in bio-applications.

That said, sometimes you just want to fit a simple potential, like Lennard Jones (which you are intimately familiar with, I believe!). While we don't have a very user-friendly "tool" for that, it's certainly something that can be done within QuantumATK.

I suggest you contact us by email for a more thorough discussion :-)