Elk#
Elk is an all-electron full-potential linearised augmented-plane wave (LAPW) code.
Changed in version 3.26.0: ELK is now a subclass of GenericFileIOCalculator.
ELK can be configured with config.ini.
[elk]
command = /path/to/elk
sppath = /path/to/species
If you need to override it for programmatic control of the elk command,
use ElkProfile.
from ase.calculators.elk import ELK, ElkProfile
profile = ElkProfile(command='/path/to/elk')
calc = ELK(profile=profile)
- class ase.calculators.elk.ELK(*, profile=None, command=<object object>, label=<object object>, directory='.', **kwargs)[source]#
Elk calculator.
- Parameters:
**kwargs (dict, optional) – ASE standard keywords like
xc,kptsandsmearing(in ASE units) or any Elk-native keywords (numeric parameters in Elk units). All numeric parameters that are passed using Elk-native keys must be in Elk units.
Examples
>>> import numpy as np >>> from ase.calculators.elk import ELK >>> calc = ELK(tasks=[0], ngridk=np.array([3, 3, 3])) >>> params = {'tasks': [[0], [10]], 'ngridk': [8, 8, 8], 'nempty': 8, 'bfieldc': np.array((0.0, 0.0, -0.01)), 'spinpol': True, 'dft+u': ((2, 1), (1, 2, 0.183, 0.034911967))} >>> calc = ELK(**params) Note: ``np.array((0.0, 0.0, -0.01))``, ``[0.0, 0.0, -0.01]``, ``[[0.0, 0.0, -0.01]]``, and any combinations of lists, tuples, and ndarrays, are equivalent