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.