Build a system#

Create an empty system#

The first step is to create an empty system, ordinarily using create().

system = profess.System.create(box_vectors, energy_cutoff, ['a','ev'])

The arguments provided to create() are the lattice vectors (in the rows of an array-like object or list), the plane wave cutoff energy, and the units for the previous variables (given as a list).

create

Create empty system, using a plane wave energy cutoff to determine the grid dimensions.

create_from_grid_shape

Create empty system with a specific grid dimensions.

Add ions#

The standard method is add_ions(), which uses a pseudopotential file. A method for adding bare Coulomb ions is also available.

add_ions

Add ions to the system.

add_coulomb_ions

Add Coulomb ions to the system.

Add electrons#

add_electrons

Add electrons to the system.

Add energy functionals#

Kinetic#

add_huang_carter_functional

Add Huang Carter kinetic energy functional.

add_luo_karasiev_trickey_functional

Add Luo-Karasiev-Trickey kinetic energy functional.

add_generic_nonlocal_a_functional

Add nonlocal kinetic energy functional of generic type A.

add_perrot_functional

Add Perrot kinetic energy functional.

add_smargiassi_madden_functional

Add Smargiassi-Madden kinetic energy functional.

add_thomas_fermi_functional

Add Thomas-Fermi kinetic energy functional.

add_wang_teter_functional

Add Wang-Teter kinetic energy functional.

add_wang_govind_carter_functional

Add Wang-Govind-Carter kinetic energy functional (density-dependent kernel).

add_wang_govind_carter_1999_i_functional

Add Wang-Govind-Carter functional (density-independent kernel).

add_weizsaecker_functional

Add Weizsaecker kinetic energy functional.

Electrostatic#

add_hartree_functional

Add Hartree functional.

add_ion_electron_functional

Add ion-electron interaction functional.

add_ion_ion_interaction

Add ion-ion interaction energy.

Exchange-correlation#

add_libxc_functional

Add libxc exchange-correlation functional.

add_perdew_burke_ernzerhof_functional

Add Perdew-Burke-Ernzerhof generalized gradient approximation exchange-correlation functional.

add_perdew_zunger_functional

Add local density approximation functional, Perdew-Zunger parameterization.

System complete#

After building the system, the usual next step is to find the ground state with minimize_energy().

One may then inspect the system, computing or reporting important properties, or modify the system, such as by moving the ions.