heteroribbon

sisl.geom.heteroribbon(sections, section_cls=heteroribbon_section, **kwargs) Geometry

Build a nanoribbon consisting of several nanoribbons of different widths.

This function uses composite_geometry, but defaulting to the usage of heteroribbon.section as the section class.

See heteroribbon.section and composite_geometry for arguments.

Returns:

Geometry – The final structure of the heteroribbon.

Notes

It only works for armchair ribbons for now.

Examples

>>> # A simple 7-11-AGNR with the sections aligned on the center
>>> heteroribbon([(7, 2), (11, 2)], bond=1.42, atoms="C")
>>> # The same AGNR but shifted up
>>> heteroribbon([(7, 2), (11, 2, 1)], bond=1.42, atoms="C")
>>> # And down
>>> heteroribbon([(7, 2), (11, 2, -1)], bond=1.42, atoms="C")
>>> # The same AGNR but with a bigger 11 section and a 9-atom bridge
>>> heteroribbon([(7, 1), (9,1), (11, 4), (9,1), (7,1)], bond=1.42, atoms="C")
>>> # One that you have probably never seen before
>>> heteroribbon([(7, 1j), (10, 2), (9, 1), (8, 2j, -1)], bond=1.42, atoms="C")

See also

composite_geometry

Underlying method used to build the heteroribbon.

heteroribbon_section

The class that describes each section.

nanoribbon

method used to create the segments

graphene_heteroribbon

same as this function, but with defaults for graphene GNR’s