Static polarizabilty in finite systemsΒΆ

Let us calculate the static polarizability of the water molecule.

import numpy as np
from ase.units import Bohr, Ha
from import molecule
from gpaw.cluster import Cluster
from gpaw import GPAW
from gpaw.external import static_polarizability

atoms = Cluster(molecule('H2O'))
atoms.calc = GPAW(mode='fd', txt=None)

alpha_cc = static_polarizability(atoms)
print('Polarizability tensor (units Angstrom^3):')
print(alpha_cc * Bohr * Ha)

w, v = np.linalg.eig(alpha_cc)
print('Eigenvalues', w * Bohr * Ha)
print('Eigenvectors', v)
print('average polarizablity', w.sum() * Bohr * Ha / 3, 'Angstrom^3')