LCAOCalculator — Class for representing calculations using the ATK-DFT numerical orbital model for configurations of the type MoleculeConfiguration and BulkConfiguration.
The constructor for the LCAOCalculator.
An object describing the basis set used for the LCAO calculation.
Type: LCAOBasisParameters
Default:
LDABasis.DoubleZetaPolarized
The choice of Exchange-Correlation for this calculation.
Type: An instance of the Exchange-Correlation.
Default:
LDA.PZ
The charge of the system, a charge of -1 corresponds to one extra electron.
Type: float
Default:
0.0
The NumericalAccuracyParameters used for the DFT calculation.
Type: NumericalAccuracyParameters
Default:
A default NumericalAccuracyParameters object.
The IterationControlParameters used for the DFT calculation. For non-self-consistent calculations set this parameter to NonSelfConsistent.
Type: IterationControlParameters
Default:
A default IterationControlParameters object.
The Poisson solver used to determine the electrostatic potential.
Type: MultigridSolver | FastFourierSolver | FastFourier2DSolver
Default:
BulkConfiguration without Metallic and Dielectric Regions=FastFourierSolver, BulkConfiguration with Metallic and Dielectric Regions=MultigridSolver([PeriodicBoundaryCondition]*3), MoleculeConfiguration without Metallic Regions=MultigridSolver([MultipoleBoundaryCondition]*3), MoleculeConfiguration with Metallic Regions=MultigridSolver([NeumannBoundaryCondition]*3)
The CheckpointHandler used for specifying the save-file and the time interval between saving the calculation during the scf-loop.
Type: CheckpointHandler
Default:
A default CheckpointHandler object.
A LCAOCalculator object provides the following methods:
This object supports cloning. See the section called “Cloning of ATK Python objects”.
basisSet(): Return the basis set.
charge(): Return the charge of the system.
checkpointHandler(): Return the checkpoint handler.
exchangeCorrelation(): Return the exchange-correlation
iterationControlParameters(): Query method for the IterationControlParameters.
numericalAccuracyParameters(): Query method for the NumericalAccuracyParameters.
poissonSolver(): Return the Poisson solver.
setBasisSet(): Set the basis set.
setCheckpointHandler(): Set the checkpoint handler.
setExchangeCorrelation(): Set the exchange-correlation
setIterationControlParameters(): Set the iteration control parameters.
setNumericalAccuracyParameters(): Set the numerical accuracy parameters.
setPoissonSolver(): Set the poisson solver.
Define an LCAOCalculator with user defined basis set
basis_set = [
LDABasis.Hydrogen_DoubleZetaPolarized,
LDABasis.Oxygen_DoubleZetaPolarized,
LDABasis.Nitrogen_DoubleZeta,
LDABasis.Carbon_SingleZeta,
]
calculator = LCAOCalculator(
basis_set=basis_set,
)
Restart an LCAO calculation using the self-consistent state from a previous calculation
# Read in the BulkConfiguration with the old scf state
old_calculation=nlread("filename.nc",BulkConfiguration)[0]
# Define the BulkConfiguration with similar number of atoms
new_calculation=BulkConfiguration(...)
# extract the old calculator
old_calculator = old_calculation.calculator()
# make a clone of the old calculator
new_calculator = old_calculator()
# Attach the calculator and use the old initial state
new_calculation.setCalculator(new_calculator, initial_state=old_calculation)