NEML2 2.1.0
Loading...
Searching...
No Matches
neml2.crystallography Namespace Reference

Functions

neml2.Scalar misorientation (neml2.Rot r1, neml2.Rot r2, str orbifold='1')
neml2.Rot move_to_fundamental_zone (neml2.Rot r, str orbifold, neml2.Rot ref=...)
neml2.R2 symmetry (str orbifold, *, torch.dtype dtype=..., torch.device device=..., bool requires_grad=False)

Detailed Description

Crystallography helper routines

Function Documentation

◆ misorientation()

neml2.Scalar misorientation ( neml2.Rot r1,
neml2.Rot r2,
str orbifold = '1' )
Calculate the misorientation of two batches of rotations
:param r1:          First batch of rotations
:param r2:          Second batch of rotations
:param orbifold:    String giving the orbifold notation for the symmetry group
:return:            Batch of misorientation angles in radians

◆ move_to_fundamental_zone()

neml2.Rot move_to_fundamental_zone ( neml2.Rot r,
str orbifold,
neml2.Rot ref = ... )
Move a collection of orientations to a fundemental zone defined by the crystal symmetry
:param r:           Batch of rotations to move to the fundamental zone
:param orbifold:    String giving the orbifold notation for the symmetry group
:param ref:         Reference orientation to define the fundamental zone
:return:            Batch of rotations moved to the fundamental zone

◆ symmetry()

neml2.R2 symmetry ( str orbifold,
* ,
torch.dtype dtype = ...,
torch.device device = ...,
bool requires_grad = False )
Return the symmetry operators for a given symmetry group as a batch of rank two tensors

:param orbifold:    String giving the orbifold notation for the symmetry group
:param dtype:       Floating point scalar type used throughout the model.
:param device:      Device on which the model will be evaluated. All parameters, buffers,
    and custom data are synced to the given device.
:param requires_grad: If true, turn on requires_grad in the resulting tensor