coulomb module

Full Documentation for hippynn.layers.physics.coulomb module. Click here for a summary page.

Layers for physical operations

class AlphaScreening(alpha)[source]

Bases: Module

class ChEQ(units={'energy': 'eV', 'length': 'Angstrom'}, lower_bound=0.0)[source]

Bases: Module

forward(species, coordinates, U, chi)[source]

species : shape (n_molecule, n_atom) coordinates : shape (n_molecule, n_atom, 3), unit Angstrom or bohr U : Hubbard U, diagonal part of A, shape (n_real_atom, 1), output from HCharge Node chi : Electronegatvitiy, shape (n_real_atom, 1), output from HCharge Node

dipole = <torch.jit.torch.jit.ScriptFunction object>
exact_charge = <torch.jit.torch.jit.ScriptFunction object>
class CombineScreenings(screening_list)[source]

Bases: Module

Returns products of different screenings for Screened Coulomb Interactions.

forward(pair_dist, radius)[source]

Product of different screenings applied to pair_dist upto radius.

Parameters:
  • pair_dist – torch.tensor, dtype=float64: ‘Neighborlist’ distances for coulomb energies.

  • radius – Maximum radius that Screened-Coulomb is evaluated upto.

Return screening:

Weights for screening for all pair_dist.

class CoulombEnergy(energy_conversion_factor)[source]

Bases: Module

Computes the Coulomb Energy of the molecule/configuration.

Coulomb energies is defined for pairs of atoms. Here, we adopt the convention that the Coulomby energy for a pair of atoms is evenly partitioned to both atoms as the ‘per-atom energies’. Therefore, the atom energies sum to the molecular energy; similar to the HEnergy.

forward(charges, pair_dist, pair_first, pair_second, system_index, n_systems)[source]

Define the computation performed at every call.

Should be overridden by all subclasses.

Note

Although the recipe for forward pass needs to be defined within this function, one should call the Module instance afterwards instead of this since the former takes care of running the registered hooks while the latter silently ignores them.

class EwaldRealSpaceScreening(alpha)[source]

Bases: AlphaScreening

forward(pair_dist, radius)[source]

Define the computation performed at every call.

Should be overridden by all subclasses.

Note

Although the recipe for forward pass needs to be defined within this function, one should call the Module instance afterwards instead of this since the former takes care of running the registered hooks while the latter silently ignores them.

class LocalDampingCosine(alpha)[source]

Bases: AlphaScreening

Local damping using complement of the hipnn cutoff function. (‘glue-on’ method) g = 1 if pair_dist > R_cutoff, 1 - [cos(pi/2 * dist * R_cutoff)]^2 otherwise

forward(pair_dist, radius)[source]
Parameters:
  • pair_dist – torch.tensor, dtype=float64: ‘Neighborlist’ distances for coulomb energies.

  • radius – Maximum radius that Screened-Coulomb is evaluated upto.

Return screening:

Weights for screening for each pair.

class QScreening(p_value)[source]

Bases: Module

forward(pair_dist, radius)[source]

Define the computation performed at every call.

Should be overridden by all subclasses.

Note

Although the recipe for forward pass needs to be defined within this function, one should call the Module instance afterwards instead of this since the former takes care of running the registered hooks while the latter silently ignores them.

property p_value
class ScreenedCoulombEnergy(energy_conversion_factor, screening, radius=None)[source]

Bases: CoulombEnergy

Computes the Coulomb Energy of the molecule/configuration.

The convention for the atom energies is the same as CoulombEnergy and the HEnergy.

forward(charges, pair_dist, pair_first, pair_second, system_index, n_systems)[source]

Define the computation performed at every call.

Should be overridden by all subclasses.

Note

Although the recipe for forward pass needs to be defined within this function, one should call the Module instance afterwards instead of this since the former takes care of running the registered hooks while the latter silently ignores them.

class WolfScreening(alpha)[source]

Bases: AlphaScreening

forward(pair_dist, radius)[source]

Define the computation performed at every call.

Should be overridden by all subclasses.

Note

Although the recipe for forward pass needs to be defined within this function, one should call the Module instance afterwards instead of this since the former takes care of running the registered hooks while the latter silently ignores them.

change_tanh_range(vals, minn, maxx)[source]

Map [-1,1] to [min, max]