Source code for sknano.core.structures.bilayer_graphene
# -*- coding: utf-8 -*-
"""
===================================================================================
Bilayer Graphene structure class (:mod:`sknano.core.structures.bilayer_graphene`)
===================================================================================
.. currentmodule:: sknano.core.structures.bilayer_graphene
"""
from __future__ import absolute_import, division, print_function
from __future__ import unicode_literals
__docformat__ = 'restructuredtext en'
from .graphene import Graphene
__all__ = ['BilayerGraphene']
[docs]class BilayerGraphene(Graphene):
"""Bilayer Graphene structure class.
Parameters
----------
armchair_edge_length : float, optional
Length of armchair edge in **Angstroms**
.. versionadded:: 0.3.10
.. versionchanged:: 0.4.0
Changed units from nanometers to **Angstroms**
zigzag_edge_length : float, optional
Length of zigzag edge in **Angstroms**
.. versionadded:: 0.3.10
.. versionchanged:: 0.4.0
Changed units from nanometers to **Angstroms**
length : float, optional
Length of armchair edge in **Angstroms**
.. deprecated:: 0.3.10
Use `armchair_edge_length` instead
width : float, optional
Width of graphene sheet in **Angstroms**
.. deprecated:: 0.3.10
Use `zigzag_edge_length` instead
edge : {'AC', 'armchair', 'ZZ', 'zigzag'}, optional
**A**\ rm\ **C**\ hair or **Z**\ ig\ **Z**\ ag edge along
the `length` of the sheet.
.. deprecated:: 0.3.10
No longer used!
basis : {:class:`python:list`}, optional
List of :class:`python:str`\ s of element symbols or atomic number
of the two atom basis (default: ['C', 'C'])
.. versionadded:: 0.3.10
element1, element2 : {str, int}, optional
Element symbol or atomic number of basis
:class:`~sknano.core.Atom` 1 and 2
.. deprecated:: 0.3.10
Use `basis` instead
bond : float, optional
:math:`\\mathrm{a}_{\\mathrm{CC}} =` distance between
nearest neighbor atoms. Must be in units of **Angstroms**.
layer_spacing : float, optional
Distance between layers in **Angstroms** (default: 3.4).
stacking_order : {'AA', 'AB'}, optional
Stacking order of graphene layers.
layer_rotation_angles : list, optional
list of rotation angles for each layer in **degrees** if
`degrees` is `True` (default), otherwise in radians.
The list length must equal the number of layers.
layer_rotation_increment : float, optional
incremental layer rotation angle in **degrees** if
`degrees` is `True` (default), otherwise in radians.
Each subsequent layer will
be rotated by `layer_rotation_increment` relative to the layer
below it.
verbose : bool, optional
verbose output
"""
def __init__(self, **kwargs):
super().__init__(nlayers=2, **kwargs)