Structure classes (sknano.structures
)¶
Contents¶
This package defines classes for creating abstract object representations of nanostructures including fullerenes, graphene, and nanotubes.
See the specific class doc pages below for detailed documentation on its use.
Nanostructure Classes¶
Fullerene ([N, PG, Ni]) |
Fullerene structure class. |
Graphene ([armchair_edge_length, ...]) |
Graphene structure class. |
PrimitiveCellGraphene ([edge_length]) |
Graphene structure class built from a primitive unit cell. |
HexagonalGraphene |
alias of PrimitiveCellGraphene |
ConventionalCellGraphene ([...]) |
Graphene structure class built from a conventional unit cell. |
RectangularGraphene |
alias of ConventionalCellGraphene |
BilayerGraphene (**kwargs) |
Bilayer Graphene structure class. |
SWNT (*Ch, *[, nz, basis, bond, gutter, Lz, ...]) |
SWNT structure class. |
SWNTBundle (*args, **kwargs) |
SWNT bundle structure class. |
MWNT ([Ch_list, Nwalls, Lz, ...]) |
MWNT structure class. |
MWNTBundle (*args, *[, nx, ny, ...]) |
MWNT bundle structure class. |
Base/Mixin Classes¶
NanoStructureBase (*args, *[, basis, bond]) |
Base class for creating abstract representations of nanostructure. |
GrapheneBase ([basis, bond, nlayers, ...]) |
Graphene base structure class. |
NanotubeBundleBase (*args, *[, nx, ny, ...]) |
Nanotube bundle structure base class. |
GrapheneMixin |
Mixin class for graphene structure classes. |
SWNTMixin |
Mixin class for nanotube classes. |
MWNTMixin |
Mixin class for MWNTs. |
NanotubeBundleMixin |
Mixin class for nanotube bundles. |
UnrolledSWNTMixin |
Mixin class for unrolled nanotubes. |
Compute Functions¶
Nanotube compute functions:
compute_d (*Ch) |
Compute \(d=\gcd{(n, m)}\) |
compute_dR (*Ch) |
Compute \(d_R=\gcd{(2n + m, 2m + n)}\) |
compute_N (*Ch) |
Compute \(N = \frac{2(n^2+m^2+nm)}{d_R}\). |
compute_t1 (*Ch) |
Compute \(t_1 = \frac{2m + n}{d_R}\) |
compute_t2 (*Ch) |
Compute \(t_2 = -\frac{2n + m}{d_R}\) |
compute_Ch (*Ch, *[, bond]) |
Compute nanotube circumference \(|\mathbf{C}_{h}|\) in Å. |
compute_chiral_angle (*Ch, *[, degrees]) |
Compute chiral angle \(\theta_c\). |
compute_T (*Ch, *[, bond, length]) |
Compute length of nanotube unit cell \(|\mathbf{T}|\) in Å. |
compute_dt (*Ch, *[, bond]) |
Compute nanotube diameter \(d_t\) in Å. |
compute_rt (*Ch, *[, bond]) |
Compute nanotube radius \(r_t\) in Å. |
compute_M (*Ch) |
Compute \(M = mp - nq\) |
compute_R (*Ch, *[, bond, length]) |
Compute symmetry vector \(\mathbf{R} = (p, q)\). |
compute_R_chiral_angle (*Ch, *[, degrees]) |
Compute “chiral angle” of symmetry vector \(\theta_R\). |
compute_symmetry_operation (*Ch, *[, bond]) |
Compute symmetry operation \((\psi|\tau)\). |
compute_psi (*Ch) |
Compute rotation component of symmetry operation \(\psi\) in radians. |
compute_tau (*Ch, *[, bond]) |
Compute translation component of symmetry operation \(\tau\) in Å. |
compute_Lz (*Ch, *[, nz, bond]) |
Compute \(L_z = L_{\mathrm{tube}}\) in nanometers. |
compute_electronic_type (*Ch) |
Compute nanotube electronic type. |
compute_Natoms_per_unit_cell (*Ch) |
Compute \(N_{\mathrm{atoms/cell}} = 2N\). |
compute_Natoms_per_tube (*Ch, *[, nz]) |
Compute \(N_{\mathrm{atoms/tube}}\) |
compute_Natoms (*Ch, *[, nz]) |
Compute \(N_{\mathrm{atoms/tube}}\) |
compute_unit_cell_mass (*Ch, *[, element1, ...]) |
Compute nanotube unit cell mass in Daltons/atomic mass units (amu) units. |
compute_linear_mass_density (*Ch, *[, bond, ...]) |
Compute nanotube linear mass density (mass per unit length) in grams/nm. |
compute_tube_mass (*Ch, *[, nz, element1, ...]) |
Compute nanotube mass in grams. |
compute_bundle_density (*Ch, *[, r_vdw, ...]) |
Compute nanotube bundle mass density \(\rho_{\mathrm{bundle}}(n, m)\) in \(\mathrm{g/cm^3}\). |
Helper functions for working with \((n, m)\) chirality data¶
cmp_Ch (Ch1, Ch2) |
Custom comparator function for sorting chirality lists. |
filter_Ch (Ch[, even_only, odd_only, ...]) |
Filter for testing if chirality satisfies given constraint parameters. |
filter_Ch_list (Ch_list[, property_filters]) |
Filter list of chiralities. |
generate_Ch_list ([ns, ni, nf, dn, ms, mi, ...]) |
Generate a list of \((n, m)\) chiralities. |
generate_Ch_property_grid ([compute, imax]) |
Generate a 2-dimensional, \(i_{\mathrm{max}}\times i_{\mathrm{max}}\) grid of nanotube properties. |
get_Ch_indices (*args, *[, check_type]) |
Parse the chiral indices n and m from a vararg *args, which may be a tuple or 2 ints or from varkwargs **kwargs. |
get_Ch_type (Ch) |
Identify the type of nanotube based on its chirality |
map_Ch (Ch[, compute]) |
Map compute function using Ch as input. |