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 empty system, using a plane wave energy cutoff to determine the grid dimensions. |
|
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 to the system. |
|
Add Coulomb ions to the system. |
Add electrons#
Add electrons to the system. |
Add energy functionals#
Kinetic#
Add Huang Carter kinetic energy functional. |
|
Add Luo-Karasiev-Trickey kinetic energy functional. |
|
Add nonlocal kinetic energy functional of generic type A. |
|
Add Perrot kinetic energy functional. |
|
Add Smargiassi-Madden kinetic energy functional. |
|
Add Thomas-Fermi kinetic energy functional. |
|
Add Wang-Teter kinetic energy functional. |
|
Add Wang-Govind-Carter kinetic energy functional (density-dependent kernel). |
|
Add Wang-Govind-Carter functional (density-independent kernel). |
|
Add Weizsaecker kinetic energy functional. |
Electrostatic#
Add Hartree functional. |
|
Add ion-electron interaction functional. |
|
Add ion-ion interaction energy. |
Exchange-correlation#
Add libxc exchange-correlation functional. |
|
Add Perdew-Burke-Ernzerhof generalized gradient approximation exchange-correlation 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.