Box Module¶
Contains data structures for simulation boxes.
Simulation Box¶
-
class
freud.box.
Box
(*args, **kwargs)[source]¶ The freud Box class for simulation boxes.
Module author: Richmond Newman <newmanrs@umich.edu>
Module author: Carl Simon Adorf <csadorf@umich.edu>
Module author: Bradley Dice <bdice@bradleydice.com>
Changed in version 0.7.0: Added box periodicity interface
For more information about the definition of the simulation box, please see:
Parameters: -
L
¶ Return the lengths of the box as a tuple (x, y, z)
-
Linv
¶ Return the inverse lengths of the box (1/Lx, 1/Ly, 1/Lz)
Returns: dimensions of the box as (1/Lx, 1/Ly, 1/Lz) Return type: (float, float, float)
-
Lx
¶ Length of the x-dimension of the box
Getter: Returns this box’s x-dimension length Setter: Sets this box’s x-dimension length Type: float
-
Ly
¶ Length of the y-dimension of the box
Getter: Returns this box’s y-dimension length Setter: Sets this box’s y-dimension length Type: float
-
Lz
¶ Length of the z-dimension of the box
Getter: Returns this box’s z-dimension length Setter: Sets this box’s z-dimension length Type: float
-
classmethod
cube
(L)[source]¶ Construct a cubic box with equal lengths.
Parameters: L (float) – The edge length
-
dimensions
¶ Number of dimensions of this box (only 2 or 3 are supported)
Getter: Returns this box’s number of dimensions Setter: Sets this box’s number of dimensions Type: int
-
classmethod
from_matrix
(boxMatrix, dimensions=None)[source]¶ Initialize a box instance from a box matrix.
For more information and the source for this code, see: http://hoomd-blue.readthedocs.io/en/stable/box.html
-
getCoordinates
(self, f)¶ Convert a vector of relative box coordinates (each in [0..1]) into absolute coordinates
Parameters: f (list[float, float, float]) – list[fx, fy, fz] Returns: list[x, y, z] Return type: list[float, float, float]
-
getL
(self)¶ Return the lengths of the box as a tuple (x, y, z)
Returns: dimensions of the box as (x, y, z) Return type: (float, float, float)
-
getLatticeVector
(self, i)¶ Get the lattice vector with index i
Parameters: i (unsigned int) – Index (0<=i<d) of the lattice vector, where d is dimension (2 or 3) Returns: lattice vector with index i
-
getLinv
(self)¶ Return the inverse lengths of the box (1/Lx, 1/Ly, 1/Lz)
Returns: dimensions of the box as (1/Lx, 1/Ly, 1/Lz) Return type: (float, float, float)
-
getLx
(self)¶ Length of the x-dimension of the box
Returns: This box’s x-dimension length Return type: float
-
getLy
(self)¶ Length of the y-dimension of the box
Returns: This box’s y-dimension length Return type: float
-
getLz
(self)¶ Length of the z-dimension of the box
Returns: This box’s z-dimension length Return type: float
-
getPeriodic
(self)¶ Get the box’s periodicity in each dimension
Returns: list of periodic attributes in x, y, z Return type: list[bool, bool, bool]
-
getPeriodicX
(self)¶ Get the box periodicity in the x direction
Returns: True if periodic, False if not Return type: bool
-
getPeriodicY
(self)¶ Get the box periodicity in the y direction
Returns: True if periodic, False if not Return type: bool
-
getPeriodicZ
(self)¶ Get the box periodicity in the z direction
Returns: True if periodic, False if not Return type: bool
-
is2D
(self)¶ Return if box is 2D (True) or 3D (False)
Returns: True if 2D, False if 3D Return type: bool
-
makeCoordinates
(self, f)¶ Convert fractional coordinates into real coordinates
Parameters: f (numpy.ndarray([x, y, z], dtype=numpy.float32)) – Fractional coordinates between 0 and 1 within parallelpipedal box Returns: A vector inside the box corresponding to f
-
makeFraction
(self, vec)¶ Convert fractional coordinates into real coordinates
Parameters: vec (numpy.ndarray([x, y, z], dtype=numpy.float32)) – Coordinates within parallelpipedal box Returns: Fractional vector inside the box corresponding to f
-
periodic
¶ Box periodicity in each dimension
Getter: Returns this box’s periodicity in each dimension (True if periodic, False if not) Setter: Set this box’s periodicity in each dimension Type: list[bool, bool, bool]
-
set2D
(self, val)¶ Set the dimensionality to 2D (True) or 3D (False)
Parameters: val (bool) – 2D=True, 3D=False
-
setPeriodic
(self, x, y, z)¶ Set the box’s periodicity in each dimension
Parameters:
-
setPeriodicX
(self, val)¶ Set the box periodicity in the x direction
Parameters: val (bool) – True if periodic, False if not
-
setPeriodicY
(self, val)¶ Set the box periodicity in the y direction
Parameters: val (bool) – True if periodic, False if not
-
setPeriodicZ
(self, val)¶ Set the box periodicity in the z direction
Parameters: val (bool) – True if periodic, False if not
-
classmethod
square
(L)[source]¶ Construct a 2-dimensional (square) box with equal lengths.
Parameters: L (float) – The edge length
-
to_matrix
()[source]¶ Returns the box matrix (3x3).
Returns: box matrix Return type: list of lists, shape 3x3
-
unwrap
(self, vecs, imgs)¶ Wrap a given array of vectors back into the box from python
Parameters: vecs – numpy array of vectors (Nx3) (or just 3 elements) to wrap Note: vecs returned in place (nothing returned)
-
wrap
(self, vecs)¶ Wrap a given array of vectors back into the box from python
Parameters: vecs – numpy array of vectors (Nx3) (or just 3 elements) to wrap Note: vecs returned in place (nothing returned)
-