SurfaceBuilder.build#
- SurfaceBuilder.build(miller_indices, min_slab_size=25.0, min_vacuum_size=15.0, max_broken_bonds=20, bonds_dict=None)[source]#
Generate crystalline surfaces from the structure.
- Parameters:
- miller_indicesSequence[int]
Miller indices for the surface cut (e.g., (1, 1, 1)).
- min_slab_sizefloat, default=25.0
Minimum thickness of the slab in Angstroms.
- min_vacuum_sizefloat, default=15.0
Minimum size of the added vacuum in Angstroms.
- max_broken_bondsint, default=20
Maximum number of broken bonds to accept.
- bonds_dictdict, optional
Dictionary of bond lengths for different element pairs. If None, uses default values.
- Returns:
- tuple
(slabs_list, shift_list, dipole_list, actual_broken)
- Raises:
- RuntimeError
If no structure is available for surface generation.
- ValueError
If the structure is not suitable for surface generation.