device_builder.utils.periodic_structure
Helper functions for PeriodicStructure pydantic model.
@private
Copyright © 2023-2025 HQS Quantum Simulations GmbH. All Rights Reserved.
def
array_to_lattice_vector( numpy_array: numpy.ndarray) -> device_builder.models.periodic_structure.LatticeVector:
Convert numpy array into LatticeVector model.
This helper function converts numpy array with shape (3,) into a pydantic model for a lattice vector.
Arguments:
- numpy_array (np.ndarray): Numpy array for 3D vector.
Returns:
LatticeVector: Pydantic model for a lattice vector.
def
lattice_vector_to_array( lattice_vector: device_builder.models.periodic_structure.LatticeVector) -> numpy.ndarray:
Convert LatticeVector model to array.
This helper function converts a pydantic model for a lattice vector to an (numpy) array.
Arguments:
- lattice_vector (LatticeVector): Pydantic model for a lattice vector.
Returns:
np.ndarray: Representation of the model as array for the SlaterKosterModel.
def
apply_deformation( initial_structure: device_builder.models.periodic_structure.PeriodicStructure, deformation: numpy.ndarray) -> device_builder.models.periodic_structure.PeriodicStructure:
Apply deformation to a periodic structure.
Arguments:
- initial_structure (PeriodicStructure): Initial periodic structure.
- deformation (np.ndarray): Deformation matrix (must be 3x3 matrix).
Raises:
- ValueError: If deformation matrix is not 3x3 matrix.
Returns:
PeriodicStructure: Deformed periodic structure.