1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
.. _Adding new calculators:
======================
Adding new calculators
======================
Adding an ASE interface to your favorite force-calculator is very
simple. Take a look at the
:class:`~ase.calculators.calculator.Calculator` and
:class:`~ase.calculators.calculator.FileIOCalculator` classes below
(the code is here: :git:`ase/calculators/calculator.py`). You should
inherit from the :class:`~ase.calculators.calculator.FileIOCalculator`
and implement the :meth:`~ase.calculators.calculator.Calculator.read`,
:meth:`~ase.calculators.calculator.FileIOCalculator.read_results` and
:meth:`~ase.calculators.calculator.FileIOCalculator.write_input` methods.
The methods :meth:`~ase.calculators.calculator.Calculator.set`,
:meth:`~ase.calculators.calculator.Calculator.check_state` and
:meth:`~ase.calculators.calculator.Calculator.set_label` may also need
to be implemented.
.. seealso::
* The code for our Abinit interface: :git:`ase/calculators/abinit.py`
* :ref:`aep1`
* :mod:`ase.calculators`
Description of base-classes
===========================
The Calculator base-class
-------------------------
.. autoclass:: ase.calculators.calculator.Calculator
:members:
:private-members:
:member-order: bysource
The FileIOCalculator class
--------------------------
.. autoclass:: ase.calculators.calculator.FileIOCalculator
:members:
:private-members:
:member-order: bysource
|