Core classes
Core classes#
- class atomman_gb.CubicGBInfo(uvw: Tuple[int, int, int], max_sigma: int)#
Grain-boundary information for cubic system.
Grain-boundary information for cubic system.
- Parameters
uvw ((int, int, int)) – Axis direction
max_sigma (int) – Maximum number to search for sigma
- property uvw#
Return axis direction.
- property max_sigma#
Maximum number to search for sigma.
- property planer_basis: numpy.ndarray[Any, numpy.dtype[numpy._typing._generic_alias.ScalarType]]#
Return two basis vectors orthogonal to uvw and uvw.
- property datum: list[dict[str, Any]]#
Return list of dictionary of grain-boundary information.
- Each dictionary has the following keys:
sigma
theta: angle of GB
rotation: rotation matrix in fractional coordinates
csl: transformation matrix from lattice-1 to CSL
csl_uvw: transformation matrix from lattice-1 to supercell of CSL parallel ot uvw
symmetric_tilt: [(plane_1, plane_2, plane_mid)]
- class atomman_gb.CubicGBGenerator(system: atomman.core.System.System, transform: numpy.ndarray[Any, numpy.dtype[numpy._typing._generic_alias.ScalarType]], rotation: numpy.ndarray[Any, numpy.dtype[numpy._typing._generic_alias.ScalarType]])#
Grain-boundary generator for cubic system.
Grain-boundary generator for cubic system.
- Parameters
system –
transform – transformation matrix of given system to monoclinic grain boundary. Boundary plane is assumed to be perpendicular to z-axis.
rotation – rotation matrix from lattice-1 to lattice-2
- property initial_system: atomman.core.System.System#
Return initial system.
- generate(expand_times: int = 1, ab_shifts: NDArray | None = None, c_thickness: float = 0, dmin: float | None = None) list[System] #
Generate grain boundary.
- Parameters
expand_times (int) –
ab_shifts (array, (-1, 2)) –
c_thickness (float) – width between system 1 and 2
dmin (float) – delete one of too close atoms less than
dmin
- classmethod make_tilt(system: atomman.core.System.System, rotation: numpy.ndarray[Any, numpy.dtype[numpy._typing._generic_alias.ScalarType]], uvw: Tuple[int, int, int], csl: numpy.ndarray[Any, numpy.dtype[numpy._typing._generic_alias.ScalarType]], plane: Tuple[int, int, int])#
Construct GB generator for symmetric tilt GB.
- classmethod make_twist(system: atomman.core.System.System, rotation: numpy.ndarray[Any, numpy.dtype[numpy._typing._generic_alias.ScalarType]], uvw: Tuple[int, int, int], csl: numpy.ndarray[Any, numpy.dtype[numpy._typing._generic_alias.ScalarType]])#
Construct GB generator for twist GB.