Skip to content

class src::drt::python::core::Study

class src::drt::python::core::Study
  : public _Study

Python intermediate for libdrt._Study.

Allow for the construction of a system, specification of study conditions, and finally the abillity to run a study. Note that many things may be preconfigured in the config files.

Summary

Members Descriptions
__init__(self, Union[str, Series], Optional[Union[Type[Atom], Structure]], Optional][Union[Callable, sympy.Expr], Optional[np.ndarray], Optional][Union[Config, str], bool, bool, bool, **kwargs) General constructor for starting a study.
segment_density(self) → np.ndarray Counts the dislocation density for a study per voxel.
density(self) → np.ndarray Computes the per system dislocation density for a study.
edge_density(self) → np.ndarray Computes the per system edge dislocation density for a study.
screw_density(self) → np.ndarray Computes the per system screw dislocation density for a study.
mixed_density(self) → np.ndarray Computes the per system mixed dislocation density for a study.
partial_gradient(self, int, int, bool, bool) → np.ndarray Partial computation for calculating the gradient of the system.
gradient(self) → np.ndarray Computes the gradient of the whole system without periodic images (property).
adjusted_gradient(self) → np.ndarray Computes the gradient of the whole system without periodic images (property).
average(self) → np.ndarray Computes the average gradient (property).
periodicity_gradient(self) → np.ndarray Computes the gradient at the boundary of the periodic cell (property).
deformation(self) → np.ndarray Computes the deformed lattice cell (property).
graph(self) →Graph Returns an adjacency wrapper on a per voxel level.
subgraph(self) → "Graph.SubGraph" Returns an adjacency wrapper on a per voxel level.
deviations(self, np.ndarray) → np.ndarray Computes the angle deviations of the system about given factors.
phase_space(self, np.ndarray, np.ndarray) → Tuple[np.ndarray, np.ndarray] Computes the angle deviations of the system about given factors.
reciprocals(self, np.ndarray) → Tuple[np.ndarray, np.ndarray, np.ndarray] Computes the angle deviations of the system about given factors.
raytrace(self, np.ndarray, Optional[np.ndarray], Optional[np.ndarray], point_source) → np.ndarray Computes the raytraced image of the system.

Members

__init__

__init__(self, study : Union[str, Series], structure : Optional[Union[Type[Atom], Structure]]=None, spectra : Optional][Union[Callable, sympy.Expr]=None, precomputed_gradient : Optional[np.ndarray]=None, config : Optional][Union[Config, str]=None, periodicity : bool=False, reset : bool=False, persist_microstructure : bool=True, **kwargs)

General constructor for starting a study.

Creates a Study and optionally seeds initial parameters:

Parameters
  • study the file name or pd3.Study object to perform the raytracing with.

  • reset boolean whether to flush GPU cache. Note this will corrupt exisiting studies.

segment_density

segment_density(self) → np.ndarray

Counts the dislocation density for a study per voxel.

density

density(self) → np.ndarray

Computes the per system dislocation density for a study.

TODO: Finish total implementation of this + different types of crystal type.

Returns: resolution x 13 dislocation densities, where 13 corresponds to the 12 slip systems + uncategorized.

edge_density

edge_density(self) → np.ndarray

Computes the per system edge dislocation density for a study.

NOTE: Only works for FCC for now. Returns: resolution x 13 dislocation densities, where 13 corresponds to the 12 slip systems + uncategorized.

screw_density

screw_density(self) → np.ndarray

Computes the per system screw dislocation density for a study.

NOTE: Only works for FCC for now. Returns: resolution x 7 dislocation densities, where 7 corresponds to the 6 bv + uncategorized.

mixed_density

mixed_density(self) → np.ndarray

Computes the per system mixed dislocation density for a study.

NOTE: Only works for FCC for now. Returns: resolution x 7 dislocation densities, where 7 corresponds to the 6 bv + uncategorized.

partial_gradient

partial_gradient(self, count : int=1, total : int=1, periodicity : bool=False, local : bool=False) → np.ndarray

Partial computation for calculating the gradient of the system.

Calculates the count/total section of the gradients.

Parameters
  • count the gradient section to calculate. 1 <= count <= total

  • total the count of possible sections.

  • periodicity flag for determining whether to factor in mirror cells.

gradient

gradient(self) → np.ndarray

Computes the gradient of the whole system without periodic images (property).

adjusted_gradient

adjusted_gradient(self) → np.ndarray

Computes the gradient of the whole system without periodic images (property).

average

average(self) → np.ndarray

Computes the average gradient (property).

NOTE: There is a slight discrepacy between this value, and the numpy computed value. For now, use the numpy value. See issue/13

periodicity_gradient

periodicity_gradient(self) → np.ndarray

Computes the gradient at the boundary of the periodic cell (property).

deformation

deformation(self) → np.ndarray

Computes the deformed lattice cell (property).

graph

graph(self) → Graph

Returns an adjacency wrapper on a per voxel level.

subgraph

subgraph(self) → "Graph.SubGraph"

Returns an adjacency wrapper on a per voxel level.

deviations

deviations(self, factors : np.ndarray) → np.ndarray

Computes the angle deviations of the system about given factors.

Parameters
  • factors the HKL integer factors for reflection.

phase_space

phase_space(self, source : np.ndarray, factors : np.ndarray) → Tuple[np.ndarray, np.ndarray]

Computes the angle deviations of the system about given factors.

Parameters
  • factors the HKL integer factors for reflection.

Returns: A tuple of the points in reciprocal space, and the corresponding intensities

reciprocals

reciprocals(self, factors : np.ndarray) → Tuple[np.ndarray, np.ndarray, np.ndarray]

Computes the angle deviations of the system about given factors.

Parameters
  • factors the HKL integer factors for reflection.

Returns: A tuple of the points in reciprocal space, and the corresponding intensities and energies

raytrace

raytrace(self, factors : np.ndarray, orientations : Optional[np.ndarray]=None, weights : Optional[np.ndarray]=None, point_source=False) → np.ndarray

Computes the raytraced image of the system.

Parameters
  • factors the HKL integer factors for reflection.