Cell¶
- class openfts.Cell(cell_scale=None, cell_lengths=None, tilt_factors=None, dimension=None, length_unit=None)¶
TODO Simple one-sentence explanation of Cell object
- Parameters:
dimension (int) – Dimension of cell. Options:1, 2, 3
cell_lengths (float array) – Diagonals of cell tensor: \(L_x\), \(L_y\), \(L_z\). Length is equal to number of dimensions.
tilt_factors (float array) – Tilt factors: xy, xz, yz. Length depends on dimension (1d = 0, 2d = 1, 3d = 3).
cell_scale (float) – Factor to uniformly scale the cell
length_unit (string) – Length units to perform the simulation in. Options: Rg, b. See note below for explanation.
Note
- Internally, OpenFTS always stores cell dimensions in units of Rg. Unit conversion are performed upon input/output.
Rg - in units of reference polymer radius of gyration \(\sqrt{b_{ref}^2 N_{ref} / 6}\) (continuous chains) or \(\sqrt{b_{ref}^2 (N_{ref} - 1) / 6}\) (discrete chains)
b - in units of \(b_{ref}\)
The cell convention used in OpenFTS is the same as LAMMPS https://lammps.sandia.gov/doc/Howto_triclinic.html. Where the cell shape tensor is given by
\[\begin{split} \pmb{h} = \begin{pmatrix} L_x & xy & xz \\ 0 & L_y & yz \\ 0 & 0 & L_z \\ \end{pmatrix}\end{split}\]Example (python)
import openfts fts = openfts.OpenFTS() ... fts.cell = openfts.Cell(cell_scale=1.0,cell_lengths=[4.3],dimension=1,length_unit='Rg') ...
Example (json)
"cell": { "cell_scale": 3.8, "cell_lengths": [1.0, 0.866], "tilt_factors": [0.57735], "dimension": 2, "length_unit": "Rg" },