ccs_ase_G2B

Module Contents

Classes

G2B_pair

G2B

General analyical 2B calculator

Functions

ew(atoms, q)

class ccs_ase_G2B.G2B_pair(elem1, elem2, G2B_params, exp=True)
eval_energy(r)
eval_force(r)
ccs_ase_G2B.ew(atoms, q)
class ccs_ase_G2B.G2B(G2B_params=None, charge=None, q=None, charge_scaling=False, **kwargs)

Bases: ase.calculators.calculator.Calculator

General analyical 2B calculator

Curvature constrained splines calculator compatible with the ASE format.

Parameters:

input_file (G2B.params) – To be added, Jolla.

Return type:

What does it return actually, Jolla?

Examples

>>> To be added, Jolla.
implemented_properties
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.