SCM Calculators in ASE¶
ASE calculators are implemented for ADF, BAND, DFTB, and ReaxFF. These will behave almost exactly like native ASE calculators, with the notable exception that they will by default use the SCM drivers for geometry optimization, since they perform significantly better both in convergence test and number of steps to convergence.
ADF Calculator¶
the ADF class¶
Class for SCMSUITE ADF ASE calculator. It is imported and used the following way: eg:
from ase.calculators.scm import ADF
some_molecule = ase.Atoms(...)
some_molecule.set_calculator(ADF(label=some_mol))
Will create a directory “some_mol”, in which some_mol.run will be found and executed. Note that it requires at least a label as argument, and that the Atoms object has to be non periodic.
Arguments and default values¶
- The following options can be passed to the constructor:
- template: string,
- name of a .adf file containing the calculation details. Any other argument passed to the calculator will override this template.
- restart: string,
- prefix for a restart file. May contain a directory. Default is None, so the calculations don’t restart except if specified.
- ignore_bad_restart_file: True or False,
- Ignore broken or missing restart file. By default, the scripts throw errors if the restart file is missing or broken.
- label: string,
- base name used for all created files. May contain a directory.
- atoms: ASE Atoms object,
- Optional Atoms object to which the calculator will be attached. When restarting, atoms will get its positions and unit-cell updated from file.
- job: type of job this calculator will run,
Defaults to GeometryOptimization, in which case any method like “get_potential_energy()” used on the attached atoms object will use the native ADF drivers to perform a geometry optimization. To use an ASE optimizer like BFGS or FIRE, set this option to SinglePoint.
SinglePointGeometryOptimizationFrequenciesNone, only use if template is given
- Calculation arguments:
these will be used for the ADF job construction.
charge = Chargeof the Atoms object, defaults to0spin = Spinof the Atoms object, defaults to0quality = Qualityof the models, defaults toNormal:BasicNormalGoodVeryGoodExcellent
integration = Integrationquality , defaults toNormal:- for Becke scheme:
BasicNormalGoodVeryGoodExcellent
- for TeVelde scheme:
345610
- for Becke scheme:
basis = Basisset, defaults to DZ:SZDZDZPTZPTZ2PQZ4P
frozencore = Sizeof the Frozen Core, defaults toLarge:NoneSmallMediumLarge
relativity = Levelof relativity theory to use, defaults toNone:NoneScalarSpin-Orbit
xc = Exchange-Corellation potentialto use during SCF, defaults toLDA:LDA,GGA:BP, GGA:BLYP, GGA:PW91, GGA:mPW, GGA:PBE, GGA:RPBE, GGA:revPBE, GGA:mPBE,GGA:OLYP, GGA:OPBE,Model:SAOP, Model:LB94,Hartree-Fock,Hybrid:B3LYP, Hybrid:B3LYP*, Hybrid:B1LYP, Hybrid:KMLYP, Hybrid:O3LYP, Hybrid:X3LYP,Hybrid:BHandH, Hybrid:BHandHLYP, Hybrid:B1PW91, Hybrid:MPW1PW, Hybrid:MPW1K,Hybrid:PBE0, Hybrid:OPBE0
postxc = Exchange-Corellation energyto use after SCF, defaults toDefault:DefaultLDA+GGA_METAGGALDA+GGA+METAGGA+HYBRIDS
BAND Calculator¶
the BAND class¶
Class for SCMSUITE BAND ASE calculator. It is imported and used the following way: eg:
from ase.calculators.scm import BAND
some_molecule = ase.Atoms(...)
some_molecule.set_calculator(BAND(label=some_mol))
Will create a directory “some_mol”, in which some_mol.run will be found and executed. Note that it requires at least a label as argument.
Arguments and default values¶
- The options passed to the constructor are the exact same ones as in the ADF calculator, wih the addition of the following one:
in calculation arguments:
kspace = k-spacegrid quality, defaults toNormalGammaOnlyBasicNormalGoodVeryGoodExcellent
DFTB Calculator¶
the DFTB class¶
Class for SCMSUITE DFTB ASE calculator. It is imported and used the following way: eg:
from ase.calculators.scm import DFTB
some_molecule = ase.Atoms(...)
some_molecule.set_calculator(DFTB(label=some_mol))
Will create a directory “some_mol”, in which some_mol.run will be found and executed. Note that it requires at least a label as argument.
Arguments and default values¶
- The following options can be passed to the constructor:
- template : string,
- name of a .adf file containing the calculation details. Any other argument passed to the calculator will override this template.
- restart: string,
- prefix for a restart file. May contain a directory. Default is None, so the calculations don’t restart except if specified.
- ignore_bad_restart_file: True or False,
- Ignore broken or missing restart file. By default, the scripts throw errors if the restart file is missing or broken.
- label: string,
- base name used for all created files. May contain a directory.
- atoms: ASE Atoms object,
- Optional Atoms object to which the calculator will be attached. When restarting, atoms will get its positions and unit-cell updated from file.
- job: type of job this calculator will run,
Defaults to GeometryOptimization, in which case any method like “get_potential_energy()” used on the attached atoms object will use the native ADF drivers to perform a geometry optimization. To use an ASE optimizer like BFGS or FIRE, set this option to SinglePoint.
SinglePointGeometryOptimizationFrequenciesNone, only use if template is given
- Calculation arguments:
these will be used for the DFTB job construction.
charge = Chargeof the Atoms object, defaults to0spin = Spinof the Atoms object, defaults to0(spin unrestricted not yet implemented)dftbmodel = DFTB schemeto use in the calculation. Default isDFTB.DFTBSCC-DFTBDFTB3
dftbparameters = Optional directoryfor dftb parameters files. Defaults to SCM library.
REAXFF Calculator¶
the REAXFF class¶
Class for SCMSUITE REAXFF ASE calculator. It is imported and used the following way: eg:
from ase.calculators.scm import REAXFF
some_molecule = ase.Atoms(...)
some_molecule.set_calculator(REAXFF(label=some_mol, forcefield=some_forcefield.ff))
Will create a directory “some_mol”, in which some_mol.run will be found and executed. Note that it requires at least a label as argument.
Arguments and default values¶
- The following options can be passed to the constructor:
- template : string,
- name of a .adf file containing the calculation details. Any other argument passed to the calculator will override this template.
- restart: string,
- prefix for a restart file. May contain a directory. Default is None, so the calculations don’t restart except if specified.
- ignore_bad_restart_file: True or False,
- Ignore broken or missing restart file. By default, the scripts throw errors if the restart file is missing or broken.
- label: string,
- base name used for all created files. May contain a directory.
- atoms: ASE Atoms object,
- Optional Atoms object to which the calculator will be attached. When restarting, atoms will get
- Calculation arguments:
these will be used for the ReaxFF job construction.
forcefield: library to use for parameters. Note: the calculation will fail if this is not specified!