Surface Binding Energy¶
SBETransformation
¶
SBETransformation(
max_index: int = 1,
min_slab_size: float = 10.0,
min_vacuum_size: float = 10.0,
height: float = 1.0,
supercell_size: list[int] | None = None,
isolated_atom_box_size: float = 20.0,
)
Generates slab, supercell, vacancy, and isolated-atom structures for SBE calculations.
apply_transformation is the sole public method. Exactly one of its structure, slab,
supercell_slab, or element arguments should be given; which one selects the structure
generated, since each is built from the previous step's (calculator-relaxed) output rather
than from the original bulk structure.
Initializes the SBETransformation object.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
max_index
|
int
|
Maximum Miller index to consider when generating slabs. Defaults to 1. |
1
|
min_slab_size
|
float
|
Minimum slab thickness in Angstroms for slab generation. Defaults to 10.0. |
10.0
|
min_vacuum_size
|
float
|
Minimum vacuum size in Angstroms for slab generation. Defaults to 10.0. |
10.0
|
height
|
float
|
Height above the surface, in Angstroms, used to identify surface atoms via
|
1.0
|
supercell_size
|
list[int] | None
|
Supercell replication factors applied to a slab
termination before vacancy generation. Defaults to |
None
|
isolated_atom_box_size
|
float
|
Side length, in Angstroms, of the cubic cell used to approximate a non-interacting isolated atom. Defaults to 20.0. |
20.0
|
apply_transformation
¶
apply_transformation(
structure: Structure | None = None,
slab: Structure | None = None,
supercell_slab: Structure | None = None,
element: str | None = None,
) -> (
list[Slab]
| Structure
| list[dict[str, int | str | Structure]]
)
Generates one of the SBE pipeline structures from exactly one of the given inputs.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
structure
|
Structure | None
|
The (relaxed) bulk structure to generate slab terminations from. |
None
|
slab
|
Structure | None
|
The slab termination, typically already relaxed, to replicate into a supercell. |
None
|
supercell_slab
|
Structure | None
|
The slab supercell to generate one single-atom vacancy structure from per identified surface site. |
None
|
element
|
str | None
|
The chemical symbol to build an isolated single-atom reference structure for. |
None
|
Returns:
| Type | Description |
|---|---|
list[Slab] | Structure | list[dict[str, int | str | Structure]]
|
list[Slab] | Structure | list[dict[str, int | str | Structure]]: Depending on which
argument was given:
- |
Raises:
| Type | Description |
|---|---|
ValueError
|
If zero, or more than one, of |