:py:mod:`ccs_ase_G2B` ===================== .. py:module:: ccs_ase_G2B Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: ccs_ase_G2B.G2B_pair ccs_ase_G2B.G2B Functions ~~~~~~~~~ .. autoapisummary:: ccs_ase_G2B.ew .. py:class:: G2B_pair(elem1, elem2, G2B_params, exp=True) .. py:method:: eval_energy(r) .. py:method:: eval_force(r) .. py:function:: ew(atoms, q) .. py:class:: G2B(G2B_params=None, charge=None, q=None, charge_scaling=False, **kwargs) Bases: :py:obj:`ase.calculators.calculator.Calculator` General analyical 2B calculator Curvature constrained splines calculator compatible with the ASE format. :param input_file: To be added, Jolla. :type input_file: G2B.params :rtype: What does it return actually, Jolla? .. rubric:: Examples >>> To be added, Jolla. .. py:attribute:: implemented_properties .. py:method:: calculate(atoms=None, properties=['energy'], system_changes=all_changes) Do the calculation. properties: list of str List of what needs to be calculated. Can be any combination of 'energy', 'forces', 'stress', 'dipole', 'charges', 'magmom' and 'magmoms'. system_changes: list of str List of what has changed since last calculation. Can be any combination of these six: 'positions', 'numbers', 'cell', 'pbc', 'initial_charges' and 'initial_magmoms'. Subclasses need to implement this, but can ignore properties and system_changes if they want. Calculated properties should be inserted into results dictionary like shown in this dummy example:: self.results = {'energy': 0.0, 'forces': np.zeros((len(atoms), 3)), 'stress': np.zeros(6), 'dipole': np.zeros(3), 'charges': np.zeros(len(atoms)), 'magmom': 0.0, 'magmoms': np.zeros(len(atoms))} The subclass implementation should first call this implementation to set the atoms attribute and create any missing directories.