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.
SinglePoint
GeometryOptimization
Frequencies
None, only use if template is given
- Calculation arguments:
these will be used for the ADF job construction.
charge = Charge
of the Atoms object, defaults to0
spin = Spin
of the Atoms object, defaults to0
quality = Quality
of the models, defaults toNormal
:Basic
Normal
Good
VeryGood
Excellent
integration = Integration
quality , defaults toNormal
:- for Becke scheme:
Basic
Normal
Good
VeryGood
Excellent
- for TeVelde scheme:
3
4
5
6
10
- for Becke scheme:
basis = Basis
set, defaults to DZ:SZ
DZ
DZP
TZP
TZ2P
QZ4P
frozencore = Size
of the Frozen Core, defaults toLarge
:None
Small
Medium
Large
relativity = Level
of relativity theory to use, defaults toNone
:None
Scalar
Spin-Orbit
xc = Exchange-Corellation potential
to 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 energy
to use after SCF, defaults toDefault
:Default
LDA+GGA_METAGGA
LDA+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-space
grid quality, defaults toNormal
GammaOnly
Basic
Normal
Good
VeryGood
Excellent
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.
SinglePoint
GeometryOptimization
Frequencies
None, only use if template is given
- Calculation arguments:
these will be used for the DFTB job construction.
charge = Charge
of the Atoms object, defaults to0
spin = Spin
of the Atoms object, defaults to0
(spin unrestricted not yet implemented)dftbmodel = DFTB scheme
to use in the calculation. Default isDFTB
.DFTB
SCC-DFTB
DFTB3
dftbparameters = Optional directory
for 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!