diff --git a/doc/source/reference/kwant.lattice.rst b/doc/source/reference/kwant.lattice.rst index ccebf19a72dfe9aa240987218fecb2c74f51c6c0..6da3fc23b49581e86af672a51a13d359b4c3dea0 100644 --- a/doc/source/reference/kwant.lattice.rst +++ b/doc/source/reference/kwant.lattice.rst @@ -8,10 +8,10 @@ General .. autosummary:: :toctree: generated/ - general TranslationalSymmetry - MonatomicLattice - PolyatomicLattice + general + Monatomic + Polyatomic Library of lattices ------------------- diff --git a/doc/source/tutorial/tutorial4.rst b/doc/source/tutorial/tutorial4.rst index 62096195ce405614a31dd85dc25eb77d005add28..7c70174f7844ae82c722c6040d5439e89ed2912b 100644 --- a/doc/source/tutorial/tutorial4.rst +++ b/doc/source/tutorial/tutorial4.rst @@ -82,7 +82,7 @@ The leads are defined almost as before: :start-after: #HIDDEN_BEGIN_aakh :end-before: #HIDDEN_END_aakh -Note the method `~kwant.lattice.PolyatomicLattice.vec` used in calculating the +Note the method `~kwant.lattice.Polyatomic.vec` used in calculating the parameter for `~kwant.lattice.TranslationalSymmetry`. The latter expects a real-space symmetry vector, but for many lattices symmetry vectors are more easily expressed in the natural coordinate system of the lattice. The ``vec`` diff --git a/doc/source/whatsnew/0.3.rst b/doc/source/whatsnew/0.3.rst index 1b9872a4e43f2778b306156f1cf0b03fe6a018ca..577b705f86f4aed4211350352b2ea03bbda3f179 100644 --- a/doc/source/whatsnew/0.3.rst +++ b/doc/source/whatsnew/0.3.rst @@ -5,7 +5,9 @@ This article explains the user-visible changes in kwant 0.3. Some renames ------------ -``wave_func`` has been renamed to `~kwant.solvers.default.wave_function`. +* ``wave_func`` has been renamed to `~kwant.solvers.default.wave_function`, +* ``MonatomicLattice`` has been renamed to `~kwant.lattice.Monatomic`, +* ``PolyatomicLattice`` has been renamed to `~kwant.lattice.Polyatomic`. Immutable site groups --------------------- diff --git a/kwant/builder.py b/kwant/builder.py index 13387cb81a81a85dc876fd0ac768f08432c8c006..5b312d5503616b26332653bfd948a8725d910817 100644 --- a/kwant/builder.py +++ b/kwant/builder.py @@ -160,7 +160,7 @@ class SimpleSiteGroup(SiteGroup): sites with non-numeric objects like strings should this every be useful. Due to its low storage efficiency for numbers it is not recommended to use - `SimpleSiteGroup` when `kwant.lattice.MonatomicLattice` would also work. + `SimpleSiteGroup` when `kwant.lattice.Monatomic` would also work. """ def __init__(self, name=None): diff --git a/kwant/lattice.py b/kwant/lattice.py index 503565a18da1282385037bd385a5f9fb0e65c1b1..518fb018c6ed7ad493e4b7d0090bdd6fc96512ac 100644 --- a/kwant/lattice.py +++ b/kwant/lattice.py @@ -8,8 +8,7 @@ from __future__ import division -__all__ = ['general', 'TranslationalSymmetry', - 'PolyatomicLattice', 'MonatomicLattice'] +__all__ = ['TranslationalSymmetry', 'general', 'Polyatomic', 'Monatomic'] from math import sqrt import numpy as np @@ -34,7 +33,7 @@ def general(prim_vecs, basis=None, name=''): Returns ------- - lattice : either `MonatomicLattice` or `PolyatomicLattice` + lattice : either `Monatomic` or `Polyatomic` Resulting lattice. Notes @@ -43,12 +42,12 @@ def general(prim_vecs, basis=None, name=''): lattices. """ if basis is None: - return MonatomicLattice(prim_vecs, name=name) + return Monatomic(prim_vecs, name=name) else: - return PolyatomicLattice(prim_vecs, basis, name=name) + return Polyatomic(prim_vecs, basis, name=name) -class PolyatomicLattice(object): +class Polyatomic(object): """ Bravais lattice with a basis containing more than one site. @@ -67,7 +66,7 @@ class PolyatomicLattice(object): Instance Variables ------------------ - sublattices : list of `MonatomicLattice` + sublattices : list of `Monatomic` Sublattices belonging to this lattice. Raises @@ -93,7 +92,7 @@ class PolyatomicLattice(object): if basis.shape[1] != dim: raise ValueError('Basis dimensionality does not match ' 'the space dimensionality.') - self.sublattices = [MonatomicLattice(prim_vecs, offset, sname) + self.sublattices = [Monatomic(prim_vecs, offset, sname) for offset, sname in zip(basis, name)] # Sequence of primitive vectors of the lattice. self.prim_vecs = prim_vecs @@ -174,7 +173,7 @@ class PolyatomicLattice(object): return ta.dot(int_vec, self.prim_vecs) -class MonatomicLattice(builder.SiteGroup, PolyatomicLattice): +class Monatomic(builder.SiteGroup, Polyatomic): """ A site group of sites belonging to a Bravais lattice. @@ -226,12 +225,12 @@ class MonatomicLattice(builder.SiteGroup, PolyatomicLattice): return full[1 : -1] if self.name != '': - msg = "MonoatomicLattice {0}, vectors {1}, origin {2}" + msg = "Monatomic lattice {0}, vectors {1}, origin {2}" self.cached_str = msg.format(self.name, short_array_str(self.prim_vecs), short_array_str(self.offset)) else: - msg = "unnamed MonoatomicLattice, vectors {0}, origin [{1}]" + msg = "unnamed Monatomic lattice, vectors {0}, origin [{1}]" self.cached_str = msg.format(short_array_str(self.prim_vecs), short_array_str(self.offset)) @@ -426,14 +425,14 @@ class TranslationalSymmetry(builder.Symmetry): def chain(a=1, name=''): """Create a one-dimensional lattice.""" - lat = MonatomicLattice(((a,),), name=name) + lat = Monatomic(((a,),), name=name) lat.nearest = [((1,), lat, lat)] return lat def square(a=1, name=''): """Create a square lattice.""" - lat = MonatomicLattice(((a, 0), (0, a)), name=name) + lat = Monatomic(((a, 0), (0, a)), name=name) lat.nearest = [((1, 0), lat, lat), ((0, 1), lat, lat)] return lat @@ -441,7 +440,7 @@ def square(a=1, name=''): def honeycomb(a=1, name=''): """Create a honeycomb lattice.""" - lat = PolyatomicLattice(((a, 0), (0.5 * a, 0.5 * a * sqrt(3))), + lat = Polyatomic(((a, 0), (0.5 * a, 0.5 * a * sqrt(3))), ((0, 0), (0, a / sqrt(3))), name=name) lat.a, lat.b = lat.sublattices lat.nearest = [((0, 0), lat.a, lat.b),