`_.
40 |
--------------------------------------------------------------------------------
/docs/conf.py:
--------------------------------------------------------------------------------
1 | # Configuration file for the Sphinx documentation builder.
2 | #
3 | # For the full list of built-in configuration values, see the documentation:
4 | # https://www.sphinx-doc.org/en/master/usage/configuration.html
5 |
6 | import os, sys
7 | sys.path.insert(0, os.path.abspath('..'))
8 |
9 | # -- Project information -----------------------------------------------------
10 | # https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
11 |
12 | project = 'StraWBerryPy'
13 | copyright = '2023, Roberta Favata, Nicolas Baù and Antimo Marrazzo'
14 | author = 'Roberta Favata, Nicolas Baù and Antimo Marrazzo'
15 | release = '0.3.0'
16 | language = 'en'
17 |
18 | # -- General configuration ---------------------------------------------------
19 | # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
20 |
21 | extensions = [
22 | 'sphinx.ext.autodoc',
23 | 'sphinx.ext.viewcode',
24 | 'sphinx.ext.napoleon',
25 | 'sphinx.ext.intersphinx',
26 | 'sphinx.ext.autosectionlabel',
27 | 'sphinxawesome_theme.highlighting',
28 | 'sphinx_copybutton'
29 | ]
30 |
31 | templates_path = ['_templates']
32 | exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
33 | highlight_language = 'python3'
34 | master_doc = 'index'
35 |
36 |
37 | # -- Options for HTML output -------------------------------------------------
38 | # https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
39 | # from: https://framagit.org/coslo/template-docs
40 |
41 | html_theme = 'sphinx_book_theme' #'alabaster'
42 | html_static_path = ['_static']
43 |
44 | if html_theme == 'alabaster':
45 | pygments_style = 'friendly'
46 | html_static_path = ['_static/custom.css']
47 | html_theme_options = {
48 | 'description': 'Single-poinT and local invaRiAnts for Wannier Berriologies in Python',
49 | 'fixed_sidebar': True,
50 | 'sidebar_collapse': True,
51 | 'extra_nav_links': {},
52 | 'gray_2': '#F4F4F4ED',
53 | 'sidebar_width': '250px',
54 | 'body_max_width': 'auto',
55 | 'page_width': '1100px',
56 | 'github_user': 'strawberrypy-developers',
57 | 'github_repo': 'strawberrypy',
58 | 'github_button': True,
59 | 'github_type': 'watch',
60 | 'github_count': False,
61 | }
62 |
63 | html_logo = "_static/media/logo.png"
64 |
65 | html_favicon = "favicon.ico"
66 |
67 | html_sidebars = {
68 | '**': [
69 | 'about.html',
70 | 'navigation.html',
71 | 'searchbox.html',
72 | 'relations.html',
73 | 'donate.html',
74 | ]
75 | }
76 |
77 | if html_theme == 'sphinx_book_theme':
78 | pygments_style = 'friendly'
79 | html_static_path = ['_static/custom.css']
80 |
81 | html_logo = "_static/media/logo.png"
82 | html_title = "StraWBerryPy"
83 | html_favicon = "favicon.ico"
84 |
85 | html_theme_options = {
86 | "show_prev_next": False,
87 | "repository_url": "https://github.com/strawberrypy-developers/strawberrypy.git",
88 | "repository_branch": "main",
89 | "path_to_docs": "docs",
90 | "logo": {
91 | "image_dark": html_logo,
92 | "image_light": html_logo,
93 | "text": "StraWBerryPy
\nSingle-poinT invaRiAnts and local
\nmarkers for Wannier Berriologies
\nin Python
",
94 | },
95 | "toc_title": " On this page",
96 | "use_repository_button": True,
97 | "use_issues_button": False,
98 | "use_edit_page_button": False,
99 | "use_download_button": True,
100 | "secondary_sidebar_items": ["page-toc"],
101 | "show_toc_level": 40,
102 | "footer_content_items": ["copyright.html"],
103 | "home_page_in_toc": True,
104 | }
105 |
106 | html_sidebars = {
107 | "**": ["navbar-logo.html", "search-field.html", "sbt-sidebar-nav.html"]
108 | }
--------------------------------------------------------------------------------
/docs/docutils.conf:
--------------------------------------------------------------------------------
1 | [restructuredtext parser]
2 | syntax_highlight = short
--------------------------------------------------------------------------------
/docs/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/strawberrypy-developers/strawberrypy/154f03d2d4a40ed427bc632206e96865e4ad5775/docs/favicon.ico
--------------------------------------------------------------------------------
/docs/index.rst:
--------------------------------------------------------------------------------
1 | .. StraWBerryPy documentation master file, created by
2 | sphinx-quickstart on Fri Dec 1 16:44:59 2023.
3 | You can adapt this file completely to your liking, but it should at least
4 | contain the root `toctree` directive.
5 |
6 | .. role:: python(code)
7 | :language: python
8 | :class: highlight
9 |
10 | Welcome to StraWBerryPy!
11 | ========================
12 |
13 | **StraWBerryPy** (Single-poinT and local invaRiAnts for Wannier Berriologies in Python) is a Python package to calculate topological invariants and quantum-geometrical quantities in non-crystalline topological insulators.
14 |
15 | StraWBerryPy can work with periodic and finite systems in tight-binding.
16 | In periodic boundary conditions (PBCs), the code implements the single-point formulas for the Chern number `[Ceresoli-Resta] `_ and the single-point spin Chern number `[Favata-Marrazzo] `_ in the supercell framework. In PBCs, it is also possible to calculate the local Chern marker within periodic boundary conditions `[Baù-Marrazzo](a) `_, and the local spin-Chern and local :math:`\mathbb{Z}_{2}` markers `[Baù-Marrazzo](b) `_.
17 | In addition, StraWBerryPy can handle finite systems (such as bounded samples and heterostructures) in open boundary conditions (OBCs) and can compute the local Chern marker `[Bianco-Resta] `_, the localization marker `[Marrazzo-Resta] `_ , and the local spin-Chern and local :math:`\mathbb{Z}_{2}` markers `[Baù-Marrazzo](b) `_.
18 |
19 | The code provides dedicated interfaces to the tight-binding engines `PythTB `_ and `TBmodels `_. Latest version of StraWBerryPy implements the calculation of single-point topological invariants with ab initio Wannier Hamiltonians, which are read in the format produced by `Wannier90 `_ through `WannierBerri `_.
20 |
21 | Installation
22 | ------------
23 | To install StraWBerry you can clone `this `_ Github repository and run the following instructions:
24 |
25 | .. code:: bash
26 |
27 | git clone https://github.com/strawberrypy-developers/strawberrypy.git
28 | cd strawberrypy
29 | pip install .
30 |
31 | Quick start
32 | -----------
33 |
34 | Here, a quick example for calculating the single-point and the local topological invariant in the supercell framework for the Haldane model in presence of Anderson disorder. We can define the periodic model with either :python:`TBmodels` or :python:`PythTB`, which is then passed to the :python:`Supercell` class (when defining the supercell, we also need to specify its dimensions). Then, we can add on-site random disorder and finally call the methods to compute the quantities of interest.
35 |
36 | .. code:: python
37 |
38 | import numpy as np
39 | from strawberrypy import *
40 |
41 | # Define the PBC model
42 | pbc_model = example_models.haldane_tbmodels(delta = 0.3, t = 1, t2 = 0.15, phi = np.pi / 2)
43 |
44 | # Build the supercell of the model
45 | model = Supercell(tbmodel = pbc_model, Lx = 30, Ly = 30, spinful = False)
46 |
47 | # Add on-site Anderson disorder
48 | model.add_onsite_disorder(w = 1.5)
49 |
50 | # Evaluate the single-point Chern number
51 | sp_inv = model.single_point_chern()
52 | print("Single-point invariant: {}".format(sp_inv))
53 |
54 | # Evaluate the PBC local Chern marker
55 | pbclcm = model.pbc_local_chern_marker(macroscopic_average = True, cutoff = 2)
56 |
57 | .. image:: _static/media/pbc_lcm_index.png
58 | :width: 150%
59 | :alt: PBC local Chern marker produced with the code above
60 |
61 | Contents
62 | ^^^^^^^^
63 | .. toctree::
64 | :maxdepth: 1
65 |
66 | tutorial
67 | modules
68 | changelog
69 |
70 | Indices and tables
71 | ^^^^^^^^^^^^^^^^^^
72 | * :ref:`genindex`
73 | * :ref:`modindex`
74 | * :ref:`search`
75 | * `Github `_
--------------------------------------------------------------------------------
/docs/make.bat:
--------------------------------------------------------------------------------
1 | @ECHO OFF
2 |
3 | pushd %~dp0
4 |
5 | REM Command file for Sphinx documentation
6 |
7 | if "%SPHINXBUILD%" == "" (
8 | set SPHINXBUILD=sphinx-build
9 | )
10 | set SOURCEDIR=.
11 | set BUILDDIR=_build
12 |
13 | %SPHINXBUILD% >NUL 2>NUL
14 | if errorlevel 9009 (
15 | echo.
16 | echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
17 | echo.installed, then set the SPHINXBUILD environment variable to point
18 | echo.to the full path of the 'sphinx-build' executable. Alternatively you
19 | echo.may add the Sphinx directory to PATH.
20 | echo.
21 | echo.If you don't have Sphinx installed, grab it from
22 | echo.https://www.sphinx-doc.org/
23 | exit /b 1
24 | )
25 |
26 | if "%1" == "" goto help
27 |
28 | %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
29 | goto end
30 |
31 | :help
32 | %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
33 |
34 | :end
35 | popd
36 |
--------------------------------------------------------------------------------
/docs/modules.rst:
--------------------------------------------------------------------------------
1 | Reference
2 | =========
3 |
4 | .. toctree::
5 | :maxdepth: 4
6 |
7 | strawberrypy
--------------------------------------------------------------------------------
/docs/requirements.txt:
--------------------------------------------------------------------------------
1 | sphinx
2 | sphinx-copybutton
3 | sphinxawesome-theme
4 | sphinx_book_theme
5 | wannierberri[all]==0.15.0
6 | pythtb==1.8.0
7 | tbmodels==1.4.3
8 | opt-einsum==3.3.0
--------------------------------------------------------------------------------
/docs/strawberrypy.example_models.rst:
--------------------------------------------------------------------------------
1 | .. strawberrypy.example\_models package
2 | .. ====================================
3 |
4 | .. role:: python(code)
5 | :language: python
6 | :class: highlight
7 |
8 | Predefined example models
9 | =========================
10 |
11 | Haldane model
12 | ~~~~~~~~~~~~~
13 |
14 | .. automodule:: strawberrypy.example_models.haldane
15 | :members:
16 | :undoc-members:
17 | :show-inheritance:
18 |
19 | Kane-Mele model
20 | ~~~~~~~~~~~~~~~
21 |
22 | .. automodule:: strawberrypy.example_models.kane_mele
23 | :members:
24 | :undoc-members:
25 | :show-inheritance:
26 |
27 | .. Module contents
28 | .. ---------------
29 | ..
30 | .. .. automodule:: strawberrypy.example_models
31 | .. :members:
32 | .. :undoc-members:
33 | .. :show-inheritance:
34 |
--------------------------------------------------------------------------------
/docs/strawberrypy.rst:
--------------------------------------------------------------------------------
1 | .. role:: python(code)
2 | :language: python
3 | :class: highlight
4 |
5 | StraWBerryPy package
6 | ====================
7 |
8 | .. toctree::
9 | :maxdepth: 2
10 |
11 | Model class module
12 | ------------------
13 |
14 | .. automodule:: strawberrypy.classes
15 | :members:
16 | :undoc-members:
17 | :show-inheritance:
18 |
19 | Finite model class module
20 | -------------------------
21 |
22 | .. automodule:: strawberrypy.finite_model
23 | :members:
24 | :undoc-members:
25 | :show-inheritance:
26 |
27 | Supercell model class module
28 | ----------------------------
29 |
30 | .. automodule:: strawberrypy.supercell
31 | :members:
32 | :undoc-members:
33 | :show-inheritance:
34 |
35 | Subpackages
36 | -----------
37 |
38 | .. toctree::
39 | :maxdepth: 2
40 |
41 | strawberrypy.example_models
42 | strawberrypy.utils
43 |
44 | .. Utility functions
45 | .. -----------------
46 | .. .. automodule:: strawberrypy
47 | .. :members:
48 | .. :undoc-members:
49 | .. :show-inheritance:
--------------------------------------------------------------------------------
/docs/strawberrypy.utils.rst:
--------------------------------------------------------------------------------
1 | .. role:: python(code)
2 | :language: python
3 | :class: highlight
4 |
5 | Utility functions
6 | =================
7 |
8 | .. automodule:: strawberrypy.utils
9 | :members:
10 | :undoc-members:
11 | :show-inheritance:
12 |
13 | .. Module contents
14 | .. ---------------
15 | ..
16 | .. .. automodule:: strawberrypy.example_models
17 | .. :members:
18 | .. :undoc-members:
19 | .. :show-inheritance:
20 |
--------------------------------------------------------------------------------
/docs/tutorial.rst:
--------------------------------------------------------------------------------
1 | .. role:: python(code)
2 | :language: python
3 | :class: highlight
4 |
5 | Tutorial and examples
6 | =====================
7 | This page provides a short tutorial on how to use the code. At the end of the page, a couple of examples illustrates some results obtained using the package.
8 |
9 | Short tutorial
10 | --------------
11 |
12 | Defining a model
13 | ^^^^^^^^^^^^^^^^
14 | **StraWBerryPy** is able to read tight-binding model instances from either **PythTB** or **TBmodels**. The creation of the model itself should be performed using those packages (see for instance the relative tutorials for `PythTB `_ and `TBmodels `_). Some useful examples are already implemented in :doc:`example_models`, such as the Haldane and Kane-Mele models.
15 |
16 | Once the model has been created, it can be read from StraWBerryPy, which allows to create both finite models and supercells starting from a tight-binding model, using classes :python:`Supercell` and :python:`FiniteModel`, respectively. When creating supercells and finite models, the number of unit cells to be repeated along each direction must be given along with a bool specifying if the model has to be interpreted as spinful or not (needed to properly account for the spin degrees of freedom):
17 |
18 | .. code:: python
19 |
20 | import numpy as np
21 | import strawberrypy
22 |
23 | # Import a model from the examples
24 | uc_model = strawberrypy.example_models.haldane_tbmodels(delta = 0.5, t = 1, t2 = 0.15, phi = np.pi / 2)
25 |
26 | # Create a supercell and a finite model of size L
27 | supercell_model = strawberrypy.Supercell(tbmodel = uc_model, Lx = L, Ly = L, spinful = False)
28 | finite_model = strawberrypy.FiniteModel(tbmodel = uc_model, Lx = L, Ly = L, spinful = False)
29 |
30 | Adding disorder and vacancies
31 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
32 | In order to add disorder and vacancies to a given model we can use the following methods of the classes (available for both supercells and finite models):
33 |
34 | .. code:: python
35 |
36 | # Add a random on-site term uniformly distributed in the interval [-W/2, W/2]
37 | model.add_onsite_disorder(w = 3, seed = rng_seed)
38 |
39 | # Add 15 random vacancies to the lattice
40 | vacncies = strawberrypy.utils.unique_vacancies(num = 15, Lx = model.Lx, Ly = model.Ly, basis = atoms_uc, seed = rng_seed)
41 | model.add_vacancies(vacancies_list = vacancies)
42 |
43 | .. note::
44 |
45 | The function that adds vacancies in the lattice relies on an internal indexing of the lattice sites inherited from TBmodels and PythTB. Because of this, it may not be accurate with systems not defined using these packages when targeting a specific site.
46 |
47 | Calculate the single-point invariant
48 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
49 | If a supercell is created, it is possible to evaluate the single-point invariant by calling the appropriate method. If :python:`spinful == False` the single-point Chern number can be computed using:
50 |
51 | .. code:: python
52 |
53 | model.single_point_chern(formula = 'symmetric', return_ham_gap = False)
54 |
55 | where :python:`formula` can be :python:`'symmetric'` or :python:`'asymmetric'` (or :python:`'both'`) and specifies whether the single-point invariant should be computed using a formula in which the derivatives are approximated by forward or central finite differences, respectively. The :python:`'symmetric'` formula usually converges faster with the supercell size to the exact result with respect to the :python:`'asymmetric'` one.
56 | The parameter :python:`return_ham_gap` is a bool specifying whether the gap of the Hamiltonian at the :math:`\Gamma`-point in the Brillouin zone should be returned.
57 |
58 | Similarly, if :python:`spinful == True`, the single-point spin Chern number can be computed using:
59 |
60 | .. code:: python
61 |
62 | model.single_point_spin_chern(spin = 'up', formula = 'symmetric', return_pszp_gap = False, return_ham_gap = False)
63 |
64 | where :python:`spin` can be either :python:`'up'` or :python:`'down'` and indicates which sector of spin projected operator spectra is considered in the calculation of the single-point spin Chern number.
65 | In fact, the single-point spin Chern number can be computed as :math:`C_s = \frac{1}{2}(C_{\uparrow} - C_{\downarrow})\,\mathrm{mod}2`, where :math:`C_{\uparrow/\downarrow}` are calculated on the eigenstates of spin projected operator with positive/negative eigenvalues; in general it is sufficient to compute either :math:`C_{\uparrow}` or :math:`C_{\downarrow}` only and consider its parity.
66 | The parameter :python:`return_pszp_gap` is a bool specifying whether the gap of the spin projected operator :math:`P S_z P` should be returned.
67 |
68 | The functions :python:`single_point_chern` and :python:`single_point_spin_chern` return a dictionary with labels :python:`'asymmetric'`, :python:`'symmetric'` and, if required, the value of :python:`hamiltonian_gap` (and :python:`pszp_gap` in the single-point spin Chern number function).
69 |
70 | Calculate the local topological marker
71 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
72 | If a finite model or supercell is created it is possible to evaluate the local topological markers by calling the appropriate method. If :python:`spinful == False` the local Chern marker can be computed using:
73 |
74 | .. code:: python
75 |
76 | finite_model.local_chern_marker(direction = None, start = 0, return_projector = False, input_projector = None, macroscopic_average = False, cutoff = 0.8, smearing_temperature = 0.0, fermidirac_cutoff = 0.1)
77 | supercell.pbc_local_chern_marker(direction = None, start = 0, return_projector = False, input_projector = None, formula = 'symmetric', macroscopic_average = False, cutoff = 0.8, smearing_temperature = 0.0, fermidirac_cutoff = 0.1)
78 |
79 | where :python:`direction == None` means that the function returns the topological marker evaluated over the whole lattice. If :python:`direction` is ``0`` or ``1`` the function returns the value of the marker along the *x* or *y* direction respectively starting from :python:`start` (index of the unit cell along the orthogonal direction to :python:`direction`). The parameter :python:`return_projector` is used to return the projectors used in the calculations, namely :math:`\mathcal P` (the ground state projector) in the open boundary conditions case and the list :math:`[\mathcal P_{\Gamma}, \mathcal P_{\mathbf b_1}, \mathcal P_{\mathbf b_2}, \mathcal P_{-\mathbf b_1}, \mathcal P_{-\mathbf b_2}]` in the periodic boundary conditions case. The parameter :python:`input_projector` allows to input the projectors mentioned above (beware of the order) when these are known. The parameters :python:`smearing_temperature` and :python:`fermidirac_cutoff` can be set when dealing with heterostructures to improve the convergence of the topological markers by introducing a Fermi-Dirac occupation function in the calculation of the projectors.
80 |
81 | When the system is disordered, it may be useful to return the value of the topological marker averaged over a real-space area bigger than the unit cell of the model. To do so, one can set the parameters :python:`macroscopic_average == True` (useful also when dealing with system that do not respect the internal indexing of PythTB and TBmodels, as mentioned above) and :python:`cutoff` to specify the range of the averages in real space (lattice constant units).
82 |
83 | Using StraWBerryPy with Wannier90 output files
84 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
85 | StraWBerryPy is also able to read *ab initio* tight-binding model instances created through **WannierBerri** given the Wannier functions generated by **Wannier90** code starting from a first-principle calculation. If the *ab initio* calculation is performed in a large enough supercell (:math:`\Gamma`-only calculation), the single-point invariant can be computed.
86 |
87 | First, we need to initialize the system through WannierBerri class :python:`System_w90`. For doing this, ``.chk`` and ``.eig`` files from Wannier90 are required. Set :python:`spin = True` if the file ``.spn`` is provided:
88 |
89 | .. code:: python
90 |
91 | import wannierberri as wberri
92 |
93 | file_spn = True
94 | model_wb = wberri.System_w90(seedname = 'wannier90data', spin = file_spn, use_wcc_phase = True)
95 |
96 | Then, we need to initialize the model as a :python:`strawberrypy.Supercell`:
97 |
98 | .. code:: python
99 |
100 | model = strawberrypy.Supercell(tbmodel = model_wb, Lx = 1, Ly = 1, spinful = True, file_spn = file_spn, n_occ = 1012)
101 |
102 | where :python:`file_spn == True` allows to read the spin matrix in the Wannier basis which is used in the calculation of the single-point spin Chern number. Otherwise, the assumption of a tight-binding basis which is diagonal in the spin operator is considered.
103 | The parameter :python:`n_occ` is an integer indicating the number of occupied bands in the ab initio tight-binding model and must be provided.
104 |
105 | .. note::
106 | The number of unit cells to be repeated along each direction must be set to the default value :python:`Lx = 1, Ly = 1` since the *ab initio* system provided as input is already a supercell.
107 |
108 | Finally, the single-point spin Chern number can be calculated as shown above:
109 |
110 | .. code:: python
111 |
112 | model.single_point_spin_chern()
113 |
114 |
115 | A couple of examples
116 | --------------------
117 |
118 | Topological Anderson insulator in the Kane-Mele model
119 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
120 | As an example, we show the detection, through single-point spin Chern number calculation, of a disorder-induced transition in the Kane-Mele model from a trivial phase to a topological Anderson insulating (TAI) one, as investigated in Section 3.2 of Ref. `Favata-Marrazzo (2023) `_.
121 |
122 | .. code:: python
123 |
124 | import numpy as np
125 | from strawberrypy import *
126 |
127 | # Parameter of the supercell
128 | L = 24
129 |
130 | # Define the models in the unit cell
131 | km_model = example_models.kane_mele_tbmodels(rashba = 1., esite = 5.3, spin_orb = 0.3)
132 |
133 | # Create a supercell L x L
134 | model = supercell.Supercell(tbmodel = km_model, Lx = L, Ly = L, spinful = True)
135 |
136 | # Compute the single-point spin Chern number for the pristine model
137 | model.single_point_spin_chern(formula = 'symmetric')
138 |
139 | # Add on-site Anderson disorder
140 | model.add_onsite_disorder(w = 4.0, seed = 10)
141 |
142 | # Compute the single-point spin Chern number for the disordered model
143 | model.single_point_spin_chern(formula = 'symmetric')
144 |
145 | Output: ``In the pristine KM model (w = 0): SPSCN = -0.0024642975185114. In the disordered KM model (w = 4): SPSCN = 1.0092772036154``
146 |
147 | Topological periodic heterostructure
148 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
149 | As an example, we report here the code used to generate Fig. 3 of Ref. `Baù-Marrazzo (2024a) `_.
150 |
151 | .. code:: python
152 |
153 | import numpy as np
154 | from strawberrypy import *
155 |
156 | # Parameters of the supercell
157 | Lx = 100
158 | Ly = 30
159 |
160 | # Define the models in the unit cell
161 | model = example_models.haldane_tbmodels(0.3, 1, 0.15, -np.pi / 2)
162 | model_trivial = example_models.haldane_tbmodels(1.25, 1, 0.15, -np.pi / 2)
163 |
164 | # Create a supercell for both models
165 | model = Supercell(model, Lx, Ly, spinful = False)
166 | model_trivial = Supercell(model_trivial, Lx, Ly, spinful = False)
167 |
168 | # Substitute model_trivial into model from cell 24 to 74 along the x direction
169 | model.make_heterostructure(model_trivial, direction = 0, start = 24, stop = 74)
170 |
171 | # Compute the PBC local Chern marker in the whole lattice
172 | pbclcm_lattice, projectors = model.pbc_local_chern_marker(return_projector = True, smearing_temperature = 0.05, fermidirac_cutoff = 0.1)
173 |
174 | # Compute the PBC local Chern marker along the x direction al half height
175 | pbclcm_line = model.pbc_local_chern_marker(direction = 0, start = Ly // 2, input_projector = projectors)
176 |
177 | .. image:: _static/media/heterostructure_pbclcm.png
178 | :width: 150%
179 | :alt: PBC local Chern marker produced with the code above
180 |
--------------------------------------------------------------------------------
/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["flit_core >=3.2,<4"]
3 | build-backend = "flit_core.buildapi"
4 |
5 | [project]
6 | name = "strawberrypy"
7 | authors = [{name = "Roberta Favata", email = "roberta.favata@phd.units.it"},
8 | {name = "Nicolas Baù", email = "nicolas.bau@phd.units.it"},
9 | {name = "Antimo Marrazzo", email="amarrazz@sissa.it"}]
10 |
11 | version = "0.3.1"
12 |
13 | description = "Python package for calculation of topological invariants through single-point formulas and local markers"
14 | keywords = ["physics", "tight-binding", "topology", "single-point invariants", "local topological markers", "wannier90"]
15 |
16 | readme = "README.rst"
17 | license = {file = "LICENSE.txt"}
18 |
19 | requires-python = ">= 3.8"
20 | dependencies = [
21 | 'wannierberri[all]==0.15.0',
22 | 'pythtb==1.8.0',
23 | 'tbmodels==1.4.3',
24 | 'opt-einsum==3.3.0'
25 | ]
26 |
27 | classifiers = ["Programming Language :: Python :: 3.8"]
28 |
29 | [project.urls]
30 | repository = "https://github.com/strawberrypy-developers/strawberrypy.git"
31 | documentation = "http://strawberrypy.readthedocs.io/"
32 |
33 | [project.optional-dependencies]
34 | devs = ["sphinx",
35 | "sphinx-copybutton",
36 | "sphinxawesome-theme",
37 | "sphinx_book_theme",
38 | ]
39 |
--------------------------------------------------------------------------------
/setup.py:
--------------------------------------------------------------------------------
1 | import setuptools
2 |
3 | setuptools.setup()
4 |
--------------------------------------------------------------------------------
/strawberrypy/__init__.py:
--------------------------------------------------------------------------------
1 | from .classes import Model
2 | from .supercell import Supercell
3 | from .finite_model import FiniteModel
4 | from . import example_models
5 |
--------------------------------------------------------------------------------
/strawberrypy/_pythtb/__init__.py:
--------------------------------------------------------------------------------
1 | from .attribute import get_positions, get_hamiltonian, _reciprocal_vec
2 | from .attribute import calc_states_uc, initialize_mask, calc_uc_vol, make_finite
--------------------------------------------------------------------------------
/strawberrypy/_pythtb/attribute.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 |
3 | def _orb_cart (model):
4 | """
5 | Returns the cartesian coordinates of the orbitals of a model. ``pythtb.tb_model`` version.
6 |
7 | Parameters
8 | ----------
9 | model :
10 | A ``pythtb.tb_model`` instance.
11 | nx_sites :
12 | Number of unit cells in the model along the :math:`\mathbf{a}_1` direction.
13 | ny_sites :
14 | Number of unit cells in the model along the :math:`\mathbf{a}_2` direction.
15 |
16 | Returns
17 | -------
18 | positions :
19 | Cartesian coordinates of the lattice sites.
20 |
21 | .. warning::
22 | This function is meant for internal use only since it does not discriminate whether the model is spinful or not. The use of ``get_positions`` should be preferred.
23 | """
24 | n_orb = model.get_num_orbitals()
25 | lat_super = model.get_lat()
26 | orb_red = model.get_orb()
27 |
28 | orb_c = []
29 | for i in range (n_orb):
30 | orb_c.append( (np.matmul(lat_super.transpose(),orb_red[i].reshape(-1,1))).squeeze() )
31 | orb_c = np.array(orb_c)
32 | return orb_c
33 |
34 | def _reciprocal_vec(model):
35 | """
36 | Returns reciprocal lattice vectors in cartesian coordinates. ``pythtb.tb_model`` version.
37 |
38 | Parameters
39 | ----------
40 | model :
41 | A ``pythtb.tb_model`` instance.
42 |
43 | Returns
44 | -------
45 | b1, b2 :
46 | Reciprocal lattice vectors.
47 | """
48 | lat = model.get_lat()
49 | a_matrix = np.array([[lat[1,1], -lat[0,1]],[-lat[1,0], lat[0,0]]])
50 | b_matrix = (2.*np.pi / (lat[0,0]*lat[1,1]-lat[0,1]*lat[1,0])) * a_matrix
51 |
52 | b1 = b_matrix[:,0].reshape(-1,1)
53 | b2 = b_matrix[:,1].reshape(-1,1)
54 | return b1, b2
55 |
56 | def get_positions(model, spinful):
57 | """
58 | Returns the cartesian coordinates of the orbitals of a model. ``pythtb.tb_model`` version.
59 |
60 | Parameters
61 | ----------
62 | model :
63 | A ``pythtb.tb_model`` instance.
64 | spinful :
65 | Whether the model is spinful or not.
66 |
67 | Returns
68 | -------
69 | positions :
70 | Cartesian coordinates of the lattice sites.
71 | """
72 | if not spinful:
73 | return _orb_cart(model)
74 | else:
75 | tmp = _orb_cart(model).T
76 | newx = np.repeat(tmp[0], 2)
77 | newy = np.repeat(tmp[1], 2)
78 | return np.array([newx, newy]).T
79 |
80 | def get_hamiltonian(model, spinful, point, dim):
81 | """
82 | Returns the Hamiltonian at the given k-point and the number of occupied states (half-filling is assumed). ``pythtb.tb_model`` version.
83 |
84 | Parameters
85 | ----------
86 | model :
87 | A ``pythtb.tb_model`` instance.
88 | spinful :
89 | Whether the model is spinful or not.
90 | point :
91 | A point in the reciprocal space.
92 | dim :
93 | Dimensionality of the reciprocal space.
94 |
95 | Returns
96 | -------
97 | hamilton :
98 | Hamiltonian matrix calculated in ``point``.
99 | nocc :
100 | Number of occupied states (half-filling is assumed).
101 | """
102 | if dim == model._dim_k:
103 | ham = model._gen_ham(point)
104 | else:
105 | ham = model._gen_ham()
106 | occ = model.get_num_orbitals() if spinful else model.get_num_orbitals() // 2
107 |
108 | return ham if not spinful else ham.reshape((2 * occ, 2 * occ)), occ
109 |
110 | def calc_states_uc(model, spinful):
111 | """
112 | Returns the number of states per unit cell. ``pythtb.tb_model`` version.
113 |
114 | Parameters
115 | ----------
116 | model :
117 | A ``pythtb.tb_model`` instance.
118 | spinful :
119 | Whether the model is spinful or not (needed to properly account for spinful models).
120 |
121 | Returns
122 | -------
123 | size :
124 | Number of states per unit cell in the model.
125 | """
126 | return model.get_num_orbitals() * (2 if spinful else 1)
127 |
128 | def initialize_mask(model, spinful):
129 | """
130 | Returns a list of True for each state of the model. ``pythtb.tb_model`` version.
131 |
132 | Parameters
133 | ----------
134 | model :
135 | A ``pythtb.tb_model`` instance.
136 | spinful :
137 | Whether the model is spinful or not (needed to properly account for spinful models).
138 |
139 | Returns
140 | -------
141 | mask :
142 | A list of ``True`` values with the same dimension of the total number of orbitals in the model.
143 | """
144 | return np.array([True for _ in range(model.get_num_orbitals() * (2 if spinful else 1))])
145 |
146 | def calc_uc_vol(model):
147 | """
148 | Returns the volume of a 2D unit cell. ``pythtb.tb_model`` version.
149 |
150 | Parameters
151 | ----------
152 | model :
153 | A ``pythtb.tb_model`` instance.
154 |
155 | Returns
156 | -------
157 | vol_uc :
158 | Volume of the 2D unit cell of the model.
159 | """
160 | return np.linalg.norm(np.cross(model._lat[0], model._lat[1]))
161 |
162 | def make_finite(model, lx, ly):
163 | """
164 | Returns an instance of a model with every periodic hopping removed (a finite model within open boundary conditions). ``pythtb.tb_model`` version.
165 |
166 | Parameters
167 | ----------
168 | model :
169 | A ``pythtb.tb_model`` instance.
170 | lx :
171 | Number of unit cells of the sample along the :math:`\mathbf{a}_1` direction.
172 | ly :
173 | Number of unit cells of the sample along the :math:`\mathbf{a}_2` direction.
174 |
175 | Returns
176 | -------
177 | finite :
178 | A model whose periodic hoppings have been removed (OBC model).
179 | """
180 | if not (lx > 0 and ly > 0):
181 | raise RuntimeError("Number of sites along finite direction must be greater than 0")
182 |
183 | ribbon = model.cut_piece(num = ly, fin_dir = 1, glue_edgs = False)
184 | finite = ribbon.cut_piece(num = lx, fin_dir = 0, glue_edgs = False)
185 |
186 | return finite
--------------------------------------------------------------------------------
/strawberrypy/_tbmodels/__init__.py:
--------------------------------------------------------------------------------
1 | from .attribute import get_positions, get_hamiltonian, _reciprocal_vec
2 | from .attribute import calc_states_uc, initialize_mask, calc_uc_vol, make_finite
--------------------------------------------------------------------------------
/strawberrypy/_tbmodels/attribute.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 | import tbmodels as tbm
3 |
4 | def _reciprocal_vec(model):
5 | """
6 | Returns reciprocal lattice vectors in cartesian coordinates. ``tbmodels.Model`` version.
7 |
8 | Parameters
9 | ----------
10 | model :
11 | A ``tbmodels.Model`` instance.
12 |
13 | Returns
14 | -------
15 | b1, b2 :
16 | Reciprocal lattice vectors.
17 | """
18 | b_matrix = model.reciprocal_lattice
19 | b1 = b_matrix[0,:]
20 | b2 = b_matrix[1,:]
21 | return b1, b2
22 |
23 | def get_positions(model, nx_sites = 1, ny_sites = 1):
24 | """
25 | Returns the cartesian coordinates of the orbitals of a model. ``tbmodels.Model`` version.
26 |
27 | Parameters
28 | ----------
29 | model :
30 | A ``tbmodels.model`` instance.
31 | nx_sites :
32 | Number of unit cells in the model along the :math:`\mathbf{a}_1` direction.
33 | ny_sites :
34 | Number of unit cells in the model along the :math:`\mathbf{a}_2` direction.
35 |
36 | Returns
37 | -------
38 | positions :
39 | Cartesian coordinates of the lattice sites.
40 | """
41 | positions = np.copy(model.pos)
42 | for i in range(model.pos.shape[0]):
43 | positions[i][0] *= nx_sites
44 | positions[i][1] *= ny_sites
45 | cartesian_pos = np.dot(positions[i], model.uc)
46 | positions[i] = cartesian_pos
47 |
48 | return positions
49 |
50 |
51 | def get_hamiltonian(model, point):
52 | """
53 | Returns the Hamiltonian at the given k-point and the number of occupied states (half-filling is assumed). ``tbmodels.Model`` version.
54 |
55 | Parameters
56 | ----------
57 | model :
58 | A ``tbmodels.Model`` instance.
59 | point :
60 | A point in the reciprocal space.
61 |
62 | Returns
63 | -------
64 | hamilton :
65 | Hamiltonian matrix calculated in ``point``.
66 | nocc :
67 | Number of occupied states (half-filling is assumed).
68 | """
69 | return model.hamilton(point, convention = 1), model.occ
70 |
71 | def calc_states_uc(model):
72 | """
73 | Returns the number of states per unit cell. ``tbmodels.Model`` version.
74 |
75 | Parameters
76 | ----------
77 | model :
78 | A ``tbmodels.Model`` instance.
79 |
80 | Returns
81 | -------
82 | size :
83 | Number of states per unit cell in the model.
84 | """
85 | return model.size
86 |
87 | def initialize_mask(model):
88 | """
89 | Returns a list of True for each state of the model. ``tbmodels.Model`` version.
90 |
91 | Parameters
92 | ----------
93 | model :
94 | A ``tbmodels.Model`` instance.
95 |
96 | Returns
97 | -------
98 | mask :
99 | A list of ``True`` values with the same dimension of the total number of orbitals in the model.
100 | """
101 | return np.array([True for _ in range(model.size)])
102 |
103 | def calc_uc_vol(model):
104 | """
105 | Returns the volume of a 2D unit cell. ``tbmodels.Model`` version.
106 |
107 | Parameters
108 | ----------
109 | model :
110 | A ``tbmodels.Model`` instance.
111 |
112 | Returns
113 | -------
114 | vol_uc :
115 | Volume of the 2D unit cell of the model.
116 | """
117 | return np.linalg.norm(np.cross(model.uc[0], model.uc[1]))
118 |
119 | def cut_piece_tbm(source_model, num : int, fin_dir : int, dimk : int, glue : bool = False):
120 | """
121 | Remove the periodic hoppings of a ``tbmodels.Model`` along a given direction, building a supercell made with given number of unit cells in the finite direction. If a zero-dimensional system is needed, it is required to run twice the function with ``dimk = 1`` first, and then ``dimk = 0``. This is implemented in ``make_finte``.
122 |
123 | Parameters
124 | ----------
125 | source_model :
126 | A ``tbmodels.Model`` instance.
127 | num :
128 | The number of unit cells composing the supercell along the finite direction.
129 | fin_dir :
130 | The finite direction (allowed values are ``0``, meaning the :math:`\mathbf{a}_1` direction, and ``1`` for the :math:`\mathbf{a}_2` direction).
131 | dimk :
132 | Number of periodic directions after the cut. For instance, if a xy-periodic system is given, and a x-periodic and y-finite system is returned, ``dimk`` should be set to ``1``.
133 | glue :
134 | Whether to glue the finite edges to impose the periodicity again (supercell).
135 |
136 | Returns
137 | -------
138 | model :
139 | A ``tbmodels.Model`` whose periodic hoppings along ``fin_dir`` are removed (if ``glue = False``).
140 | """
141 | # Check input variables
142 | if num <= 0:
143 | raise RuntimeError("Negative number of cells in the finite direction required.")
144 | if fin_dir not in [0, 1]:
145 | raise RuntimeError("Finite direction not allowed (only 2D systems).")
146 | if dimk not in [0, 1]:
147 | raise RuntimeError("Leftover k-space dimension not allowed.")
148 | if num == 1 and glue == True:
149 | raise RuntimeError("Cannot glue edges with one cell in the finite direction.")
150 |
151 | # Number of orbitals in the supercell model = norbs (original) x num
152 | norbs = source_model.size
153 |
154 | # Define the supercell
155 | newpos = []
156 | for i in range(num):
157 | for j in range(norbs):
158 | # Convert coordinates into cartesian coordinates
159 | orb_tmp = np.copy(source_model.pos[j, :])
160 |
161 | # One direction is fine but I need to map the other into the unit cell
162 | orb_tmp[fin_dir] += float(i)
163 | orb_tmp[fin_dir] /= num
164 |
165 | newpos.append(orb_tmp)
166 |
167 | # On-site energies per unit cell (2 is by convention with TBmodels)
168 | onsite = num * [2 * np.real(source_model.hop[source_model._zero_vec][j][j]) for j in range(norbs)]
169 |
170 | # Hopping amplitudes and positions
171 | hoppings = [[key, val] for key, val in iter(source_model.hop.items())]
172 |
173 | # Hoppings to be added
174 | hopping_list = []
175 |
176 | # Cycle over the number of defined hoppings
177 | for j in range(len(hoppings)):
178 |
179 | # Set lattice vector of the current hopping matrix
180 | objective = np.copy(hoppings[j][0])
181 |
182 | # Maximum bond length
183 | jump_fin = hoppings[j][0][fin_dir]
184 |
185 | # If I have a finite direction I make the hopping vector finite, and if I have no periodic direction, I put every hopping to the [zero] cell
186 | if dimk != 0:
187 | objective[fin_dir] = 0
188 | else:
189 | objective = np.array([0 for i in range(source_model.dim)])
190 |
191 | # Cycle over the rows of the hopping matrix
192 | for k in range(hoppings[j][1].shape[0]):
193 |
194 | # Cycle over the columns of the hopping matrix
195 | for l in range(hoppings[j][1].shape[1]):
196 |
197 | # Hopping amplitudes
198 | amplitude = hoppings[j][1][k][l]
199 | if np.absolute(amplitude) < 1e-10:
200 | continue
201 |
202 | # Cycle over the cells in the supercell
203 | for i in range(num):
204 | starting = k + i * norbs
205 | ending = l + (i + jump_fin) * norbs
206 |
207 | # Decide wether to add the hopping or not
208 | to_add = True
209 |
210 | if not glue:
211 | if ending < 0 or ending >= norbs * num:
212 | to_add = False
213 | else:
214 | ending = int(ending) % int(norbs * num)
215 |
216 | # Avoid setting on-site energies twice
217 | if starting == ending and (objective == [0 for i in range(source_model.dim)]).all():
218 | continue
219 |
220 | if to_add == True:
221 | hopping_list.append([amplitude, int(starting), int(ending), objective])
222 |
223 | model = tbm.Model.from_hop_list(hop_list = hopping_list, on_site = onsite, size = norbs * num, dim = source_model.dim,
224 | occ = source_model.occ * num, uc = source_model.uc, pos = newpos, contains_cc = False)
225 |
226 | return model
227 |
228 | def make_finite(model, lx, ly):
229 | """
230 | Returns an instance of a model with every periodic hopping removed (a finite model within open boundary conditions). ``tbmodels.Model`` version.
231 |
232 | Parameters
233 | ----------
234 | model :
235 | A ``tbmodels.Model`` instance.
236 | lx :
237 | Number of unit cells of the sample along the :math:`\mathbf{a}_1` direction.
238 | ly :
239 | Number of unit cells of the sample along the :math:`\mathbf{a}_2` direction.
240 |
241 | Returns
242 | -------
243 | finite :
244 | A model whose periodic hoppings have been removed (OBC model).
245 | """
246 | if not (lx > 0 and ly > 0):
247 | raise RuntimeError("Number of sites along finite direction must be greater than 0")
248 |
249 | ribbon = cut_piece_tbm(model, num = ly, fin_dir = 1, dimk = 1, glue = False)
250 | finite = cut_piece_tbm(ribbon, num = lx, fin_dir = 0, dimk = 0, glue = False)
251 |
252 | return finite
--------------------------------------------------------------------------------
/strawberrypy/_wberri/__init__.py:
--------------------------------------------------------------------------------
1 | from .attribute import get_positions, get_hamiltonian, read_spn, _reciprocal_vec
2 | from .attribute import calc_states_uc, initialize_mask
--------------------------------------------------------------------------------
/strawberrypy/_wberri/attribute.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 | from wannierberri import Grid
3 | from wannierberri.data_K import Data_K_R
4 |
5 |
6 | def _reciprocal_vec(model):
7 | """
8 | Returns reciprocal lattice vectors in cartesian coordinates. ``wannierberri.System_w90`` version.
9 |
10 | Parameters
11 | ----------
12 | model :
13 | A ``wannierberri.System_w90`` instance.
14 |
15 | Returns
16 | -------
17 | b1, b2 :
18 | Reciprocal lattice vectors.
19 | """
20 | b_matrix = model.recip_lattice
21 | b1 = b_matrix[0,:]
22 | b2 = b_matrix[1,:]
23 | return b1, b2
24 |
25 | def get_positions(model):
26 | """
27 | Returns the cartesian coordinates of the centers of Wannier functions. ``wannierberri.System_w90`` version.
28 |
29 | Parameters
30 | ----------
31 | model :
32 | A ``wannierberri.System_w90`` instance.
33 |
34 | Returns
35 | -------
36 | positions :
37 | Cartesian coordinates of the centers of Wannier functions.
38 | """
39 | return model.wannier_centers_cart
40 |
41 | def get_hamiltonian(model):
42 | r"""
43 | Returns the Wannier Hamiltonian at the :math:`\Gamma`-point (see Eq. (13) in Ref. `Marrazzo et al. (2023) `_ ) and the Data_K_R object containing information on the FFT grid for a ``wannierberri.System_w90`` instance defined by R-space matrices.
44 |
45 | Parameters
46 | ----------
47 | model :
48 | A ``wannierberri.System_w90`` instance.
49 |
50 | Returns
51 | -------
52 | ham :
53 | Interpolated Hamiltonian matrix in the Wannier gauge calculated at the :math:`\Gamma`-point.
54 | data :
55 | ``wannierberri.System_w90`` object for extracting k-space Wannier interpolated matrices.
56 | """
57 |
58 | print('Reading Hamiltonian at Gamma point in Wannier gauge..')
59 | grid = Grid(model, NK=[1,1,1])
60 | dK = [0,0,0]
61 | data = Data_K_R(model, dK, grid)
62 |
63 | Ham_W_R = model.Ham_R.copy()
64 | Ham_W_k = data.fft_R_to_k(Ham_W_R, hermitean=True)
65 | ham = Ham_W_k[0,:,:]
66 |
67 | return ham, data
68 |
69 | def read_spn(model, data, u_n0):
70 | r"""
71 | Returns the Wannier interpolated spin matrix :math:`S^(H)_z` (see Eq. (25) in Ref. `Marrazzo et al. (2023) `_ ) at the :math:`\Gamma`-point if seedname.spn file is provided.
72 |
73 | Parameters
74 | ----------
75 | model :
76 | A ``wannierberri.System_w90`` instance.
77 | data :
78 | ``wannierberri.System_w90`` object for extracting k-space Wannier interpolated matrices.
79 | u_n0 :
80 | Matrix of Hamiltonian eigenstates at :math:`\Gamma`-point (unitary matrix :math:`\mathcal{U}` in Eq. (25) in Ref. `Marrazzo et al. (2023) `_ ).
81 |
82 | Returns
83 | -------
84 | Sz :
85 | Wannier interpolated spin matrix calculated at the :math:`\Gamma`-point.
86 | """
87 |
88 | print('Reading Spin matrix at Gamma point in Wannier gauge..')
89 |
90 | SS = data.fft_R_to_k(model.get_R_mat('SS').copy(), hermitean=True)
91 | Sz_W = SS[0,:,:,2]
92 | Sz = np.conj(u_n0) @ Sz_W @ u_n0.T
93 |
94 | return Sz
95 |
96 | def calc_states_uc(model):
97 | """
98 | Returns the number of Wannier functions per unit cell for a wannierberri.System_w90
99 | """
100 | return model.num_wann
101 |
102 | def initialize_mask(model):
103 | """
104 | Returns a list of True for each state of the model
105 | """
106 | return np.array([True for _ in range(model.num_wann)])
107 |
108 |
--------------------------------------------------------------------------------
/strawberrypy/example_models/__init__.py:
--------------------------------------------------------------------------------
1 | from .kane_mele import kane_mele_pythtb, kane_mele_tbmodels
2 | from .haldane import haldane_pythtb, haldane_tbmodels
--------------------------------------------------------------------------------
/strawberrypy/example_models/haldane.py:
--------------------------------------------------------------------------------
1 | r"""
2 | This module contains two equivalent functions that create an instance of the `Haldane model `_ with PythTB or TBmodels. The Haldane model is a tight-binding model describing spinless electrons hopping on a 2D honeycomb lattice with a staggered magnetic flux. The parameters of the model are the nearest-neighbor hopping :math:`t`, the on-site energy term :math:`\pm\Delta` with opposite signs on the two sublattices and the second-nearest-neighbor hopping term :math:`t_2e^{i\phi}`. The Hamiltonian of the model reads:
3 |
4 | .. math::
5 |
6 | \mathcal{H} = \Delta\sum_{i}\left( c_{i,A}^{\dagger}c_{i,A}-c_{i,B}^{\dagger}c_{i,B} \right) + t \sum_{\langle ij\rangle}c_i^{\dagger}c_j+t_2\sum_{\langle\langle ij\rangle\rangle} e^{i\nu_{ij}\phi}c_i^{\dagger}c_j + \mathrm{h.c.}
7 |
8 | where :math:`\nu_{ij}=\pm 1` is a factor accounting for the direction of the complex hopping.
9 | """
10 |
11 | from pythtb import tb_model
12 | from tbmodels import Model
13 |
14 | import numpy as np
15 |
16 | def haldane_pythtb(delta, t, t2, phi):
17 | # From http://www.physics.rutgers.edu/pythtb/examples.html#haldane-model
18 | lat=[[1.0,0.0],[0.5,np.sqrt(3.0)/2.0]]
19 | orb=[[0.0,0.0],[1./3.,1./3.]]
20 | model=tb_model(2,2,lat,orb)
21 | model.set_onsite([-delta,delta])
22 | for lvec in ([ 0, 0], [-1, 0], [ 0,-1]):
23 | model.set_hop(t, 0, 1, lvec)
24 | for lvec in ([ 1, 0], [-1, 1], [ 0,-1]):
25 | model.set_hop(t2*np.exp(1.j*phi), 0, 0, lvec)
26 | for lvec in ([-1, 0], [ 1,-1], [ 0, 1]):
27 | model.set_hop(t2*np.exp(1.j*phi), 1, 1, lvec)
28 |
29 | return model
30 |
31 | def haldane_tbmodels(delta, t, t2, phi):
32 | primitive_cell = [[1.0,0.0],[0.5,np.sqrt(3.0)/2.0]]
33 | orb = [[0.0,0.0],[1./3.,1./3.]]
34 | h_model = Model(on_site=[-delta,delta], dim=2, occ=1, pos=orb, uc=primitive_cell)
35 | for lvec in ([0,0],[-1,0],[0,-1]):
36 | h_model.add_hop(t, 0,1,lvec)
37 | for lvec in ([1,0],[-1,1],[0,-1]):
38 | h_model.add_hop(t2*np.exp(1.j*phi), 0,0,lvec)
39 | for lvec in ([-1,0],[1,-1],[0,1]):
40 | h_model.add_hop(t2*np.exp(1.j*phi), 1,1,lvec)
41 |
42 | return h_model
--------------------------------------------------------------------------------
/strawberrypy/example_models/kane_mele.py:
--------------------------------------------------------------------------------
1 | r"""
2 | This module contains two equivalent functions that create an instance of the `Kane-Mele model `_ with PythTB or TBmodels. The Kane-Mele model is a tight-binding model describing spinful electrons hopping on a 2D honeycomb lattice with spin-orbit coupling and a Rashba term (breaking :math:`S_z`-symmetry). The parameters of the model are the intensity of the diagonal spin-orbit coupling :math:`\lambda_{SO}`, the Rashba term :math:`\lambda_{R}`. The Hamiltonian of the model reads:
3 |
4 | .. math::
5 |
6 | \mathcal{H} = \Delta\sum_{i}(-1)^{\tau_i}c_{i}^{\dagger}c_{i} + t \sum_{\langle ij\rangle}c_i^{\dagger}c_j+i\lambda_{SO}\sum_{\langle\langle ij\rangle\rangle} \nu_{ij}c_i^{\dagger}\sigma_zc_j + i\lambda_R\sum_{\langle ij\rangle}c_i^{\dagger}(\hat{\mathbf e}_{\langle ij\rangle}\cdot\boldsymbol\sigma)c_j + \mathrm{h.c.}
7 |
8 | where :math:`\tau_i\in\{0,1\}` is an index which distinguishes the two sublattices, :math:`\nu_{ij}=\pm 1` accounts for the direction of the hoppings and :math:`\hat{\mathbf e}_{\langle ij\rangle}=\hat{\mathbf d}_{\langle ij\rangle}\times\hat{\mathbf z}` where :math:`\hat{\mathbf d}_{\langle ij\rangle}` is the unit vector in the direction from site :math:`i` to site :math:`j`. In the Hamiltonian, the double sum on the spin indices is implied in each term, with the convention that if no spin matrices appear, they are contracted over the identity.
9 | """
10 |
11 | from pythtb import tb_model
12 | from tbmodels import Model
13 |
14 | import numpy as np
15 |
16 | def kane_mele_pythtb(rashba, esite, spin_orb):
17 | # From http://www.physics.rutgers.edu/pythtb/examples.html#kane-mele-model-using-spinor-features
18 |
19 | # define lattice vectors
20 | lat=[[1.0,0.0],[0.5,np.sqrt(3.0)/2.0]]
21 | # define coordinates of orbitals
22 | orb=[[0.0,0.0],[1./3.,1./3.]]
23 |
24 | # make two dimensional tight-binding Kane-Mele model
25 | km_model=tb_model(2,2,lat,orb,nspin=2)
26 |
27 | # set other parameters of the model
28 | thop=1.0
29 |
30 | rashba = rashba*spin_orb
31 | esite = esite*spin_orb
32 |
33 | # set on-site energies
34 | km_model.set_onsite([esite, -esite])
35 |
36 | # set hoppings (one for each connected pair of orbitals)
37 | # (amplitude, i, j, [lattice vector to cell containing j])
38 |
39 | # useful definitions
40 | sigma_x=np.array([0.,1.,0.,0])
41 | sigma_y=np.array([0.,0.,1.,0])
42 | sigma_z=np.array([0.,0.,0.,1])
43 |
44 | # spin-independent first-neighbor hops
45 | for lvec in ([ 0, 0], [-1, 0], [ 0,-1]):
46 | km_model.set_hop(thop, 0, 1, lvec)
47 |
48 | # spin-dependent second-neighbor hops
49 | for lvec in ([ 1, 0], [-1, 1], [ 0,-1]):
50 | km_model.set_hop(1.j*spin_orb*sigma_z, 0, 0, lvec)
51 | for lvec in ([-1, 0], [ 1,-1], [ 0, 1]):
52 | km_model.set_hop(1.j*spin_orb*sigma_z, 1, 1, lvec)
53 |
54 | # Rashba first-neighbor hoppings: (s_x)(dy)-(s_y)(d_x)
55 | r3h =np.sqrt(3.0)/2.0
56 |
57 | # bond unit vectors are (r3h,half) then (0,-1) then (-r3h,half)
58 | km_model.set_hop(1.j*rashba*( 0.5*sigma_x-r3h*sigma_y), 0, 1, [ 0, 0], mode="add")
59 | km_model.set_hop(1.j*rashba*(-1.0*sigma_x ), 0, 1, [ 0,-1], mode="add")
60 | km_model.set_hop(1.j*rashba*( 0.5*sigma_x+r3h*sigma_y), 0, 1, [-1, 0], mode="add")
61 |
62 | return km_model
63 |
64 | def kane_mele_tbmodels(rashba,esite,spin_orb):
65 |
66 | t_hop = 1.0
67 | r = rashba*spin_orb
68 | e = esite*spin_orb
69 |
70 | primitive_cell = [[1.0,0.0],[0.5,np.sqrt(3.0)/2.0]]
71 | orb = [[0.0,0.0],[0.0,0.0],[1./3.,1./3.],[1./3.,1./3.]]
72 |
73 | #set energy on site
74 | km_model = Model(on_site=[e,e,-e,-e], dim=2, occ=2, pos=orb, uc=primitive_cell)
75 |
76 | #spin-independent first-neighbor hops
77 | for lvec in ([0,0],[-1,0],[0,-1]):
78 | km_model.add_hop(t_hop,0,2,lvec)
79 | km_model.add_hop(t_hop,1,3,lvec)
80 |
81 | #spin-dependent second-neighbor hops
82 | for lvec in ([1,0],[-1,1],[0,-1]):
83 | km_model.add_hop(1.j*spin_orb, 0,0,lvec)
84 | km_model.add_hop(-1.j*spin_orb, 1,1,lvec)
85 | for lvec in ([-1,0],[1,-1],[0,1]):
86 | km_model.add_hop(1.j*spin_orb,2,2,lvec)
87 | km_model.add_hop(-1.j*spin_orb, 3,3,lvec)
88 |
89 | #Rashba first neighbor hoppings : (s_x)(dy)-(s_y)(dx)
90 | r3h = np.sqrt(3.0)/2.0
91 |
92 | #bond unit vectors are (r3h,half) then (0,-1) then (-r3h,half)
93 | km_model.add_hop(1.j*r*(0.5-1.j*r3h), 1, 2, [ 0, 0])
94 | km_model.add_hop(1.j*r*(0.5+1.j*r3h), 0, 3, [ 0, 0])
95 | km_model.add_hop(-1.j*r, 1, 2, [ 0, -1])
96 | km_model.add_hop(-1.j*r, 0, 3, [ 0, -1])
97 | km_model.add_hop(1.j*r*(0.5+1.j*r3h), 1, 2, [ -1, 0])
98 | km_model.add_hop(1.j*r*(0.5-1.j*r3h), 0, 3, [ -1, 0])
99 |
100 | return km_model
--------------------------------------------------------------------------------
/strawberrypy/utils.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 |
3 | def fermidirac(evals, temperature : float, mu : float):
4 | r"""
5 | The Fermi-Dirac distribution :math:`f(\epsilon, T, \mu)=\big[ 1 + e^{\frac{\epsilon-\mu}{T}} \big]^{-1}`.
6 |
7 | Parameters
8 | ----------
9 | evals :
10 | List of eigenvalues of the Hamiltonian.
11 | temperature :
12 | Temperature of the system.
13 | mu :
14 | The chemical potential of the system.
15 |
16 | Returns
17 | -------
18 | occupations : :python:`np.array | float`
19 | The occupation(s) of the state corresponding to the given energy(ies)
20 | """
21 | if temperature < 1e-6:
22 | if evals.shape == ():
23 | return 1 if evals <+ mu else 0
24 | else:
25 | return np.array([ 1 if e <= mu else 0 for e in evals ])
26 | else:
27 | return 1 / (1 + np.exp( (evals - mu) / temperature ))
28 |
29 |
30 | def chemical_potential(evals, temperature : float, occupied_states : int):
31 | r"""
32 | Calculate the chemical potential of a given model knowing the eigenvalue distribution and the number of electrons (occupied states) in the system.
33 |
34 | Parameters
35 | ----------
36 | evals :
37 | List of eigenvalues of the Hamiltonian.
38 | temperature :
39 | Temperature (real or fictitious, as in the case of smearing) of the system, appearing in the Fermi-Dirac distribution.
40 | occupied_states :
41 | Number of occupied states of the system.
42 |
43 | Returns
44 | -------
45 | mu : :python:`float`
46 | The chemical potential of the system.
47 |
48 | .. warning::
49 | The chemical potential is calculated via bisection method, if convergence is not achieved in 200 iterations, an error is returned.
50 | """
51 | mu_min = np.min(evals)
52 | mu_max = np.max(evals)
53 | mu = 0
54 | niter = 0
55 | maxiter = 200
56 |
57 | while True:
58 | mu = 0.5 * (mu_min + mu_max)
59 | n_exp = np.sum(fermidirac(evals, temperature, mu))
60 |
61 | if n_exp < occupied_states:
62 | mu_min = mu
63 | else:
64 | mu_max = mu
65 |
66 | if np.abs(n_exp - occupied_states) < 1e-6:
67 | break
68 |
69 | niter += 1
70 | if niter > maxiter:
71 | raise RuntimeError("Chemical potential cannot be found: bisection method failed (200 iterations)")
72 | return mu
73 |
74 |
75 | def smearing(vecs, gamma_hevecs, evals, temperature : float, mu : float):
76 | r"""
77 | Smearing introduced to improve the convergence of the formula: it measures how much the projector built from :python:`vecs` is similar to the one built from :python:`gamma_hevecs`, the eigenstates of the Hamiltonian at the :math:`\Gamma`-point. Naming :math:`|\phi_n\rangle` the vectors in :python:`vecs` and :math:`|u_n\rangle` the ones in :python:`gamma_hevecs`, the smearing factor is computed as :math:`c_n=\sum_m f(\epsilon_m, T_s, \mu)|\langle \phi_n|u_m\rangle|^2`, where :math:`\epsilon_m` is the eigenvalue corresponding to the eigenstate :math:`|u_m\rangle`, :math:`T_s` is the smearing temperature, :math:`\mu` is the chemical potential.
78 |
79 | Parameters
80 | ----------
81 | vecs :
82 | List of states that need to be weighted according to some smearing.
83 | gamma_hevecs :
84 | Eigenstates of th Hamiltonian at the :math:`\Gamma`-point.
85 | evals :
86 | Eigenvales of the Hamiltonian at the :math:`\Gamma`-point.
87 | temperature :
88 | Temperature introduced to smoothen the occupation of the states (smearing temperature).
89 | mu :
90 | Chemical potential of the system.
91 |
92 | Returns
93 | -------
94 | smearing_coeffs : :python:`np.array`
95 | A list of smearing coefficients that weights the states :python:`vecs`.
96 | """
97 | if temperature < 1e-6:
98 | return np.array([1 for _ in range(vecs.shape[1])])
99 | else:
100 | return np.array([np.sum([fermidirac(evals[m], temperature, mu) * np.abs(np.vdot(vecs[:, n], gamma_hevecs[:, m])) ** 2 for m in range(gamma_hevecs.shape[1])]) for n in range(vecs.shape[1])])
101 |
102 |
103 | def unique_vacancies(num : int, Lx : int, Ly : int, basis : int, seed : int = None):
104 | r"""
105 | Returns a list of unique random lattice sites to be removed in the model using the method :python:`add_vacancies`.
106 |
107 | Parameters
108 | ----------
109 | num :
110 | Number of lattice positions to generate.
111 | Lx :
112 | Number of unit cells of the model along the :math:`\mathbf{a}_1` direction.
113 | Ly :
114 | Number of unit cells of the model along the :math:`\mathbf{a}_2` direction.
115 | basis :
116 | Number of atoms per unit cell.
117 | seed :
118 | Seed for the random number generation. Default is :python:`None`.
119 |
120 | Returns
121 | -------
122 | unique_list : :python:`list`
123 | List of unique random lattice site.
124 | """
125 |
126 | indexes = []
127 | unique_list = []
128 |
129 | # Set random seed
130 | if seed is not None:
131 | np.random.seed(seed)
132 |
133 | # Generate num unique entries
134 | while len(unique_list) < num:
135 | # Trial entry
136 | trial = [np.random.randint(Lx), np.random.randint(Ly), np.random.randint(basis)]
137 |
138 | # Generate internal index
139 | trial_index = Ly * basis * trial[0] + basis * trial[1] + trial[2]
140 |
141 | # If this is a new entry store it
142 | if not trial_index in indexes:
143 | indexes.append(trial_index)
144 | unique_list.append(trial)
145 |
146 | return unique_list
--------------------------------------------------------------------------------
/tests/check/lcm_heterostructure.check:
--------------------------------------------------------------------------------
1 | -1.499502174776342043e-05
2 | -1.499502174776342043e-05
3 | 1.056859071353438758e-06
4 | 1.056859071353438758e-06
5 | -1.688048045753319553e-05
6 | -1.688048045753319553e-05
7 | -1.721827050793003097e-05
8 | -1.721827050793003097e-05
9 | -1.722316700858372458e-05
10 | -1.722316700858372458e-05
11 | -1.718303346597427277e-05
12 | -1.718303346597427277e-05
13 | -1.052457194138528200e-05
14 | -1.052457194138528200e-05
15 | -3.551760070361154671e-05
16 | -3.551760070361154671e-05
17 | 1.056859072496972624e-06
18 | 1.056859072496972624e-06
19 | 3.380900958440049436e-05
20 | 3.380900958440049436e-05
21 | 1.721990715680239367e-05
22 | 1.721990715680239367e-05
23 | 1.690058765927125535e-05
24 | 1.690058765927125535e-05
25 | 1.689768660211275820e-05
26 | 1.689768660211275820e-05
27 | 1.712852833870597536e-05
28 | 1.712852833870597536e-05
29 | 3.373568560742706086e-05
30 | 3.373568560742706086e-05
31 | -1.052457203179981835e-05
32 | -1.052457203179981835e-05
33 | -1.688048069947490593e-05
34 | -1.688048069947490593e-05
35 | 1.721990395369073538e-05
36 | 1.721990395369073538e-05
37 | 6.456033269759835545e-07
38 | 6.456033269759835545e-07
39 | 3.276707304178968564e-07
40 | 3.276707304178968564e-07
41 | 3.271328878877909374e-07
42 | 3.271328878877909374e-07
43 | 6.448669686940792214e-07
44 | 6.448669686940792214e-07
45 | 1.712851887581760317e-05
46 | 1.712851887581760317e-05
47 | -1.718304245923347746e-05
48 | -1.718304245923347746e-05
49 | -1.721831639085333944e-05
50 | -1.721831639085333944e-05
51 | 1.690007954638686314e-05
52 | 1.690007954638686314e-05
53 | 3.261812090925811426e-07
54 | 3.261812090925811426e-07
55 | 7.962852371409637847e-09
56 | 7.962852371409637847e-09
57 | 8.496665158854999775e-09
58 | 8.496665158854999775e-09
59 | 3.261591609927438170e-07
60 | 3.261591609927438170e-07
61 | 1.689673417109140578e-05
62 | 1.689673417109140578e-05
63 | -1.722404818192072983e-05
64 | -1.722404818192072983e-05
65 | -1.723208289888344705e-05
66 | -1.723208289888344705e-05
67 | 1.682176855923955236e-05
68 | 1.682176855923955236e-05
69 | 1.646448324598841267e-07
70 | 1.646448324598841267e-07
71 | -1.367499237544327533e-07
72 | -1.367499237544327533e-07
73 | -9.329075086822398222e-08
74 | -9.329075086822398222e-08
75 | 2.322582529531730860e-07
76 | 2.322582529531730860e-07
77 | 1.680663081695860003e-05
78 | 1.680663081695860003e-05
79 | -1.730224127642200318e-05
80 | -1.730224127642200318e-05
81 | -1.899320163598588177e-05
82 | -1.899320163598588177e-05
83 | 6.259104141551189343e-06
84 | 6.259104141551189343e-06
85 | -1.438824537974934138e-05
86 | -1.438824537974934138e-05
87 | -1.014881697684700657e-05
88 | -1.014881697684700657e-05
89 | -8.809280668743546116e-06
90 | -8.809280668743546116e-06
91 | -8.537244519300965631e-06
92 | -8.537244519300965631e-06
93 | 8.323403404537835289e-06
94 | 8.323403404537835289e-06
95 | -2.452608253218777816e-05
96 | -2.452608253218777816e-05
97 | -4.048613824884514053e-04
98 | -4.048613824884514053e-04
99 | -1.288462452759547069e-03
100 | -1.288462452759547069e-03
101 | -9.602966308392805756e-04
102 | -9.602966308392805756e-04
103 | -7.633074390585237656e-04
104 | -7.633074390585237656e-04
105 | -7.694960299018112175e-04
106 | -7.694960299018112175e-04
107 | -7.803258246649920089e-04
108 | -7.803258246649920089e-04
109 | -7.288123056157766238e-04
110 | -7.288123056157766238e-04
111 | -6.246288569724081944e-04
112 | -6.246288569724081944e-04
113 | -7.699226656470227470e-02
114 | -7.699226656470227470e-02
115 | -6.975381567956960571e-02
116 | -6.975381567956960571e-02
117 | -4.755252257115780146e-02
118 | -4.755252257115780146e-02
119 | -4.678022086977841332e-02
120 | -4.678022086977841332e-02
121 | -4.883373458890706564e-02
122 | -4.883373458890706564e-02
123 | -5.001743369395625360e-02
124 | -5.001743369395625360e-02
125 | -4.768041483407289838e-02
126 | -4.768041483407289838e-02
127 | -3.753939266229970595e-02
128 | -3.753939266229970595e-02
129 | -2.098115152584645315e+00
130 | -2.098115152584645315e+00
131 | -1.185623094860213556e+00
132 | -1.185623094860213556e+00
133 | -6.921884509411024844e-01
134 | -6.921884509411024844e-01
135 | -7.026425742976710742e-01
136 | -7.026425742976710742e-01
137 | -7.619888660760493204e-01
138 | -7.619888660760493204e-01
139 | -8.243320953927959494e-01
140 | -8.243320953927959494e-01
141 | -8.710143943364062613e-01
142 | -8.710143943364062613e-01
143 | -1.067761198810689205e+00
144 | -1.067761198810689205e+00
145 | -1.483178005980059000e+00
146 | -1.483178005980059000e+00
147 | 4.492634323604859925e-01
148 | 4.492634323604859925e-01
149 | 7.210792557295873095e-01
150 | 7.210792557295873095e-01
151 | 7.080628930053589620e-01
152 | 7.080628930053589620e-01
153 | 6.980912109722142711e-01
154 | 6.980912109722142711e-01
155 | 6.726982873684269615e-01
156 | 6.726982873684269615e-01
157 | 5.006135791528000256e-01
158 | 5.006135791528000256e-01
159 | -9.462048391102741984e-01
160 | -9.462048391102741984e-01
161 | -8.929425391163847703e-01
162 | -8.929425391163847703e-01
163 | 8.140254124764005894e-01
164 | 8.140254124764005894e-01
165 | 9.648284796639996497e-01
166 | 9.648284796639996497e-01
167 | 9.611382670216910284e-01
168 | 9.611382670216910284e-01
169 | 9.467192740209700030e-01
170 | 9.467192740209700030e-01
171 | 8.979536804358508872e-01
172 | 8.979536804358508872e-01
173 | 6.821007282227391499e-01
174 | 6.821007282227391499e-01
175 | -9.171344098065403738e-01
176 | -9.171344098065403738e-01
177 | -8.263906095646864625e-01
178 | -8.263906095646864625e-01
179 | 8.187609888020449533e-01
180 | 8.187609888020449533e-01
181 | 9.806385087466895634e-01
182 | 9.806385087466895634e-01
183 | 9.852888748138153296e-01
184 | 9.852888748138153296e-01
185 | 9.796541786716717048e-01
186 | 9.796541786716717048e-01
187 | 9.536498186110766717e-01
188 | 9.536498186110766717e-01
189 | 7.253515872795970321e-01
190 | 7.253515872795970321e-01
191 | -8.443816461132330753e-01
192 | -8.443816461132330753e-01
193 | -8.915426853297038212e-01
194 | -8.915426853297038212e-01
195 | 7.940705675559396326e-01
196 | 7.940705675559396326e-01
197 | 9.687708812664621583e-01
198 | 9.687708812664621583e-01
199 | 9.843862495674101654e-01
200 | 9.843862495674101654e-01
201 | 9.858368060017963508e-01
202 | 9.858368060017963508e-01
203 | 9.709738187210424920e-01
204 | 9.709738187210424920e-01
205 | 7.506214313971778518e-01
206 | 7.506214313971778518e-01
207 | -7.666515015546557787e-01
208 | -7.666515015546557787e-01
209 | -9.584286432590763960e-01
210 | -9.584286432590763960e-01
211 | 7.487309109333319945e-01
212 | 7.487309109333319945e-01
213 | 9.217407780164118547e-01
214 | 9.217407780164118547e-01
215 | 9.613319378297812134e-01
216 | 9.613319378297812134e-01
217 | 9.735099181251403166e-01
218 | 9.735099181251403166e-01
219 | 9.703640937800190880e-01
220 | 9.703640937800190880e-01
221 | 7.693055075302799306e-01
222 | 7.693055075302799306e-01
223 | -7.681316202869360454e-01
224 | -7.681316202869360454e-01
225 | -9.782519753947646057e-01
226 | -9.782519753947646057e-01
227 | 5.601696732250167621e-01
228 | 5.601696732250167621e-01
229 | 7.191130246880574894e-01
230 | 7.191130246880574894e-01
231 | 7.422166125415270432e-01
232 | 7.422166125415270432e-01
233 | 7.577772264256161794e-01
234 | 7.577772264256161794e-01
235 | 7.724621098835029454e-01
236 | 7.724621098835029454e-01
237 | 4.612973438769552570e-01
238 | 4.612973438769552570e-01
239 | -1.343569983860620320e+00
240 | -1.343569983860620320e+00
241 | -1.123846652363632792e+00
242 | -1.123846652363632792e+00
243 | -9.562003817328332822e-01
244 | -9.562003817328332822e-01
245 | -9.196195510298011966e-01
246 | -9.196195510298011966e-01
247 | -8.430450068630441773e-01
248 | -8.430450068630441773e-01
249 | -7.622760647489574826e-01
250 | -7.622760647489574826e-01
251 | -7.636307101425295896e-01
252 | -7.636307101425295896e-01
253 | -1.340756805782651773e+00
254 | -1.340756805782651773e+00
255 | -2.311206329395560477e+00
256 | -2.311206329395560477e+00
257 |
--------------------------------------------------------------------------------
/tests/check/lcm_uniform_disorder.check:
--------------------------------------------------------------------------------
1 | -1.411187609886459526e+00
2 | -8.975152277363263043e-01
3 | -9.483784504009724614e-01
4 | -3.740028643409711306e-01
5 | -3.619904945379069927e-01
6 | 4.555978061365630744e-02
7 | -3.084517833033684209e-01
8 | 1.051870326658009142e-01
9 | -3.103913266874426258e-01
10 | 9.496554776321586289e-02
11 | -2.721647220470465034e-01
12 | -1.465164519371532914e-01
13 | -6.700715483394569238e-01
14 | -4.826836427799774398e-01
15 | -9.019036649436663611e-01
16 | -7.798760767095460622e-01
17 | -1.002960912815492822e+00
18 | -4.160992229238363871e-01
19 | -3.609106864299649331e-01
20 | 9.214939353473970696e-02
21 | 2.356190612846698618e-01
22 | 5.254964893336832032e-01
23 | 2.875026399557970569e-01
24 | 5.853833299315204242e-01
25 | 2.952188624659651817e-01
26 | 5.666172592681690823e-01
27 | 1.054808638393126413e-01
28 | 2.521952977663145523e-01
29 | -1.819719625406396313e-01
30 | -1.615630549227076440e-01
31 | -4.583751539303674294e-01
32 | -2.783169311112413391e-01
33 | -3.451904085459044369e-01
34 | -7.955099240594400156e-02
35 | 1.402125412169064611e-01
36 | 4.463433632660770978e-01
37 | 8.120517781745619779e-01
38 | 8.386201725136250840e-01
39 | 9.148534713400690022e-01
40 | 9.365403613306836350e-01
41 | 9.288429744479883565e-01
42 | 9.264258317232412221e-01
43 | 7.824080992127544487e-01
44 | 7.265682831358912797e-01
45 | 4.123595639972871263e-01
46 | 2.155913029551057292e-01
47 | 2.516102398045835103e-02
48 | -2.352820647026193923e-01
49 | -3.900096823778407273e-01
50 | -7.997805869407796642e-02
51 | 1.478317509727491985e-01
52 | 4.219422987437734252e-01
53 | 8.228942049169091222e-01
54 | 8.639395119171554560e-01
55 | 9.460188591342478803e-01
56 | 9.687304627621149411e-01
57 | 9.625552921978505205e-01
58 | 9.295508429740719780e-01
59 | 8.537064792832603777e-01
60 | 8.371854006668011383e-01
61 | 5.310597060328196006e-01
62 | 1.059961807346389145e-01
63 | -1.396337846849722564e-01
64 | -4.830683666602608173e-01
65 | -6.018710292175001308e-01
66 | -2.191657187422919595e-01
67 | 4.266253955557370442e-02
68 | 3.232245846471873962e-01
69 | 7.884372719289891585e-01
70 | 8.543312967235320299e-01
71 | 9.250893002154616518e-01
72 | 9.348749758717005420e-01
73 | 9.421808802432241059e-01
74 | 9.508857480650603211e-01
75 | 9.149594976056144580e-01
76 | 8.028459361139232975e-01
77 | 3.387840338825985342e-01
78 | 2.510827653436991866e-02
79 | -2.509267817513708421e-01
80 | -6.820179908763573939e-01
81 | -5.099663440691497573e-01
82 | -1.369472837904724405e-01
83 | 1.011037754987648418e-01
84 | 3.561050506587495335e-01
85 | 6.991079384618595904e-01
86 | 6.962732472997503752e-01
87 | 8.284925291615431453e-01
88 | 8.205380729888656077e-01
89 | 9.353546711677936942e-01
90 | 9.041342323609473652e-01
91 | 7.883501335335341142e-01
92 | 6.121776688443889558e-01
93 | 2.268377759946406114e-01
94 | -6.115306763443824345e-02
95 | -2.562221073720249986e-01
96 | -2.815645926204988769e-01
97 | -4.632615477970196682e-01
98 | -3.526528718522322636e-01
99 | -1.354892814504956577e-01
100 | -6.916219173137655440e-02
101 | 3.391978715649976994e-01
102 | 1.872952842769420312e-01
103 | 4.748230009307296551e-01
104 | 2.942777528116088392e-01
105 | 5.857425989846198888e-01
106 | 1.372630287278701622e-01
107 | 2.159049782841981902e-01
108 | -6.534082078641040292e-02
109 | -1.890403579780397525e-02
110 | -2.529275312041697754e-01
111 | -2.099748135723266407e-01
112 | -7.018994547106578441e-01
113 | -5.795232854853740179e-01
114 | -4.292642012681444075e-01
115 | -2.956581098702342758e-01
116 | -4.503933751508538696e-01
117 | -2.317771811166035451e-02
118 | -1.755415075998187080e-01
119 | 7.458060440604354080e-02
120 | -4.066923596061580715e-01
121 | -9.783498512476132558e-02
122 | -5.428061119199670825e-01
123 | -1.587503599260025045e-01
124 | -5.224031039125112130e-01
125 | -2.183497154765399739e-01
126 | -7.688432451301934201e-01
127 | -6.515992758849158406e-01
128 | -1.167807988103272798e+00
129 |
--------------------------------------------------------------------------------
/tests/check/lcm_vacancies.check:
--------------------------------------------------------------------------------
1 | -1.766257111052791817e+00
2 | -7.448394659554889996e-01
3 | -7.829794327408923227e-01
4 | 4.433789713689292172e-02
5 | -1.169759766820621660e-02
6 | 3.104570338428256360e-01
7 | -2.485472361844071054e-03
8 | 1.898456620329075639e-01
9 | -6.366713964253872815e-02
10 | 3.559260978733284897e-02
11 | -4.520911498925271332e-01
12 | -7.250464698983292988e-02
13 | -2.959120154786527568e-01
14 | -2.867740502289642945e-01
15 | -4.869962143758166384e-01
16 | -4.186513904585630330e-01
17 | -7.586835700067969812e-01
18 | 6.715632588065245830e-03
19 | 2.435658867308772985e-02
20 | 3.206772575281868209e-01
21 | 3.660076579262108720e-01
22 | 4.992104851686343103e-01
23 | 3.061893078728372131e-01
24 | 3.386228767975891785e-01
25 | 1.243022881531999357e-01
26 | 6.888152300510327897e-02
27 | 1.102006096273326075e-01
28 | -1.838332523466665869e-01
29 | -1.580603318244170608e-01
30 | -3.686506854292793678e-01
31 | -5.304601775011509313e-01
32 | 6.271451568236251217e-02
33 | 1.877184903654272874e-01
34 | 3.251623867988177041e-01
35 | 6.090477385166772617e-01
36 | 6.048092102186549690e-01
37 | 6.125786706355172972e-01
38 | 6.469788798898944426e-01
39 | 5.955339103720912464e-01
40 | 6.347768423544392080e-01
41 | 5.045009096680789229e-01
42 | 2.682363574567830367e-01
43 | -2.648459572132077500e-01
44 | -3.495217398549029242e-01
45 | -2.269103198968344948e-01
46 | 8.956612477488090640e-02
47 | 2.298554740484172187e-01
48 | 3.817076832195960279e-01
49 | 6.107637353414366865e-01
50 | 7.387793596084951675e-01
51 | 7.366777016553889279e-01
52 | 7.794449943985457541e-01
53 | 7.776221980268035461e-01
54 | 8.720205919385254356e-01
55 | 7.511950856426854450e-01
56 | 6.098476989641595791e-01
57 | 2.025571974020995425e-01
58 | 1.041526953501657748e-01
59 | -1.637720058493408737e-01
60 | -2.628605670425416263e-01
61 | -1.621226596272834775e-01
62 | 8.100637709222187344e-02
63 | 3.814303215436213867e-01
64 | 7.061696252617064573e-01
65 | 7.464936075135569782e-01
66 | 8.807896604011551389e-01
67 | 8.617150597492660991e-01
68 | 8.694354781045414704e-01
69 | 8.214804037016263383e-01
70 | 7.330139645006978899e-01
71 | 6.621241958986813225e-01
72 | 3.770855017572182777e-01
73 | 7.133020347902423175e-02
74 | -1.680783700040470729e-01
75 | -3.153797474440526161e-01
76 | -6.648045060454954580e-01
77 | -6.535746816710023832e-02
78 | 4.036790082007882946e-02
79 | 4.882729816849446514e-01
80 | 7.052379673603096366e-01
81 | 6.854262261225398944e-01
82 | 8.024813040832541322e-01
83 | 7.380420720407107060e-01
84 | 6.547568543855640799e-01
85 | 3.571167807609861300e-01
86 | 5.597933747795307002e-02
87 | -1.750447359281495363e-01
88 | -3.534372143210481321e-01
89 | -6.333375587823449893e-01
90 | -8.157425230273988026e-01
91 | -5.254220463206134006e-01
92 | -3.576660110232555700e-01
93 | 1.947472190605151476e-01
94 | 1.345305391216339019e-01
95 | 4.106098705936667703e-01
96 | 2.828825463105356652e-01
97 | 4.735721057724970318e-01
98 | 1.860701420211864632e-01
99 | 1.943653796215099594e-01
100 | -2.090757232007090238e-01
101 | -2.584818264266798282e-01
102 | -5.001014289936904778e-01
103 | -5.448262557968986952e-01
104 | -8.029508504935708446e-01
105 | -4.721341802693683198e-01
106 | -2.763884662197954589e-01
107 | -2.654179961621181971e-01
108 | 7.592769833784355875e-03
109 | -9.838565236116061929e-02
110 | 1.131465938813420724e-01
111 | -1.622537056205965444e-01
112 | -1.186301943907112910e-03
113 | -4.958436033830935785e-01
114 | -4.675972266418451095e-01
115 | -8.952458449754296943e-01
116 | -7.559865813752276731e-01
117 | -4.332892688968360551e-01
118 | -5.396592452151887098e-01
119 |
--------------------------------------------------------------------------------
/tests/check/loc_haldane_heterostructure.check:
--------------------------------------------------------------------------------
1 | 1.894530741051364542e-03
2 | 1.894530741051364542e-03
3 | 6.370836115809555902e-03
4 | 6.370836115809555902e-03
5 | 6.441561904546613988e-03
6 | 6.441561904546613988e-03
7 | 6.442544508461070692e-03
8 | 6.442544508461070692e-03
9 | 6.442557876050623335e-03
10 | 6.442557876050623335e-03
11 | 6.442561297398707518e-03
12 | 6.442561297398707518e-03
13 | 6.442892824526928915e-03
14 | 6.442892824526928915e-03
15 | 6.475187473160588271e-03
16 | 6.475187473160588271e-03
17 | 6.370836115810076319e-03
18 | 6.370836115810076319e-03
19 | 1.063544115020266523e-02
20 | 1.063544115020266523e-02
21 | 1.070458676728706406e-02
22 | 1.070458676728706406e-02
23 | 1.070556032332553413e-02
24 | 1.070556032332553413e-02
25 | 1.070557369082292785e-02
26 | 1.070557369082292785e-02
27 | 1.070557755887309795e-02
28 | 1.070557755887309795e-02
29 | 1.070593882653192268e-02
30 | 1.070593882653192268e-02
31 | 1.074009491829354228e-02
32 | 1.074009491829354228e-02
33 | 6.441561904642059341e-03
34 | 6.441561904642059341e-03
35 | 1.070458676841128630e-02
36 | 1.070458676841128630e-02
37 | 1.077358828649129484e-02
38 | 1.077358828649129484e-02
39 | 1.077455915615959693e-02
40 | 1.077455915615959693e-02
41 | 1.077457251154691903e-02
42 | 1.077457251154691903e-02
43 | 1.077458171305390594e-02
44 | 1.077458171305390594e-02
45 | 1.077515864139698062e-02
46 | 1.077515864139698062e-02
47 | 1.076867095512441808e-02
48 | 1.076867095512441808e-02
49 | 6.442544525001519390e-03
50 | 6.442544525001519390e-03
51 | 1.070556048252807937e-02
52 | 1.070556048252807937e-02
53 | 1.077455959278171907e-02
54 | 1.077455959278171907e-02
55 | 1.077553051085739302e-02
56 | 1.077553051085739302e-02
57 | 1.077554389628435430e-02
58 | 1.077554389628435430e-02
59 | 1.077555388660564502e-02
60 | 1.077555388660564502e-02
61 | 1.077589186230024781e-02
62 | 1.077589186230024781e-02
63 | 1.076882180341328342e-02
64 | 1.076882180341328342e-02
65 | 6.442560800151592507e-03
66 | 6.442560800151592507e-03
67 | 1.070559476927999271e-02
68 | 1.070559476927999271e-02
69 | 1.077461495686041389e-02
70 | 1.077461495686041389e-02
71 | 1.077558571323421373e-02
72 | 1.077558571323421373e-02
73 | 1.077559323455692074e-02
74 | 1.077559323455692074e-02
75 | 1.077560153593691214e-02
76 | 1.077560153593691214e-02
77 | 1.077593403063292592e-02
78 | 1.077593403063292592e-02
79 | 1.076885715341114810e-02
80 | 1.076885715341114810e-02
81 | 6.443099464998618478e-03
82 | 6.443099464998618478e-03
83 | 1.070829106385583034e-02
84 | 1.070829106385583034e-02
85 | 1.077814798573904082e-02
86 | 1.077814798573904082e-02
87 | 1.077832560520573107e-02
88 | 1.077832560520573107e-02
89 | 1.077817641154286965e-02
90 | 1.077817641154286965e-02
91 | 1.077825505345292138e-02
92 | 1.077825505345292138e-02
93 | 1.077859033591371633e-02
94 | 1.077859033591371633e-02
95 | 1.077131545667714928e-02
96 | 1.077131545667714928e-02
97 | 6.552250301266484764e-03
98 | 6.552250301266484764e-03
99 | 1.101797741026914156e-02
100 | 1.101797741026914156e-02
101 | 1.100689341906982421e-02
102 | 1.100689341906982421e-02
103 | 1.097042298382108413e-02
104 | 1.097042298382108413e-02
105 | 1.097501993070824390e-02
106 | 1.097501993070824390e-02
107 | 1.097997144697797876e-02
108 | 1.097997144697797876e-02
109 | 1.097666216597106142e-02
110 | 1.097666216597106142e-02
111 | 1.094588047906798825e-02
112 | 1.094588047906798825e-02
113 | 2.769512855964370579e-02
114 | 2.769512855964370579e-02
115 | 2.859098871439812173e-02
116 | 2.859098871439812173e-02
117 | 2.341816146306702554e-02
118 | 2.341816146306702554e-02
119 | 2.328180871484161057e-02
120 | 2.328180871484161057e-02
121 | 2.366452255466860999e-02
122 | 2.366452255466860999e-02
123 | 2.389713212735583917e-02
124 | 2.389713212735583917e-02
125 | 2.345390503748128602e-02
126 | 2.345390503748128602e-02
127 | 2.155772358532316579e-02
128 | 2.155772358532316579e-02
129 | 6.841331380478390400e-01
130 | 6.841331380478390400e-01
131 | 4.749326670164574216e-01
132 | 4.749326670164574216e-01
133 | 3.558139066692420638e-01
134 | 3.558139066692420638e-01
135 | 3.579292690693300361e-01
136 | 3.579292690693300361e-01
137 | 3.661658836765395719e-01
138 | 3.661658836765395719e-01
139 | 3.731799757884300406e-01
140 | 3.731799757884300406e-01
141 | 3.713374869655297061e-01
142 | 3.713374869655297061e-01
143 | 3.702392874312652182e-01
144 | 3.702392874312652182e-01
145 | 5.481644065101464181e-01
146 | 5.481644065101464181e-01
147 | 2.429352012619922230e-01
148 | 2.429352012619922230e-01
149 | 2.159999937875469733e-01
150 | 2.159999937875469733e-01
151 | 2.220243396822419168e-01
152 | 2.220243396822419168e-01
153 | 2.221896989010301027e-01
154 | 2.221896989010301027e-01
155 | 2.222440164149220854e-01
156 | 2.222440164149220854e-01
157 | 2.343779298665467081e-01
158 | 2.343779298665467081e-01
159 | 3.766246117992678721e-01
160 | 3.766246117992678721e-01
161 | 3.958139548013658304e-01
162 | 3.958139548013658304e-01
163 | 2.022512604037405015e-01
164 | 2.022512604037405015e-01
165 | 1.993385927069096508e-01
166 | 1.993385927069096508e-01
167 | 2.022452933875708569e-01
168 | 2.022452933875708569e-01
169 | 2.032142916690915235e-01
170 | 2.032142916690915235e-01
171 | 2.053761895944172244e-01
172 | 2.053761895944172244e-01
173 | 2.218321051469553384e-01
174 | 2.218321051469553384e-01
175 | 3.808476228702191158e-01
176 | 3.808476228702191158e-01
177 | 3.813316914925808376e-01
178 | 3.813316914925808376e-01
179 | 2.080696757001925246e-01
180 | 2.080696757001925246e-01
181 | 2.001552084860783731e-01
182 | 2.001552084860783731e-01
183 | 2.017514181633272841e-01
184 | 2.017514181633272841e-01
185 | 2.019421385580043860e-01
186 | 2.019421385580043860e-01
187 | 2.022565654677185298e-01
188 | 2.022565654677185298e-01
189 | 2.210440973386319508e-01
190 | 2.210440973386319508e-01
191 | 3.772442737298672411e-01
192 | 3.772442737298672411e-01
193 | 3.929180198395423318e-01
194 | 3.929180198395423318e-01
195 | 2.109830578619331654e-01
196 | 2.109830578619331654e-01
197 | 2.007079056515533866e-01
198 | 2.007079056515533866e-01
199 | 2.014053506263250304e-01
200 | 2.014053506263250304e-01
201 | 2.011132644862302921e-01
202 | 2.011132644862302921e-01
203 | 2.005867377657690742e-01
204 | 2.005867377657690742e-01
205 | 2.204174976488809667e-01
206 | 2.204174976488809667e-01
207 | 3.747980237514366708e-01
208 | 3.747980237514366708e-01
209 | 4.014192674428834207e-01
210 | 4.014192674428834207e-01
211 | 2.135252859818166926e-01
212 | 2.135252859818166926e-01
213 | 2.023374863494215581e-01
214 | 2.023374863494215581e-01
215 | 2.012257925951264070e-01
216 | 2.012257925951264070e-01
217 | 2.002203269637067296e-01
218 | 2.002203269637067296e-01
219 | 1.987691090428453933e-01
220 | 1.987691090428453933e-01
221 | 2.223551817966989141e-01
222 | 2.223551817966989141e-01
223 | 3.976944917560629178e-01
224 | 3.976944917560629178e-01
225 | 3.948437911400395350e-01
226 | 3.948437911400395350e-01
227 | 2.275749232871132621e-01
228 | 2.275749232871132621e-01
229 | 2.171209960068107292e-01
230 | 2.171209960068107292e-01
231 | 2.186394814559164401e-01
232 | 2.186394814559164401e-01
233 | 2.192209968670186526e-01
234 | 2.192209968670186526e-01
235 | 2.219418464010694814e-01
236 | 2.219418464010694814e-01
237 | 2.863941229041324643e-01
238 | 2.863941229041324643e-01
239 | 5.191248194483411016e-01
240 | 5.191248194483411016e-01
241 | 3.863685088244135368e-01
242 | 3.863685088244135368e-01
243 | 3.782946308253095635e-01
244 | 3.782946308253095635e-01
245 | 3.796527613727883055e-01
246 | 3.796527613727883055e-01
247 | 3.756254709786130408e-01
248 | 3.756254709786130408e-01
249 | 3.735989727505900637e-01
250 | 3.735989727505900637e-01
251 | 3.972313969835668535e-01
252 | 3.972313969835668535e-01
253 | 5.188204186530781525e-01
254 | 5.188204186530781525e-01
255 | 6.046233966938741045e-01
256 | 6.046233966938741045e-01
257 |
--------------------------------------------------------------------------------
/tests/check/loc_haldane_uniform_disorder.check:
--------------------------------------------------------------------------------
1 | 4.256228640239838046e-01
2 | 3.730927575365032278e-01
3 | 3.817897634024246534e-01
4 | 3.252713996809962760e-01
5 | 3.276109048348926356e-01
6 | 2.745238723713714912e-01
7 | 3.279540900975324025e-01
8 | 2.776845601800778107e-01
9 | 3.376728136255018331e-01
10 | 2.825409011895676503e-01
11 | 3.146309135344086960e-01
12 | 3.116277692188698101e-01
13 | 3.943395088590486708e-01
14 | 3.417593129795080675e-01
15 | 3.988015690626434129e-01
16 | 3.669671960920789511e-01
17 | 3.878621695032826722e-01
18 | 3.208413498019707655e-01
19 | 3.197034441533830318e-01
20 | 2.743428989759034153e-01
21 | 2.597066181017680941e-01
22 | 2.328316440518005959e-01
23 | 2.607603771877523569e-01
24 | 2.325616473268040107e-01
25 | 2.658620395872470232e-01
26 | 2.365304063249413502e-01
27 | 2.873581105869560393e-01
28 | 2.703936498377969011e-01
29 | 3.078501552448625334e-01
30 | 3.031516102887747977e-01
31 | 3.334730405687010846e-01
32 | 2.769161536826369452e-01
33 | 3.061177593056118584e-01
34 | 2.912105074643968616e-01
35 | 2.728221660548570404e-01
36 | 2.346042152433304440e-01
37 | 2.078005993894159742e-01
38 | 2.085552106023557117e-01
39 | 2.067468242649219412e-01
40 | 2.051150365945710596e-01
41 | 2.081904269875586022e-01
42 | 2.095383226576882918e-01
43 | 2.201537209626220348e-01
44 | 2.191457248554239678e-01
45 | 2.236367015484426735e-01
46 | 2.457877377437006627e-01
47 | 2.631484476341430234e-01
48 | 3.075087949234153739e-01
49 | 3.237389248410965092e-01
50 | 2.835994565951041047e-01
51 | 2.672745678068312869e-01
52 | 2.491091242405715223e-01
53 | 2.169824104534491815e-01
54 | 2.155811340335561932e-01
55 | 2.085054832752380183e-01
56 | 2.113378590873308815e-01
57 | 2.076216839858422980e-01
58 | 2.010799182937766938e-01
59 | 2.048143183191810657e-01
60 | 2.105901715395231688e-01
61 | 2.326485771529155644e-01
62 | 2.885117510729954815e-01
63 | 3.174076319960685844e-01
64 | 3.397522932590896216e-01
65 | 3.643593450502757847e-01
66 | 3.173899447265593476e-01
67 | 2.940384755864648425e-01
68 | 2.625135789945178266e-01
69 | 2.144411411054815142e-01
70 | 2.033813802609683308e-01
71 | 2.046960815378473242e-01
72 | 2.051092296768448064e-01
73 | 2.033137189886222440e-01
74 | 2.063674688596487394e-01
75 | 2.070195617131112831e-01
76 | 2.102874637791997958e-01
77 | 2.692775542540281064e-01
78 | 2.787191818982264757e-01
79 | 3.008557105517165042e-01
80 | 3.299426694163756224e-01
81 | 3.605961523797213131e-01
82 | 2.929250466647685958e-01
83 | 2.741392548817914721e-01
84 | 2.376750999736015613e-01
85 | 2.138105169118934556e-01
86 | 2.176927511349579236e-01
87 | 2.110617479941754859e-01
88 | 2.092291102117699864e-01
89 | 2.058782255722918786e-01
90 | 2.078840577186449046e-01
91 | 2.151852668093116872e-01
92 | 2.225368410364444438e-01
93 | 2.483724986495796927e-01
94 | 2.658680334822326463e-01
95 | 2.807409584422889126e-01
96 | 2.566480086725378973e-01
97 | 3.274466919551753397e-01
98 | 3.112979340788482041e-01
99 | 2.877297021675653821e-01
100 | 2.666307554074640596e-01
101 | 2.267487773690609609e-01
102 | 2.481588649784126910e-01
103 | 2.397277178985047219e-01
104 | 2.619452209847765167e-01
105 | 2.360796759928283917e-01
106 | 2.798257179539649919e-01
107 | 2.727488258992284420e-01
108 | 2.877593945717253909e-01
109 | 2.581955322118097973e-01
110 | 2.502851714504498726e-01
111 | 2.486417044929377929e-01
112 | 3.570980211576778585e-01
113 | 3.459704345518261337e-01
114 | 2.929655082371031560e-01
115 | 2.906902486434906896e-01
116 | 3.171521480210193200e-01
117 | 2.638653933397412943e-01
118 | 2.806929518346314989e-01
119 | 2.750185298309748005e-01
120 | 3.481542456795477802e-01
121 | 3.027097542263644803e-01
122 | 3.455705159029984763e-01
123 | 2.969440668035095987e-01
124 | 3.142829523759128052e-01
125 | 2.613788591022606078e-01
126 | 3.714156187675077270e-01
127 | 3.700337030938246063e-01
128 | 4.314722523565973633e-01
129 |
--------------------------------------------------------------------------------
/tests/check/loc_kanemele_heterostructure.check:
--------------------------------------------------------------------------------
1 | 3.865529279754393310e-01
2 | 3.865529279754393310e-01
3 | 3.865529279754393310e-01
4 | 3.865529279754393310e-01
5 | 5.461680502270908066e-01
6 | 5.461680502270908066e-01
7 | 5.461680502270908066e-01
8 | 5.461680502270908066e-01
9 | 6.456170526369663376e-01
10 | 6.456170526369663376e-01
11 | 6.456170526369663376e-01
12 | 6.456170526369663376e-01
13 | 6.803428323021345481e-01
14 | 6.803428323021345481e-01
15 | 6.803428323021345481e-01
16 | 6.803428323021345481e-01
17 | 6.592987135898971118e-01
18 | 6.592987135898971118e-01
19 | 6.592987135898971118e-01
20 | 6.592987135898971118e-01
21 | 6.041625708532047945e-01
22 | 6.041625708532047945e-01
23 | 6.041625708532047945e-01
24 | 6.041625708532047945e-01
25 | 5.226902585418040648e-01
26 | 5.226902585418040648e-01
27 | 5.226902585418040648e-01
28 | 5.226902585418040648e-01
29 | 4.211234799213822710e-01
30 | 4.211234799213822710e-01
31 | 4.211234799213822710e-01
32 | 4.211234799213822710e-01
33 | 5.145136503624783142e-01
34 | 5.145136503624783142e-01
35 | 5.145136503624783142e-01
36 | 5.145136503624783142e-01
37 | 6.055469831844906281e-01
38 | 6.055469831844906281e-01
39 | 6.055469831844906281e-01
40 | 6.055469831844906281e-01
41 | 6.246988674171087830e-01
42 | 6.246988674171087830e-01
43 | 6.246988674171087830e-01
44 | 6.246988674171087830e-01
45 | 5.951218286427557569e-01
46 | 5.951218286427557569e-01
47 | 5.951218286427557569e-01
48 | 5.951218286427557569e-01
49 | 5.397042183199105558e-01
50 | 5.397042183199105558e-01
51 | 5.397042183199105558e-01
52 | 5.397042183199105558e-01
53 | 4.822225980321618310e-01
54 | 4.822225980321618310e-01
55 | 4.822225980321618310e-01
56 | 4.822225980321618310e-01
57 | 4.425970312013214891e-01
58 | 4.425970312013214891e-01
59 | 4.425970312013214891e-01
60 | 4.425970312013214891e-01
61 | 4.779035303932241407e-01
62 | 4.779035303932241407e-01
63 | 4.779035303932241407e-01
64 | 4.779035303932241407e-01
65 | 5.893995928644760740e-01
66 | 5.893995928644760740e-01
67 | 5.893995928644760740e-01
68 | 5.893995928644760740e-01
69 | 6.139794405091305585e-01
70 | 6.139794405091305585e-01
71 | 6.139794405091305585e-01
72 | 6.139794405091305585e-01
73 | 5.792230724063665015e-01
74 | 5.792230724063665015e-01
75 | 5.792230724063665015e-01
76 | 5.792230724063665015e-01
77 | 5.257190799701969564e-01
78 | 5.257190799701969564e-01
79 | 5.257190799701969564e-01
80 | 5.257190799701969564e-01
81 | 4.842742662061066961e-01
82 | 4.842742662061066961e-01
83 | 4.842742662061066961e-01
84 | 4.842742662061066961e-01
85 | 4.596751655490254884e-01
86 | 4.596751655490254884e-01
87 | 4.596751655490254884e-01
88 | 4.596751655490254884e-01
89 | 4.522291407337977187e-01
90 | 4.522291407337977187e-01
91 | 4.522291407337977187e-01
92 | 4.522291407337977187e-01
93 | 4.928079652818335710e-01
94 | 4.928079652818335710e-01
95 | 4.928079652818335710e-01
96 | 4.928079652818335710e-01
97 | 6.364280589043128655e-01
98 | 6.364280589043128655e-01
99 | 6.364280589043128655e-01
100 | 6.364280589043128655e-01
101 | 6.125749455561718682e-01
102 | 6.125749455561718682e-01
103 | 6.125749455561718682e-01
104 | 6.125749455561718682e-01
105 | 5.481242972649200684e-01
106 | 5.481242972649200684e-01
107 | 5.481242972649200684e-01
108 | 5.481242972649200684e-01
109 | 4.930026142909204045e-01
110 | 4.930026142909204045e-01
111 | 4.930026142909204045e-01
112 | 4.930026142909204045e-01
113 | 4.677793474092095671e-01
114 | 4.677793474092095671e-01
115 | 4.677793474092095671e-01
116 | 4.677793474092095671e-01
117 | 4.587254841868371180e-01
118 | 4.587254841868371180e-01
119 | 4.587254841868371180e-01
120 | 4.587254841868371180e-01
121 | 4.727120781481002898e-01
122 | 4.727120781481002898e-01
123 | 4.727120781481002898e-01
124 | 4.727120781481002898e-01
125 | 4.911517831683323010e-01
126 | 4.911517831683323010e-01
127 | 4.911517831683323010e-01
128 | 4.911517831683323010e-01
129 | 6.756260635814902438e-01
130 | 6.756260635814902438e-01
131 | 6.756260635814902438e-01
132 | 6.756260635814902438e-01
133 | 6.162356532342675441e-01
134 | 6.162356532342675441e-01
135 | 6.162356532342675441e-01
136 | 6.162356532342675441e-01
137 | 5.228586773573357105e-01
138 | 5.228586773573357105e-01
139 | 5.228586773573357105e-01
140 | 5.228586773573357105e-01
141 | 4.755536567487106403e-01
142 | 4.755536567487106403e-01
143 | 4.755536567487106403e-01
144 | 4.755536567487106403e-01
145 | 4.647331174593687386e-01
146 | 4.647331174593687386e-01
147 | 4.647331174593687386e-01
148 | 4.647331174593687386e-01
149 | 4.683842405229700079e-01
150 | 4.683842405229700079e-01
151 | 4.683842405229700079e-01
152 | 4.683842405229700079e-01
153 | 4.926221912392793056e-01
154 | 4.926221912392793056e-01
155 | 4.926221912392793056e-01
156 | 4.926221912392793056e-01
157 | 4.970446195753830398e-01
158 | 4.970446195753830398e-01
159 | 4.970446195753830398e-01
160 | 4.970446195753830398e-01
161 | 7.279336496736794615e-01
162 | 7.279336496736794615e-01
163 | 7.279336496736794615e-01
164 | 7.279336496736794615e-01
165 | 6.267204528238716765e-01
166 | 6.267204528238716765e-01
167 | 6.267204528238716765e-01
168 | 6.267204528238716765e-01
169 | 4.964838624136505008e-01
170 | 4.964838624136505008e-01
171 | 4.964838624136505008e-01
172 | 4.964838624136505008e-01
173 | 4.695561886674856078e-01
174 | 4.695561886674856078e-01
175 | 4.695561886674856078e-01
176 | 4.695561886674856078e-01
177 | 4.705968800112456663e-01
178 | 4.705968800112456663e-01
179 | 4.705968800112456663e-01
180 | 4.705968800112456663e-01
181 | 4.872432644698662108e-01
182 | 4.872432644698662108e-01
183 | 4.872432644698662108e-01
184 | 4.872432644698662108e-01
185 | 5.194655089198806364e-01
186 | 5.194655089198806364e-01
187 | 5.194655089198806364e-01
188 | 5.194655089198806364e-01
189 | 5.247854573771997266e-01
190 | 5.247854573771997266e-01
191 | 5.247854573771997266e-01
192 | 5.247854573771997266e-01
193 | 8.320463517501762718e-01
194 | 8.320463517501762718e-01
195 | 8.320463517501762718e-01
196 | 8.320463517501762718e-01
197 | 6.264556449859930432e-01
198 | 6.264556449859930432e-01
199 | 6.264556449859930432e-01
200 | 6.264556449859930432e-01
201 | 4.801885359125113162e-01
202 | 4.801885359125113162e-01
203 | 4.801885359125113162e-01
204 | 4.801885359125113162e-01
205 | 4.753583145346239047e-01
206 | 4.753583145346239047e-01
207 | 4.753583145346239047e-01
208 | 4.753583145346239047e-01
209 | 4.847828451346581358e-01
210 | 4.847828451346581358e-01
211 | 4.847828451346581358e-01
212 | 4.847828451346581358e-01
213 | 5.125477917089240609e-01
214 | 5.125477917089240609e-01
215 | 5.125477917089240609e-01
216 | 5.125477917089240609e-01
217 | 5.629882682192692833e-01
218 | 5.629882682192692833e-01
219 | 5.629882682192692833e-01
220 | 5.629882682192692833e-01
221 | 5.957318881846092040e-01
222 | 5.957318881846092040e-01
223 | 5.957318881846092040e-01
224 | 5.957318881846092040e-01
225 | 1.085094234530223023e+00
226 | 1.085094234530223023e+00
227 | 1.085094234530223023e+00
228 | 1.085094234530223023e+00
229 | 5.811388255973133354e-01
230 | 5.811388255973133354e-01
231 | 5.811388255973133354e-01
232 | 5.811388255973133354e-01
233 | 4.909767324906491037e-01
234 | 4.909767324906491037e-01
235 | 4.909767324906491037e-01
236 | 4.909767324906491037e-01
237 | 4.919318842063991060e-01
238 | 4.919318842063991060e-01
239 | 4.919318842063991060e-01
240 | 4.919318842063991060e-01
241 | 5.025844449503209521e-01
242 | 5.025844449503209521e-01
243 | 5.025844449503209521e-01
244 | 5.025844449503209521e-01
245 | 5.353921855159486931e-01
246 | 5.353921855159486931e-01
247 | 5.353921855159486931e-01
248 | 5.353921855159486931e-01
249 | 6.244201489120581039e-01
250 | 6.244201489120581039e-01
251 | 6.244201489120581039e-01
252 | 6.244201489120581039e-01
253 | 7.571138171512923343e-01
254 | 7.571138171512923343e-01
255 | 7.571138171512923343e-01
256 | 7.571138171512923343e-01
257 | 1.477467833197487534e+00
258 | 1.477467833197487534e+00
259 | 1.477467833197487534e+00
260 | 1.477467833197487534e+00
261 | 5.349983238039655031e-01
262 | 5.349983238039655031e-01
263 | 5.349983238039655031e-01
264 | 5.349983238039655031e-01
265 | 5.083661422372286465e-01
266 | 5.083661422372286465e-01
267 | 5.083661422372286465e-01
268 | 5.083661422372286465e-01
269 | 5.091617462007460571e-01
270 | 5.091617462007460571e-01
271 | 5.091617462007460571e-01
272 | 5.091617462007460571e-01
273 | 5.139564387653944300e-01
274 | 5.139564387653944300e-01
275 | 5.139564387653944300e-01
276 | 5.139564387653944300e-01
277 | 5.293023734976266548e-01
278 | 5.293023734976266548e-01
279 | 5.293023734976266548e-01
280 | 5.293023734976266548e-01
281 | 6.224996042798408569e-01
282 | 6.224996042798408569e-01
283 | 6.224996042798408569e-01
284 | 6.224996042798408569e-01
285 | 9.722432943850344289e-01
286 | 9.722432943850344289e-01
287 | 9.722432943850344289e-01
288 | 9.722432943850344289e-01
289 | 1.411007538038456577e+00
290 | 1.411007538038456577e+00
291 | 1.411007538038456577e+00
292 | 1.411007538038456577e+00
293 | 4.594659335127974642e-01
294 | 4.594659335127974642e-01
295 | 4.594659335127974642e-01
296 | 4.594659335127974642e-01
297 | 4.656311198874475421e-01
298 | 4.656311198874475421e-01
299 | 4.656311198874475421e-01
300 | 4.656311198874475421e-01
301 | 4.683549280313680785e-01
302 | 4.683549280313680785e-01
303 | 4.683549280313680785e-01
304 | 4.683549280313680785e-01
305 | 4.715516731935229799e-01
306 | 4.715516731935229799e-01
307 | 4.715516731935229799e-01
308 | 4.715516731935229799e-01
309 | 4.764755213712997817e-01
310 | 4.764755213712997817e-01
311 | 4.764755213712997817e-01
312 | 4.764755213712997817e-01
313 | 5.325909081367076192e-01
314 | 5.325909081367076192e-01
315 | 5.325909081367076192e-01
316 | 5.325909081367076192e-01
317 | 1.072238652304413398e+00
318 | 1.072238652304413398e+00
319 | 1.072238652304413398e+00
320 | 1.072238652304413398e+00
321 | 1.258522751365468428e+00
322 | 1.258522751365468428e+00
323 | 1.258522751365468428e+00
324 | 1.258522751365468428e+00
325 | 4.354463755154728277e-01
326 | 4.354463755154728277e-01
327 | 4.354463755154728277e-01
328 | 4.354463755154728277e-01
329 | 4.433663464520556929e-01
330 | 4.433663464520556929e-01
331 | 4.433663464520556929e-01
332 | 4.433663464520556929e-01
333 | 4.478507575935322116e-01
334 | 4.478507575935322116e-01
335 | 4.478507575935322116e-01
336 | 4.478507575935322116e-01
337 | 4.478114752271534771e-01
338 | 4.478114752271534771e-01
339 | 4.478114752271534771e-01
340 | 4.478114752271534771e-01
341 | 4.521604020564237714e-01
342 | 4.521604020564237714e-01
343 | 4.521604020564237714e-01
344 | 4.521604020564237714e-01
345 | 5.040937699485116275e-01
346 | 5.040937699485116275e-01
347 | 5.040937699485116275e-01
348 | 5.040937699485116275e-01
349 | 1.104705195027690268e+00
350 | 1.104705195027690268e+00
351 | 1.104705195027690268e+00
352 | 1.104705195027690268e+00
353 | 1.182908947095798524e+00
354 | 1.182908947095798524e+00
355 | 1.182908947095798524e+00
356 | 1.182908947095798524e+00
357 | 4.282926336386741473e-01
358 | 4.282926336386741473e-01
359 | 4.282926336386741473e-01
360 | 4.282926336386741473e-01
361 | 4.332924777815029271e-01
362 | 4.332924777815029271e-01
363 | 4.332924777815029271e-01
364 | 4.332924777815029271e-01
365 | 4.391361488628612308e-01
366 | 4.391361488628612308e-01
367 | 4.391361488628612308e-01
368 | 4.391361488628612308e-01
369 | 4.403377459434194563e-01
370 | 4.403377459434194563e-01
371 | 4.403377459434194563e-01
372 | 4.403377459434194563e-01
373 | 4.404992128255079686e-01
374 | 4.404992128255079686e-01
375 | 4.404992128255079686e-01
376 | 4.404992128255079686e-01
377 | 4.904592131852777426e-01
378 | 4.904592131852777426e-01
379 | 4.904592131852777426e-01
380 | 4.904592131852777426e-01
381 | 1.092417219135579654e+00
382 | 1.092417219135579654e+00
383 | 1.092417219135579654e+00
384 | 1.092417219135579654e+00
385 | 1.187037600879468302e+00
386 | 1.187037600879468302e+00
387 | 1.187037600879468302e+00
388 | 1.187037600879468302e+00
389 | 4.280640734538256886e-01
390 | 4.280640734538256886e-01
391 | 4.280640734538256886e-01
392 | 4.280640734538256886e-01
393 | 4.309451329165178146e-01
394 | 4.309451329165178146e-01
395 | 4.309451329165178146e-01
396 | 4.309451329165178146e-01
397 | 4.350802463926514707e-01
398 | 4.350802463926514707e-01
399 | 4.350802463926514707e-01
400 | 4.350802463926514707e-01
401 | 4.357657935998285881e-01
402 | 4.357657935998285881e-01
403 | 4.357657935998285881e-01
404 | 4.357657935998285881e-01
405 | 4.328632167992602087e-01
406 | 4.328632167992602087e-01
407 | 4.328632167992602087e-01
408 | 4.328632167992602087e-01
409 | 4.729167662160991270e-01
410 | 4.729167662160991270e-01
411 | 4.729167662160991270e-01
412 | 4.729167662160991270e-01
413 | 1.061095497617180250e+00
414 | 1.061095497617180250e+00
415 | 1.061095497617180250e+00
416 | 1.061095497617180250e+00
417 | 1.176668773920792832e+00
418 | 1.176668773920792832e+00
419 | 1.176668773920792832e+00
420 | 1.176668773920792832e+00
421 | 4.456238196052255685e-01
422 | 4.456238196052255685e-01
423 | 4.456238196052255685e-01
424 | 4.456238196052255685e-01
425 | 4.312282595379245964e-01
426 | 4.312282595379245964e-01
427 | 4.312282595379245964e-01
428 | 4.312282595379245964e-01
429 | 4.372366314337468585e-01
430 | 4.372366314337468585e-01
431 | 4.372366314337468585e-01
432 | 4.372366314337468585e-01
433 | 4.324630638024580254e-01
434 | 4.324630638024580254e-01
435 | 4.324630638024580254e-01
436 | 4.324630638024580254e-01
437 | 4.208787223251784226e-01
438 | 4.208787223251784226e-01
439 | 4.208787223251784226e-01
440 | 4.208787223251784226e-01
441 | 4.488063485218825033e-01
442 | 4.488063485218825033e-01
443 | 4.488063485218825033e-01
444 | 4.488063485218825033e-01
445 | 1.071147465949930266e+00
446 | 1.071147465949930266e+00
447 | 1.071147465949930266e+00
448 | 1.071147465949930266e+00
449 | 1.053968574040157646e+00
450 | 1.053968574040157646e+00
451 | 1.053968574040157646e+00
452 | 1.053968574040157646e+00
453 | 5.404783156402044320e-01
454 | 5.404783156402044320e-01
455 | 5.404783156402044320e-01
456 | 5.404783156402044320e-01
457 | 4.625055042863334132e-01
458 | 4.625055042863334132e-01
459 | 4.625055042863334132e-01
460 | 4.625055042863334132e-01
461 | 4.654812758243777049e-01
462 | 4.654812758243777049e-01
463 | 4.654812758243777049e-01
464 | 4.654812758243777049e-01
465 | 4.680014280553254080e-01
466 | 4.680014280553254080e-01
467 | 4.680014280553254080e-01
468 | 4.680014280553254080e-01
469 | 4.433927799828619176e-01
470 | 4.433927799828619176e-01
471 | 4.433927799828619176e-01
472 | 4.433927799828619176e-01
473 | 5.052805066833164771e-01
474 | 5.052805066833164771e-01
475 | 5.052805066833164771e-01
476 | 5.052805066833164771e-01
477 | 1.514374157236050955e+00
478 | 1.514374157236050955e+00
479 | 1.514374157236050955e+00
480 | 1.514374157236050955e+00
481 | 8.394175140301372018e-01
482 | 8.394175140301372018e-01
483 | 8.394175140301372018e-01
484 | 8.394175140301372018e-01
485 | 1.058087306122324600e+00
486 | 1.058087306122324600e+00
487 | 1.058087306122324600e+00
488 | 1.058087306122324600e+00
489 | 1.195961744140188632e+00
490 | 1.195961744140188632e+00
491 | 1.195961744140188632e+00
492 | 1.195961744140188632e+00
493 | 1.215348401579498194e+00
494 | 1.215348401579498194e+00
495 | 1.215348401579498194e+00
496 | 1.215348401579498194e+00
497 | 1.160023344949768331e+00
498 | 1.160023344949768331e+00
499 | 1.160023344949768331e+00
500 | 1.160023344949768331e+00
501 | 1.131214457828289444e+00
502 | 1.131214457828289444e+00
503 | 1.131214457828289444e+00
504 | 1.131214457828289444e+00
505 | 1.567504467415630653e+00
506 | 1.567504467415630653e+00
507 | 1.567504467415630653e+00
508 | 1.567504467415630653e+00
509 | 2.832586265936359204e+00
510 | 2.832586265936359204e+00
511 | 2.832586265936359204e+00
512 | 2.832586265936359204e+00
513 |
--------------------------------------------------------------------------------
/tests/check/loc_kanemele_uniform_disorder.check:
--------------------------------------------------------------------------------
1 | 1.372756546963548985e+00
2 | 1.372756546963548985e+00
3 | 1.082495095642185046e+00
4 | 1.082495095642185046e+00
5 | 1.084561270811849498e+00
6 | 1.084561270811849498e+00
7 | 9.451476749228424623e-01
8 | 9.451476749228424623e-01
9 | 8.863192088091230714e-01
10 | 8.863192088091230714e-01
11 | 5.887178779709800747e-01
12 | 5.887178779709800747e-01
13 | 6.324478419111583261e-01
14 | 6.324478419111583261e-01
15 | 5.474238240979646397e-01
16 | 5.474238240979646397e-01
17 | 6.272140643130124094e-01
18 | 6.272140643130124094e-01
19 | 5.818792757059749743e-01
20 | 5.818792757059749743e-01
21 | 6.328255347676373654e-01
22 | 6.328255347676373654e-01
23 | 6.323789710867483427e-01
24 | 6.323789710867483427e-01
25 | 7.110304544836157925e-01
26 | 7.110304544836157925e-01
27 | 6.263991227736745993e-01
28 | 6.263991227736745993e-01
29 | 6.912909547900676355e-01
30 | 6.912909547900676355e-01
31 | 6.309309661511123268e-01
32 | 6.309309661511123268e-01
33 | 1.057150441487712644e+00
34 | 1.057150441487712644e+00
35 | 9.000207830854950464e-01
36 | 9.000207830854950464e-01
37 | 8.615838321373446851e-01
38 | 8.615838321373446851e-01
39 | 6.131220241095871604e-01
40 | 6.131220241095871604e-01
41 | 5.648894959956193285e-01
42 | 5.648894959956193285e-01
43 | 4.956497838305767845e-01
44 | 4.956497838305767845e-01
45 | 5.047076211460429507e-01
46 | 5.047076211460429507e-01
47 | 4.894308799566565171e-01
48 | 4.894308799566565171e-01
49 | 5.521397852373989279e-01
50 | 5.521397852373989279e-01
51 | 5.255460676353961302e-01
52 | 5.255460676353961302e-01
53 | 5.814132302078465209e-01
54 | 5.814132302078465209e-01
55 | 5.154185738722709686e-01
56 | 5.154185738722709686e-01
57 | 5.691758304931242574e-01
58 | 5.691758304931242574e-01
59 | 5.358243883665676499e-01
60 | 5.358243883665676499e-01
61 | 5.715738895165317635e-01
62 | 5.715738895165317635e-01
63 | 5.579325764202655025e-01
64 | 5.579325764202655025e-01
65 | 5.787579512405726101e-01
66 | 5.787579512405726101e-01
67 | 5.697752835434040097e-01
68 | 5.697752835434040097e-01
69 | 5.477766461360041861e-01
70 | 5.477766461360041861e-01
71 | 4.466317813825074201e-01
72 | 4.466317813825074201e-01
73 | 4.418955006192054058e-01
74 | 4.418955006192054058e-01
75 | 4.555606218168865573e-01
76 | 4.555606218168865573e-01
77 | 4.796274414242445716e-01
78 | 4.796274414242445716e-01
79 | 4.577426712773727813e-01
80 | 4.577426712773727813e-01
81 | 4.514240392551763792e-01
82 | 4.514240392551763792e-01
83 | 4.373027136347434896e-01
84 | 4.373027136347434896e-01
85 | 4.286728518224577344e-01
86 | 4.286728518224577344e-01
87 | 4.353419902022596100e-01
88 | 4.353419902022596100e-01
89 | 4.421910961183310729e-01
90 | 4.421910961183310729e-01
91 | 4.897157040327201893e-01
92 | 4.897157040327201893e-01
93 | 5.119093274468731192e-01
94 | 5.119093274468731192e-01
95 | 5.855722908767780899e-01
96 | 5.855722908767780899e-01
97 | 6.261180711865037551e-01
98 | 6.261180711865037551e-01
99 | 5.652029227523968080e-01
100 | 5.652029227523968080e-01
101 | 5.256596664630434068e-01
102 | 5.256596664630434068e-01
103 | 5.328233062274919662e-01
104 | 5.328233062274919662e-01
105 | 4.466419192274729832e-01
106 | 4.466419192274729832e-01
107 | 4.486739693000737494e-01
108 | 4.486739693000737494e-01
109 | 4.410117529468781661e-01
110 | 4.410117529468781661e-01
111 | 4.658186322951004543e-01
112 | 4.658186322951004543e-01
113 | 4.283056877073177504e-01
114 | 4.283056877073177504e-01
115 | 4.315454727259309120e-01
116 | 4.315454727259309120e-01
117 | 4.401334668435230024e-01
118 | 4.401334668435230024e-01
119 | 4.628140017287237229e-01
120 | 4.628140017287237229e-01
121 | 4.814906770032623129e-01
122 | 4.814906770032623129e-01
123 | 5.993394800518019316e-01
124 | 5.993394800518019316e-01
125 | 6.401228190612602287e-01
126 | 6.401228190612602287e-01
127 | 7.660032911740941586e-01
128 | 7.660032911740941586e-01
129 | 6.369395158306975224e-01
130 | 6.369395158306975224e-01
131 | 6.091520653113404737e-01
132 | 6.091520653113404737e-01
133 | 5.810635655875607819e-01
134 | 5.810635655875607819e-01
135 | 5.226724626831479315e-01
136 | 5.226724626831479315e-01
137 | 4.505429090548824789e-01
138 | 4.505429090548824789e-01
139 | 4.586682749368906631e-01
140 | 4.586682749368906631e-01
141 | 4.549508246702291259e-01
142 | 4.549508246702291259e-01
143 | 4.509611816544125129e-01
144 | 4.509611816544125129e-01
145 | 4.415135118752128163e-01
146 | 4.415135118752128163e-01
147 | 4.523551918505875902e-01
148 | 4.523551918505875902e-01
149 | 4.601843583844882346e-01
150 | 4.601843583844882346e-01
151 | 4.774457497003029571e-01
152 | 4.774457497003029571e-01
153 | 5.836521138223262906e-01
154 | 5.836521138223262906e-01
155 | 6.243926114951089401e-01
156 | 6.243926114951089401e-01
157 | 6.837805377548351604e-01
158 | 6.837805377548351604e-01
159 | 7.622637536073602060e-01
160 | 7.622637536073602060e-01
161 | 7.130371127586757618e-01
162 | 7.130371127586757618e-01
163 | 5.569945471054010833e-01
164 | 5.569945471054010833e-01
165 | 5.338904021486395868e-01
166 | 5.338904021486395868e-01
167 | 4.857897412716589702e-01
168 | 4.857897412716589702e-01
169 | 4.419182159651002251e-01
170 | 4.419182159651002251e-01
171 | 4.551150170108697046e-01
172 | 4.551150170108697046e-01
173 | 4.644585675310643480e-01
174 | 4.644585675310643480e-01
175 | 4.931543621996200555e-01
176 | 4.931543621996200555e-01
177 | 4.739524273572659485e-01
178 | 4.739524273572659485e-01
179 | 4.705566601831752127e-01
180 | 4.705566601831752127e-01
181 | 4.930267121391695984e-01
182 | 4.930267121391695984e-01
183 | 5.061071770425500382e-01
184 | 5.061071770425500382e-01
185 | 5.913423457443108822e-01
186 | 5.913423457443108822e-01
187 | 6.128597003839051371e-01
188 | 6.128597003839051371e-01
189 | 6.495845456546882613e-01
190 | 6.495845456546882613e-01
191 | 5.780619610359104543e-01
192 | 5.780619610359104543e-01
193 | 5.353851889739631442e-01
194 | 5.353851889739631442e-01
195 | 5.889407882008443895e-01
196 | 5.889407882008443895e-01
197 | 5.559001795990597961e-01
198 | 5.559001795990597961e-01
199 | 5.109302328130289617e-01
200 | 5.109302328130289617e-01
201 | 4.477881300153571109e-01
202 | 4.477881300153571109e-01
203 | 5.038520889470424757e-01
204 | 5.038520889470424757e-01
205 | 5.056859038495746805e-01
206 | 5.056859038495746805e-01
207 | 5.672215697002016555e-01
208 | 5.672215697002016555e-01
209 | 5.161639742519208429e-01
210 | 5.161639742519208429e-01
211 | 6.174042182646698462e-01
212 | 6.174042182646698462e-01
213 | 5.755872252008702450e-01
214 | 5.755872252008702450e-01
215 | 6.131076373777420985e-01
216 | 6.131076373777420985e-01
217 | 5.577306419102476820e-01
218 | 5.577306419102476820e-01
219 | 5.961246509932871529e-01
220 | 5.961246509932871529e-01
221 | 5.814369179290589384e-01
222 | 5.814369179290589384e-01
223 | 7.050958463824501532e-01
224 | 7.050958463824501532e-01
225 | 6.308188755322452490e-01
226 | 6.308188755322452490e-01
227 | 5.548631624750879343e-01
228 | 5.548631624750879343e-01
229 | 5.289213112804234118e-01
230 | 5.289213112804234118e-01
231 | 6.589639064190282447e-01
232 | 6.589639064190282447e-01
233 | 5.112899212474550925e-01
234 | 5.112899212474550925e-01
235 | 6.326644803896170899e-01
236 | 6.326644803896170899e-01
237 | 6.048337591046792916e-01
238 | 6.048337591046792916e-01
239 | 8.142797383731406047e-01
240 | 8.142797383731406047e-01
241 | 6.726311582031819780e-01
242 | 6.726311582031819780e-01
243 | 7.961990757429742160e-01
244 | 7.961990757429742160e-01
245 | 6.169265742814569187e-01
246 | 6.169265742814569187e-01
247 | 7.592604058246537058e-01
248 | 7.592604058246537058e-01
249 | 6.207876518628097084e-01
250 | 6.207876518628097084e-01
251 | 7.717716594037820066e-01
252 | 7.717716594037820066e-01
253 | 7.164969043829519935e-01
254 | 7.164969043829519935e-01
255 | 8.716999612938227671e-01
256 | 8.716999612938227671e-01
257 |
--------------------------------------------------------------------------------
/tests/check/lscm_uniform_disorder.check:
--------------------------------------------------------------------------------
1 | 3.037639860856792273e-01
2 | 3.037639860856792273e-01
3 | 3.554380294979671007e-01
4 | 3.554380294979671007e-01
5 | 4.122227224349384045e-01
6 | 4.122227224349384045e-01
7 | 4.842551485290347291e-01
8 | 4.842551485290347291e-01
9 | 7.766579356147303992e-01
10 | 7.766579356147303992e-01
11 | 4.406735988095638046e-01
12 | 4.406735988095638046e-01
13 | 5.121267178876531823e-01
14 | 5.121267178876531823e-01
15 | 2.217685679081701777e-01
16 | 2.217685679081701777e-01
17 | 4.071480413864440040e-01
18 | 4.071480413864440040e-01
19 | 5.976164663711685393e-02
20 | 5.976164663711685393e-02
21 | 5.370801231713926427e-01
22 | 5.370801231713926427e-01
23 | 1.868099589551479034e-01
24 | 1.868099589551479034e-01
25 | 4.003905399944890364e-01
26 | 4.003905399944890364e-01
27 | 3.628104905890044973e-01
28 | 3.628104905890044973e-01
29 | 6.478943021737595398e-01
30 | 6.478943021737595398e-01
31 | 5.443166970198300980e-01
32 | 5.443166970198300980e-01
33 | 3.588098702415009611e-01
34 | 3.588098702415009611e-01
35 | 5.196292664858827015e-01
36 | 5.196292664858827015e-01
37 | 4.923964613503856169e-01
38 | 4.923964613503856169e-01
39 | 2.850664307428473210e-01
40 | 2.850664307428473210e-01
41 | 2.896908386528905255e-01
42 | 2.896908386528905255e-01
43 | 1.048768336132265000e-01
44 | 1.048768336132265000e-01
45 | 6.963166142892911192e-02
46 | 6.963166142892911192e-02
47 | 4.232705413212769496e-01
48 | 4.232705413212769496e-01
49 | 1.770132972923905146e-01
50 | 1.770132972923905146e-01
51 | 4.983303146237453296e-01
52 | 4.983303146237453296e-01
53 | 8.968566457873021480e-02
54 | 8.968566457873021480e-02
55 | 2.870027730874018523e-01
56 | 2.870027730874018523e-01
57 | 4.421303355843690663e-02
58 | 4.421303355843690663e-02
59 | 2.588282047354904455e-02
60 | 2.588282047354904455e-02
61 | 2.626373394282094376e-01
62 | 2.626373394282094376e-01
63 | 4.409118597755991020e-01
64 | 4.409118597755991020e-01
65 | 6.001581039466477030e-01
66 | 6.001581039466477030e-01
67 | 3.926781968356047869e-01
68 | 3.926781968356047869e-01
69 | 2.252569498119445512e-01
70 | 2.252569498119445512e-01
71 | 3.581984278387403964e-02
72 | 3.581984278387403964e-02
73 | 3.361265598257924814e-01
74 | 3.361265598257924814e-01
75 | 6.840124026073046704e-01
76 | 6.840124026073046704e-01
77 | 7.033717212366503713e-01
78 | 7.033717212366503713e-01
79 | 8.259084720983063121e-01
80 | 8.259084720983063121e-01
81 | 8.064293490216207783e-01
82 | 8.064293490216207783e-01
83 | 8.454617556560244385e-01
84 | 8.454617556560244385e-01
85 | 6.445125362179311423e-01
86 | 6.445125362179311423e-01
87 | 6.757202595516147436e-01
88 | 6.757202595516147436e-01
89 | 3.622046283861043992e-01
90 | 3.622046283861043992e-01
91 | 9.195460001692920549e-02
92 | 9.195460001692920549e-02
93 | 1.300276671060281442e-01
94 | 1.300276671060281442e-01
95 | 2.918008984990398957e-01
96 | 2.918008984990398957e-01
97 | 4.670511499879869133e-01
98 | 4.670511499879869133e-01
99 | 2.987978248521481195e-01
100 | 2.987978248521481195e-01
101 | 3.652626983539558614e-02
102 | 3.652626983539558614e-02
103 | 2.458352901397549972e-01
104 | 2.458352901397549972e-01
105 | 6.389553935739673562e-01
106 | 6.389553935739673562e-01
107 | 7.964338301347652083e-01
108 | 7.964338301347652083e-01
109 | 9.406344131639758910e-01
110 | 9.406344131639758910e-01
111 | 9.252512494553476463e-01
112 | 9.252512494553476463e-01
113 | 9.831897091216152962e-01
114 | 9.831897091216152962e-01
115 | 9.804976936756134576e-01
116 | 9.804976936756134576e-01
117 | 8.881259792751873272e-01
118 | 8.881259792751873272e-01
119 | 7.837716129184213454e-01
120 | 7.837716129184213454e-01
121 | 4.003354635013527951e-01
122 | 4.003354635013527951e-01
123 | 1.175805197012778081e-01
124 | 1.175805197012778081e-01
125 | 7.091192000063049894e-02
126 | 7.091192000063049894e-02
127 | 3.404992622421462167e-01
128 | 3.404992622421462167e-01
129 | 3.577521927454317963e-01
130 | 3.577521927454317963e-01
131 | 2.086155959851651032e-01
132 | 2.086155959851651032e-01
133 | 1.691909131923932663e-02
134 | 1.691909131923932663e-02
135 | 2.330103088848682336e-01
136 | 2.330103088848682336e-01
137 | 5.891041452263360290e-01
138 | 5.891041452263360290e-01
139 | 6.720087383962576322e-01
140 | 6.720087383962576322e-01
141 | 8.329047636357803652e-01
142 | 8.329047636357803652e-01
143 | 8.447047299327321568e-01
144 | 8.447047299327321568e-01
145 | 8.996960995852315568e-01
146 | 8.996960995852315568e-01
147 | 8.263061073500762577e-01
148 | 8.263061073500762577e-01
149 | 7.900113129452525085e-01
150 | 7.900113129452525085e-01
151 | 7.329040569315762310e-01
152 | 7.329040569315762310e-01
153 | 4.298013718393348670e-01
154 | 4.298013718393348670e-01
155 | 1.442187361853004002e-01
156 | 1.442187361853004002e-01
157 | 1.704404445463801598e-02
158 | 1.704404445463801598e-02
159 | 2.604902788923317836e-01
160 | 2.604902788923317836e-01
161 | 3.726579235186394112e-01
162 | 3.726579235186394112e-01
163 | 1.664013298806737984e-01
164 | 1.664013298806737984e-01
165 | 4.067676086642472294e-02
166 | 4.067676086642472294e-02
167 | 1.849742425261210743e-01
168 | 1.849742425261210743e-01
169 | 5.034230912327406493e-01
170 | 5.034230912327406493e-01
171 | 5.789620627181667478e-01
172 | 5.789620627181667478e-01
173 | 7.842229517095253843e-01
174 | 7.842229517095253843e-01
175 | 6.986502720895647611e-01
176 | 6.986502720895647611e-01
177 | 7.837635875777585470e-01
178 | 7.837635875777585470e-01
179 | 7.297804208890843469e-01
180 | 7.297804208890843469e-01
181 | 7.248646094435237108e-01
182 | 7.248646094435237108e-01
183 | 5.732920450046696814e-01
184 | 5.732920450046696814e-01
185 | 3.096748989394080831e-01
186 | 3.096748989394080831e-01
187 | 5.898948543385331561e-02
188 | 5.898948543385331561e-02
189 | 1.012759440693619395e-01
190 | 1.012759440693619395e-01
191 | 3.806186302253231624e-01
192 | 3.806186302253231624e-01
193 | 2.712409987005927059e-01
194 | 2.712409987005927059e-01
195 | 3.378285048238209853e-01
196 | 3.378285048238209853e-01
197 | 1.549420558940094450e-01
198 | 1.549420558940094450e-01
199 | 2.302455626657586019e-01
200 | 2.302455626657586019e-01
201 | 6.808931635371891222e-02
202 | 6.808931635371891222e-02
203 | 2.661120934605441107e-02
204 | 2.661120934605441107e-02
205 | 3.065396994770959171e-01
206 | 3.065396994770959171e-01
207 | 1.547537400559886311e-01
208 | 1.547537400559886311e-01
209 | 4.414766125589564272e-01
210 | 4.414766125589564272e-01
211 | 1.956358336986376845e-01
212 | 1.956358336986376845e-01
213 | 3.880373771266568683e-01
214 | 3.880373771266568683e-01
215 | 6.637947795774287729e-02
216 | 6.637947795774287729e-02
217 | 1.392609924194543845e-02
218 | 1.392609924194543845e-02
219 | 4.554363768689295711e-01
220 | 4.554363768689295711e-01
221 | 4.854337820679033300e-01
222 | 4.854337820679033300e-01
223 | 7.253121931941143297e-01
224 | 7.253121931941143297e-01
225 | 4.423531245832372227e-01
226 | 4.423531245832372227e-01
227 | 5.513135485548182890e-01
228 | 5.513135485548182890e-01
229 | 3.951658305777243640e-01
230 | 3.951658305777243640e-01
231 | 4.809521407962677464e-01
232 | 4.809521407962677464e-01
233 | 2.261247159540946683e-01
234 | 2.261247159540946683e-01
235 | 3.228312209471380090e-01
236 | 3.228312209471380090e-01
237 | 3.806477160475489618e-02
238 | 3.806477160475489618e-02
239 | 2.804081442820545167e-01
240 | 2.804081442820545167e-01
241 | 1.087761836586539563e-02
242 | 1.087761836586539563e-02
243 | 2.928253582038276570e-01
244 | 2.928253582038276570e-01
245 | 9.099218000154660202e-02
246 | 9.099218000154660202e-02
247 | 4.422626357852965651e-01
248 | 4.422626357852965651e-01
249 | 4.478954027302203267e-01
250 | 4.478954027302203267e-01
251 | 8.197973508212286209e-01
252 | 8.197973508212286209e-01
253 | 6.722382854292505705e-01
254 | 6.722382854292505705e-01
255 | 1.076979329541277952e+00
256 | 1.076979329541277952e+00
257 |
--------------------------------------------------------------------------------
/tests/check/lz2m_uniform_disorder.check:
--------------------------------------------------------------------------------
1 | 2.983786510917689760e-01
2 | 2.983786510917689760e-01
3 | 3.489218275400843283e-01
4 | 3.489218275400843283e-01
5 | 4.046943972521447885e-01
6 | 4.046943972521447885e-01
7 | 4.720640080842642416e-01
8 | 4.720640080842642416e-01
9 | 7.540431668014832001e-01
10 | 7.540431668014832001e-01
11 | 4.372313619324146861e-01
12 | 4.372313619324146861e-01
13 | 5.066401139594871594e-01
14 | 5.066401139594871594e-01
15 | 2.259170746077079628e-01
16 | 2.259170746077079628e-01
17 | 4.032777561403982913e-01
18 | 4.032777561403982913e-01
19 | 6.613962269001558147e-02
20 | 6.613962269001558147e-02
21 | 5.244172341109037960e-01
22 | 5.244172341109037960e-01
23 | 1.860768488031349643e-01
24 | 1.860768488031349643e-01
25 | 3.936701324502650534e-01
26 | 3.936701324502650534e-01
27 | 3.584884718301929452e-01
28 | 3.584884718301929452e-01
29 | 6.293386795648551191e-01
30 | 6.293386795648551191e-01
31 | 5.249599607310706517e-01
32 | 5.249599607310706517e-01
33 | 3.502904834969958192e-01
34 | 3.502904834969958192e-01
35 | 4.945255778560092019e-01
36 | 4.945255778560092019e-01
37 | 4.708004967269846519e-01
38 | 4.708004967269846519e-01
39 | 2.810123620089302054e-01
40 | 2.810123620089302054e-01
41 | 2.917042290281273154e-01
42 | 2.917042290281273154e-01
43 | 9.185433460977868170e-02
44 | 9.185433460977868170e-02
45 | 6.363787593198019787e-02
46 | 6.363787593198019787e-02
47 | 4.125517695256078476e-01
48 | 4.125517695256078476e-01
49 | 1.739569605258564633e-01
50 | 1.739569605258564633e-01
51 | 4.887579515376767603e-01
52 | 4.887579515376767603e-01
53 | 8.862880926395798331e-02
54 | 8.862880926395798331e-02
55 | 2.802257704398933291e-01
56 | 2.802257704398933291e-01
57 | 4.832579572135170531e-02
58 | 4.832579572135170531e-02
59 | 2.741224972944796695e-02
60 | 2.741224972944796695e-02
61 | 2.482402848745960677e-01
62 | 2.482402848745960677e-01
63 | 4.320036945560509767e-01
64 | 4.320036945560509767e-01
65 | 5.600410528142885092e-01
66 | 5.600410528142885092e-01
67 | 3.874467134006061575e-01
68 | 3.874467134006061575e-01
69 | 2.210301064831218798e-01
70 | 2.210301064831218798e-01
71 | 2.532252802585806262e-02
72 | 2.532252802585806262e-02
73 | 3.111757936734902419e-01
74 | 3.111757936734902419e-01
75 | 6.445162283648563362e-01
76 | 6.445162283648563362e-01
77 | 6.836431297908194260e-01
78 | 6.836431297908194260e-01
79 | 8.087615602248181546e-01
80 | 8.087615602248181546e-01
81 | 7.892113224198482602e-01
82 | 7.892113224198482602e-01
83 | 8.292630321796241599e-01
84 | 8.292630321796241599e-01
85 | 6.260903972428315534e-01
86 | 6.260903972428315534e-01
87 | 6.603636187980159722e-01
88 | 6.603636187980159722e-01
89 | 3.513429977998674403e-01
90 | 3.513429977998674403e-01
91 | 9.376935322142480878e-02
92 | 9.376935322142480878e-02
93 | 1.202214309818473159e-01
94 | 1.202214309818473159e-01
95 | 2.677322748866726165e-01
96 | 2.677322748866726165e-01
97 | 4.583342840491367864e-01
98 | 4.583342840491367864e-01
99 | 3.017686892768661755e-01
100 | 3.017686892768661755e-01
101 | 4.355697366705855306e-02
102 | 4.355697366705855306e-02
103 | 2.144797366920642712e-01
104 | 2.144797366920642712e-01
105 | 6.016450458833020321e-01
106 | 6.016450458833020321e-01
107 | 7.727168807192288380e-01
108 | 7.727168807192288380e-01
109 | 9.261842611433148686e-01
110 | 9.261842611433148686e-01
111 | 9.140737194021308909e-01
112 | 9.140737194021308909e-01
113 | 9.713594971751038365e-01
114 | 9.713594971751038365e-01
115 | 9.628838247937239192e-01
116 | 9.628838247937239192e-01
117 | 8.729314298684853757e-01
118 | 8.729314298684853757e-01
119 | 7.708506180856707912e-01
120 | 7.708506180856707912e-01
121 | 3.924888227306285726e-01
122 | 3.924888227306285726e-01
123 | 1.220568921001098650e-01
124 | 1.220568921001098650e-01
125 | 5.935237628015364170e-02
126 | 5.935237628015364170e-02
127 | 3.211491959962968767e-01
128 | 3.211491959962968767e-01
129 | 3.513087082132672068e-01
130 | 3.513087082132672068e-01
131 | 2.119962940249594252e-01
132 | 2.119962940249594252e-01
133 | 2.617271692984038389e-02
134 | 2.617271692984038389e-02
135 | 2.147453772274493522e-01
136 | 2.147453772274493522e-01
137 | 5.617450296817572131e-01
138 | 5.617450296817572131e-01
139 | 6.450126688388502227e-01
140 | 6.450126688388502227e-01
141 | 8.065398565046899559e-01
142 | 8.065398565046899559e-01
143 | 8.260816155609902456e-01
144 | 8.260816155609902456e-01
145 | 8.907468343856712600e-01
146 | 8.907468343856712600e-01
147 | 8.174934188963914883e-01
148 | 8.174934188963914883e-01
149 | 7.770289593477222034e-01
150 | 7.770289593477222034e-01
151 | 7.202262169064562736e-01
152 | 7.202262169064562736e-01
153 | 4.277194356756456317e-01
154 | 4.277194356756456317e-01
155 | 1.503516970163711886e-01
156 | 1.503516970163711886e-01
157 | 6.843606882629228727e-03
158 | 6.843606882629228727e-03
159 | 2.583911593796910378e-01
160 | 2.583911593796910378e-01
161 | 3.584591643411983442e-01
162 | 3.584591643411983442e-01
163 | 1.619710129843761615e-01
164 | 1.619710129843761615e-01
165 | 3.496458143270726043e-02
166 | 3.496458143270726043e-02
167 | 1.695420131777772843e-01
168 | 1.695420131777772843e-01
169 | 4.818914831390977982e-01
170 | 4.818914831390977982e-01
171 | 5.649874710354066965e-01
172 | 5.649874710354066965e-01
173 | 7.648236516165051180e-01
174 | 7.648236516165051180e-01
175 | 6.853325369613210150e-01
176 | 6.853325369613210150e-01
177 | 7.764787653300179171e-01
178 | 7.764787653300179171e-01
179 | 7.247289314232596702e-01
180 | 7.247289314232596702e-01
181 | 7.121809025625237544e-01
182 | 7.121809025625237544e-01
183 | 5.690382494688233095e-01
184 | 5.690382494688233095e-01
185 | 3.106252593303849840e-01
186 | 3.106252593303849840e-01
187 | 5.709322059025993823e-02
188 | 5.709322059025993823e-02
189 | 1.078178067321716449e-01
190 | 1.078178067321716449e-01
191 | 3.833906917558415062e-01
192 | 3.833906917558415062e-01
193 | 2.553354675686763664e-01
194 | 2.553354675686763664e-01
195 | 3.213121239134887341e-01
196 | 3.213121239134887341e-01
197 | 1.592270727365957261e-01
198 | 1.592270727365957261e-01
199 | 2.369742512843191484e-01
200 | 2.369742512843191484e-01
201 | 5.648988552003181979e-02
202 | 5.648988552003181979e-02
203 | 2.709984122085798419e-02
204 | 2.709984122085798419e-02
205 | 3.068685646000125500e-01
206 | 3.068685646000125500e-01
207 | 1.633439284935591651e-01
208 | 1.633439284935591651e-01
209 | 4.387618477096487113e-01
210 | 4.387618477096487113e-01
211 | 1.932194231200036194e-01
212 | 1.932194231200036194e-01
213 | 3.815394665264538188e-01
214 | 3.815394665264538188e-01
215 | 6.870096534335770611e-02
216 | 6.870096534335770611e-02
217 | 1.077689876602172872e-02
218 | 1.077689876602172872e-02
219 | 4.442078537105755842e-01
220 | 4.442078537105755842e-01
221 | 4.798746724289694177e-01
222 | 4.798746724289694177e-01
223 | 7.253981339258528394e-01
224 | 7.253981339258528394e-01
225 | 4.210721771656497081e-01
226 | 4.210721771656497081e-01
227 | 5.381010227176049598e-01
228 | 5.381010227176049598e-01
229 | 3.837507617616944255e-01
230 | 3.837507617616944255e-01
231 | 4.670885893621830043e-01
232 | 4.670885893621830043e-01
233 | 2.217324778157157283e-01
234 | 2.217324778157157283e-01
235 | 3.127658220672070444e-01
236 | 3.127658220672070444e-01
237 | 3.120194796024659822e-02
238 | 3.120194796024659822e-02
239 | 2.762458836416943897e-01
240 | 2.762458836416943897e-01
241 | 8.974159381629865512e-03
242 | 8.974159381629865512e-03
243 | 2.867318513760821475e-01
244 | 2.867318513760821475e-01
245 | 8.244968603386473860e-02
246 | 8.244968603386473860e-02
247 | 4.058713243514253111e-01
248 | 4.058713243514253111e-01
249 | 4.258908066470770137e-01
250 | 4.258908066470770137e-01
251 | 8.052629447231341997e-01
252 | 8.052629447231341997e-01
253 | 6.655504948171351298e-01
254 | 6.655504948171351298e-01
255 | 1.055328224394657788e+00
256 | 1.055328224394657788e+00
257 |
--------------------------------------------------------------------------------
/tests/check/pbclscm_uniform_disorder.check:
--------------------------------------------------------------------------------
1 | 8.610033220123487485e-01
2 | 8.610033220123487485e-01
3 | 8.861269676291679831e-01
4 | 8.861269676291679831e-01
5 | 9.198529103076780178e-01
6 | 9.198529103076780178e-01
7 | 9.010373756425769098e-01
8 | 9.010373756425769098e-01
9 | 9.909572366086351058e-01
10 | 9.909572366086351058e-01
11 | 9.493393746200031735e-01
12 | 9.493393746200031735e-01
13 | 9.734548956994890645e-01
14 | 9.734548956994890645e-01
15 | 9.988395105900709225e-01
16 | 9.988395105900709225e-01
17 | 1.068765196473109080e+00
18 | 1.068765196473109080e+00
19 | 1.034388678351073398e+00
20 | 1.034388678351073398e+00
21 | 1.049669256744072854e+00
22 | 1.049669256744072854e+00
23 | 9.790917986655751637e-01
24 | 9.790917986655751637e-01
25 | 1.034994397972515134e+00
26 | 1.034994397972515134e+00
27 | 1.034532811434047961e+00
28 | 1.034532811434047961e+00
29 | 9.557119642159976891e-01
30 | 9.557119642159976891e-01
31 | 8.109620624444227044e-01
32 | 8.109620624444227044e-01
33 | 9.140284382876473490e-01
34 | 9.140284382876473490e-01
35 | 9.906063663609807612e-01
36 | 9.906063663609807612e-01
37 | 8.968914338878029024e-01
38 | 8.968914338878029024e-01
39 | 9.505606896780001147e-01
40 | 9.505606896780001147e-01
41 | 1.074248742236833420e+00
42 | 1.074248742236833420e+00
43 | 1.124006203777221380e+00
44 | 1.124006203777221380e+00
45 | 1.060344560572505923e+00
46 | 1.060344560572505923e+00
47 | 1.034434407723218596e+00
48 | 1.034434407723218596e+00
49 | 1.024990138753628210e+00
50 | 1.024990138753628210e+00
51 | 1.013909597952731279e+00
52 | 1.013909597952731279e+00
53 | 1.013228792914324217e+00
54 | 1.013228792914324217e+00
55 | 1.104751440169029930e+00
56 | 1.104751440169029930e+00
57 | 1.078864915512623535e+00
58 | 1.078864915512623535e+00
59 | 1.062296992123117123e+00
60 | 1.062296992123117123e+00
61 | 9.451878639077149202e-01
62 | 9.451878639077149202e-01
63 | 9.527748111484568572e-01
64 | 9.527748111484568572e-01
65 | 1.033145583785911592e+00
66 | 1.033145583785911592e+00
67 | 9.796395284598988784e-01
68 | 9.796395284598988784e-01
69 | 9.449194175305113408e-01
70 | 9.449194175305113408e-01
71 | 9.790201195254542021e-01
72 | 9.790201195254542021e-01
73 | 1.049997384848823323e+00
74 | 1.049997384848823323e+00
75 | 9.689810044882617435e-01
76 | 9.689810044882617435e-01
77 | 9.898727737773640456e-01
78 | 9.898727737773640456e-01
79 | 9.929285745234045502e-01
80 | 9.929285745234045502e-01
81 | 1.042759435216406017e+00
82 | 1.042759435216406017e+00
83 | 9.946646694893999108e-01
84 | 9.946646694893999108e-01
85 | 9.780280067471056604e-01
86 | 9.780280067471056604e-01
87 | 9.832335999975325702e-01
88 | 9.832335999975325702e-01
89 | 1.032277993280197759e+00
90 | 1.032277993280197759e+00
91 | 1.094141327984907486e+00
92 | 1.094141327984907486e+00
93 | 1.056936508199812330e+00
94 | 1.056936508199812330e+00
95 | 1.023353254191954331e+00
96 | 1.023353254191954331e+00
97 | 1.017977765146015123e+00
98 | 1.017977765146015123e+00
99 | 9.930813227199658533e-01
100 | 9.930813227199658533e-01
101 | 1.075455153695675126e+00
102 | 1.075455153695675126e+00
103 | 1.011623838860757019e+00
104 | 1.011623838860757019e+00
105 | 1.040605128692200010e+00
106 | 1.040605128692200010e+00
107 | 1.087045755986743245e+00
108 | 1.087045755986743245e+00
109 | 1.079353327725307565e+00
110 | 1.079353327725307565e+00
111 | 1.038121405036235956e+00
112 | 1.038121405036235956e+00
113 | 1.066397157714034982e+00
114 | 1.066397157714034982e+00
115 | 1.045087611704363262e+00
116 | 1.045087611704363262e+00
117 | 1.043758537400107489e+00
118 | 1.043758537400107489e+00
119 | 9.921573000667021081e-01
120 | 9.921573000667021081e-01
121 | 1.080322375645737409e+00
122 | 1.080322375645737409e+00
123 | 1.041330256203571114e+00
124 | 1.041330256203571114e+00
125 | 1.064917459565744240e+00
126 | 1.064917459565744240e+00
127 | 1.019887249098594628e+00
128 | 1.019887249098594628e+00
129 | 9.909270995290337947e-01
130 | 9.909270995290337947e-01
131 | 9.791497994918041403e-01
132 | 9.791497994918041403e-01
133 | 9.485143829672912918e-01
134 | 9.485143829672912918e-01
135 | 9.458715547668778978e-01
136 | 9.458715547668778978e-01
137 | 1.036098471536454291e+00
138 | 1.036098471536454291e+00
139 | 1.003831638976502516e+00
140 | 1.003831638976502516e+00
141 | 1.021349511890359496e+00
142 | 1.021349511890359496e+00
143 | 9.990143739092964825e-01
144 | 9.990143739092964825e-01
145 | 9.729710863191605164e-01
146 | 9.729710863191605164e-01
147 | 8.962799630313531551e-01
148 | 8.962799630313531551e-01
149 | 9.338468729581537175e-01
150 | 9.338468729581537175e-01
151 | 9.962006119924775582e-01
152 | 9.962006119924775582e-01
153 | 9.830928231585491783e-01
154 | 9.830928231585491783e-01
155 | 1.005772785936029701e+00
156 | 1.005772785936029701e+00
157 | 1.098352815877196687e+00
158 | 1.098352815877196687e+00
159 | 1.052633711637237734e+00
160 | 1.052633711637237734e+00
161 | 1.035747269297054185e+00
162 | 1.035747269297054185e+00
163 | 9.720863823617231780e-01
164 | 9.720863823617231780e-01
165 | 1.020186987679525981e+00
166 | 1.020186987679525981e+00
167 | 9.438381232804691212e-01
168 | 9.438381232804691212e-01
169 | 1.023163508673022193e+00
170 | 1.023163508673022193e+00
171 | 1.064096660438295316e+00
172 | 1.064096660438295316e+00
173 | 1.084077771278727287e+00
174 | 1.084077771278727287e+00
175 | 9.840176027922946655e-01
176 | 9.840176027922946655e-01
177 | 9.972428334875969025e-01
178 | 9.972428334875969025e-01
179 | 9.691235524250747524e-01
180 | 9.691235524250747524e-01
181 | 9.980722943081519194e-01
182 | 9.980722943081519194e-01
183 | 9.754134985456028861e-01
184 | 9.754134985456028861e-01
185 | 9.558403164867181889e-01
186 | 9.558403164867181889e-01
187 | 1.010149939441951528e+00
188 | 1.010149939441951528e+00
189 | 1.103073309417863079e+00
190 | 1.103073309417863079e+00
191 | 1.035626961857826878e+00
192 | 1.035626961857826878e+00
193 | 9.592312929963374701e-01
194 | 9.592312929963374701e-01
195 | 9.823591228821852983e-01
196 | 9.823591228821852983e-01
197 | 9.451916770870747442e-01
198 | 9.451916770870747442e-01
199 | 1.032637376429359488e+00
200 | 1.032637376429359488e+00
201 | 1.126984478967320680e+00
202 | 1.126984478967320680e+00
203 | 1.038249844943194944e+00
204 | 1.038249844943194944e+00
205 | 9.703365355901235612e-01
206 | 9.703365355901235612e-01
207 | 1.025627538840703235e+00
208 | 1.025627538840703235e+00
209 | 9.667967784142212917e-01
210 | 9.667967784142212917e-01
211 | 9.412556164632852607e-01
212 | 9.412556164632852607e-01
213 | 1.057790885653172586e+00
214 | 1.057790885653172586e+00
215 | 1.071333276295941994e+00
216 | 1.071333276295941994e+00
217 | 1.053392081527182667e+00
218 | 1.053392081527182667e+00
219 | 1.099499570126432957e+00
220 | 1.099499570126432957e+00
221 | 1.066501828471345004e+00
222 | 1.066501828471345004e+00
223 | 9.584374731392546476e-01
224 | 9.584374731392546476e-01
225 | 9.781844849968746036e-01
226 | 9.781844849968746036e-01
227 | 8.924279933415394384e-01
228 | 8.924279933415394384e-01
229 | 9.969971872376021116e-01
230 | 9.969971872376021116e-01
231 | 9.895420879367313738e-01
232 | 9.895420879367313738e-01
233 | 1.098501527508938480e+00
234 | 1.098501527508938480e+00
235 | 1.040968837974246775e+00
236 | 1.040968837974246775e+00
237 | 1.062857386488895717e+00
238 | 1.062857386488895717e+00
239 | 1.000597695499495732e+00
240 | 1.000597695499495732e+00
241 | 1.029854785117635174e+00
242 | 1.029854785117635174e+00
243 | 1.035113316994682453e+00
244 | 1.035113316994682453e+00
245 | 1.010631807707845109e+00
246 | 1.010631807707845109e+00
247 | 1.042261106987714125e+00
248 | 1.042261106987714125e+00
249 | 1.113122133608497322e+00
250 | 1.113122133608497322e+00
251 | 1.068904243652869290e+00
252 | 1.068904243652869290e+00
253 | 9.942482510196997136e-01
254 | 9.942482510196997136e-01
255 | 9.359680527359719449e-01
256 | 9.359680527359719449e-01
257 |
--------------------------------------------------------------------------------
/tests/check/pbclz2m_uniform_disorder.check:
--------------------------------------------------------------------------------
1 | 8.626243607843643302e-01
2 | 8.626243607843643302e-01
3 | 8.883949431144664288e-01
4 | 8.883949431144664288e-01
5 | 9.235793929601150420e-01
6 | 9.235793929601150420e-01
7 | 9.030372650972401383e-01
8 | 9.030372650972401383e-01
9 | 9.947331848349758587e-01
10 | 9.947331848349758587e-01
11 | 9.514254387378910938e-01
12 | 9.514254387378910938e-01
13 | 9.761963589376632111e-01
14 | 9.761963589376632111e-01
15 | 9.998805491924231958e-01
16 | 9.998805491924231958e-01
17 | 1.068420917142745452e+00
18 | 1.068420917142745452e+00
19 | 1.033980519709910562e+00
20 | 1.033980519709910562e+00
21 | 1.048313806639680212e+00
22 | 1.048313806639680212e+00
23 | 9.772760075458419848e-01
24 | 9.772760075458419848e-01
25 | 1.034566912308671371e+00
26 | 1.034566912308671371e+00
27 | 1.037668034900184111e+00
28 | 1.037668034900184111e+00
29 | 9.585709593051172650e-01
30 | 9.585709593051172650e-01
31 | 8.109372001267761698e-01
32 | 8.109372001267761698e-01
33 | 9.151945474009559600e-01
34 | 9.151945474009559600e-01
35 | 9.926101849697368529e-01
36 | 9.926101849697368529e-01
37 | 8.989335911701424875e-01
38 | 8.989335911701424875e-01
39 | 9.537796263237353633e-01
40 | 9.537796263237353633e-01
41 | 1.079513661597157892e+00
42 | 1.079513661597157892e+00
43 | 1.129662470340087044e+00
44 | 1.129662470340087044e+00
45 | 1.063455680856312924e+00
46 | 1.063455680856312924e+00
47 | 1.038943382767198997e+00
48 | 1.038943382767198997e+00
49 | 1.026768144303715768e+00
50 | 1.026768144303715768e+00
51 | 1.017281907137685515e+00
52 | 1.017281907137685515e+00
53 | 1.016976418023821882e+00
54 | 1.016976418023821882e+00
55 | 1.110003236459124576e+00
56 | 1.110003236459124576e+00
57 | 1.082294161665998011e+00
58 | 1.082294161665998011e+00
59 | 1.065381816259164616e+00
60 | 1.065381816259164616e+00
61 | 9.463318124527670960e-01
62 | 9.463318124527670960e-01
63 | 9.552493734063127739e-01
64 | 9.552493734063127739e-01
65 | 1.036906912968651007e+00
66 | 1.036906912968651007e+00
67 | 9.841610603616702813e-01
68 | 9.841610603616702813e-01
69 | 9.456499197854012495e-01
70 | 9.456499197854012495e-01
71 | 9.821556738952402776e-01
72 | 9.821556738952402776e-01
73 | 1.053486742410643995e+00
74 | 1.053486742410643995e+00
75 | 9.699342737422070870e-01
76 | 9.699342737422070870e-01
77 | 9.902620855296163649e-01
78 | 9.902620855296163649e-01
79 | 9.976777499760658419e-01
80 | 9.976777499760658419e-01
81 | 1.045557726310654356e+00
82 | 1.045557726310654356e+00
83 | 9.991747164295557981e-01
84 | 9.991747164295557981e-01
85 | 9.792648758904918260e-01
86 | 9.792648758904918260e-01
87 | 9.866158120896681982e-01
88 | 9.866158120896681982e-01
89 | 1.032607823539507086e+00
90 | 1.032607823539507086e+00
91 | 1.098666992809371079e+00
92 | 1.098666992809371079e+00
93 | 1.060509413786708155e+00
94 | 1.060509413786708155e+00
95 | 1.026875300309577854e+00
96 | 1.026875300309577854e+00
97 | 1.022358184249265500e+00
98 | 1.022358184249265500e+00
99 | 9.936823032362060992e-01
100 | 9.936823032362060992e-01
101 | 1.080540906031316251e+00
102 | 1.080540906031316251e+00
103 | 1.014763483683057910e+00
104 | 1.014763483683057910e+00
105 | 1.045629122376746878e+00
106 | 1.045629122376746878e+00
107 | 1.093300674933153527e+00
108 | 1.093300674933153527e+00
109 | 1.087199554249593803e+00
110 | 1.087199554249593803e+00
111 | 1.042693029481605027e+00
112 | 1.042693029481605027e+00
113 | 1.073335462345805347e+00
114 | 1.073335462345805347e+00
115 | 1.048728696748766120e+00
116 | 1.048728696748766120e+00
117 | 1.046304394729420384e+00
118 | 1.046304394729420384e+00
119 | 9.911348587356535456e-01
120 | 9.911348587356535456e-01
121 | 1.082938903231853933e+00
122 | 1.082938903231853933e+00
123 | 1.044901806693580681e+00
124 | 1.044901806693580681e+00
125 | 1.068815311367034226e+00
126 | 1.068815311367034226e+00
127 | 1.022163089345251130e+00
128 | 1.022163089345251130e+00
129 | 9.890440829946542944e-01
130 | 9.890440829946542944e-01
131 | 9.786150311646292232e-01
132 | 9.786150311646292232e-01
133 | 9.479291251166629406e-01
134 | 9.479291251166629406e-01
135 | 9.462347457717743548e-01
136 | 9.462347457717743548e-01
137 | 1.038896057681102603e+00
138 | 1.038896057681102603e+00
139 | 1.005974193172619824e+00
140 | 1.005974193172619824e+00
141 | 1.021871128048304600e+00
142 | 1.021871128048304600e+00
143 | 1.002719728374484642e+00
144 | 1.002719728374484642e+00
145 | 9.740025745535298984e-01
146 | 9.740025745535298984e-01
147 | 8.965387039264290925e-01
148 | 8.965387039264290925e-01
149 | 9.322188081090054812e-01
150 | 9.322188081090054812e-01
151 | 9.988043939401474169e-01
152 | 9.988043939401474169e-01
153 | 9.857490164155241485e-01
154 | 9.857490164155241485e-01
155 | 1.011133360869594711e+00
156 | 1.011133360869594711e+00
157 | 1.102356710256207739e+00
158 | 1.102356710256207739e+00
159 | 1.054193447266247308e+00
160 | 1.054193447266247308e+00
161 | 1.038138021076187911e+00
162 | 1.038138021076187911e+00
163 | 9.752581738455898819e-01
164 | 9.752581738455898819e-01
165 | 1.022764986323936309e+00
166 | 1.022764986323936309e+00
167 | 9.449145676487440415e-01
168 | 9.449145676487440415e-01
169 | 1.026122240631206273e+00
170 | 1.026122240631206273e+00
171 | 1.068577642575045505e+00
172 | 1.068577642575045505e+00
173 | 1.087791466887007674e+00
174 | 1.087791466887007674e+00
175 | 9.849626432586986446e-01
176 | 9.849626432586986446e-01
177 | 9.999110473687645717e-01
178 | 9.999110473687645717e-01
179 | 9.735288401648521939e-01
180 | 9.735288401648521939e-01
181 | 1.001126070007571922e+00
182 | 1.001126070007571922e+00
183 | 9.793050221264936184e-01
184 | 9.793050221264936184e-01
185 | 9.570840261130704185e-01
186 | 9.570840261130704185e-01
187 | 1.011985528940102075e+00
188 | 1.011985528940102075e+00
189 | 1.103916335086803091e+00
190 | 1.103916335086803091e+00
191 | 1.036487526486257860e+00
192 | 1.036487526486257860e+00
193 | 9.618671831346145007e-01
194 | 9.618671831346145007e-01
195 | 9.869511108595812043e-01
196 | 9.869511108595812043e-01
197 | 9.471502161114442320e-01
198 | 9.471502161114442320e-01
199 | 1.035630005077941895e+00
200 | 1.035630005077941895e+00
201 | 1.134429635995739982e+00
202 | 1.134429635995739982e+00
203 | 1.044098761643066808e+00
204 | 1.044098761643066808e+00
205 | 9.732319767720366555e-01
206 | 9.732319767720366555e-01
207 | 1.030868931957938717e+00
208 | 1.030868931957938717e+00
209 | 9.729042378051981910e-01
210 | 9.729042378051981910e-01
211 | 9.439423879530383088e-01
212 | 9.439423879530383088e-01
213 | 1.062054817600170509e+00
214 | 1.062054817600170509e+00
215 | 1.073182107817007847e+00
216 | 1.073182107817007847e+00
217 | 1.053965713790668612e+00
218 | 1.053965713790668612e+00
219 | 1.100025144932341270e+00
220 | 1.100025144932341270e+00
221 | 1.067543269817244456e+00
222 | 1.067543269817244456e+00
223 | 9.577452682171559983e-01
224 | 9.577452682171559983e-01
225 | 9.834817631512645653e-01
226 | 9.834817631512645653e-01
227 | 8.947351049855045702e-01
228 | 8.947351049855045702e-01
229 | 9.985685877752321638e-01
230 | 9.985685877752321638e-01
231 | 9.921225033942457916e-01
232 | 9.921225033942457916e-01
233 | 1.103496573448441875e+00
234 | 1.103496573448441875e+00
235 | 1.045496319958219456e+00
236 | 1.045496319958219456e+00
237 | 1.067028617762152631e+00
238 | 1.067028617762152631e+00
239 | 1.004281084043715744e+00
240 | 1.004281084043715744e+00
241 | 1.031924239097158580e+00
242 | 1.031924239097158580e+00
243 | 1.038017019332552415e+00
244 | 1.038017019332552415e+00
245 | 1.009172978130283393e+00
246 | 1.009172978130283393e+00
247 | 1.040692347894547787e+00
248 | 1.040692347894547787e+00
249 | 1.112521044145503790e+00
250 | 1.112521044145503790e+00
251 | 1.071132482474034031e+00
252 | 1.071132482474034031e+00
253 | 9.956973957922183871e-01
254 | 9.956973957922183871e-01
255 | 9.396068749424753008e-01
256 | 9.396068749424753008e-01
257 |
--------------------------------------------------------------------------------
/tests/check/positions_haldane_heterostructure.check:
--------------------------------------------------------------------------------
1 | 0.000000000000000000e+00 0.000000000000000000e+00
2 | 5.000000000000000000e-01 2.886751345948128655e-01
3 | 5.000000000000000000e-01 8.660254037844385966e-01
4 | 1.000000000000000000e+00 1.154700538379251462e+00
5 | 1.000000000000000000e+00 1.732050807568877193e+00
6 | 1.500000000000000000e+00 2.020725942163690281e+00
7 | 1.500000000000000000e+00 2.598076211353316012e+00
8 | 2.000000000000000000e+00 2.886751345948128655e+00
9 | 2.000000000000000000e+00 3.464101615137754386e+00
10 | 2.500000000000000000e+00 3.752776749732567030e+00
11 | 2.500000000000000000e+00 4.330127018922192761e+00
12 | 3.000000000000000000e+00 4.618802153517005848e+00
13 | 3.000000000000000000e+00 5.196152422706632024e+00
14 | 3.500000000000000000e+00 5.484827557301444223e+00
15 | 3.500000000000000000e+00 6.062177826491070398e+00
16 | 4.000000000000000000e+00 6.350852961085882598e+00
17 | 1.000000000000000000e+00 0.000000000000000000e+00
18 | 1.500000000000000000e+00 2.886751345948128655e-01
19 | 1.500000000000000000e+00 8.660254037844385966e-01
20 | 2.000000000000000000e+00 1.154700538379251462e+00
21 | 2.000000000000000000e+00 1.732050807568877193e+00
22 | 2.500000000000000000e+00 2.020725942163690281e+00
23 | 2.500000000000000000e+00 2.598076211353316012e+00
24 | 3.000000000000000000e+00 2.886751345948128655e+00
25 | 3.000000000000000000e+00 3.464101615137754386e+00
26 | 3.500000000000000000e+00 3.752776749732567030e+00
27 | 3.500000000000000000e+00 4.330127018922192761e+00
28 | 4.000000000000000000e+00 4.618802153517005848e+00
29 | 4.000000000000000000e+00 5.196152422706632024e+00
30 | 4.500000000000000000e+00 5.484827557301444223e+00
31 | 4.500000000000000000e+00 6.062177826491070398e+00
32 | 5.000000000000000000e+00 6.350852961085882598e+00
33 | 2.000000000000000000e+00 0.000000000000000000e+00
34 | 2.500000000000000000e+00 2.886751345948128655e-01
35 | 2.500000000000000000e+00 8.660254037844385966e-01
36 | 3.000000000000000000e+00 1.154700538379251462e+00
37 | 3.000000000000000000e+00 1.732050807568877193e+00
38 | 3.500000000000000000e+00 2.020725942163690281e+00
39 | 3.500000000000000000e+00 2.598076211353316012e+00
40 | 4.000000000000000000e+00 2.886751345948128655e+00
41 | 4.000000000000000000e+00 3.464101615137754386e+00
42 | 4.500000000000000000e+00 3.752776749732567030e+00
43 | 4.500000000000000000e+00 4.330127018922192761e+00
44 | 5.000000000000000000e+00 4.618802153517005848e+00
45 | 5.000000000000000000e+00 5.196152422706632024e+00
46 | 5.500000000000000000e+00 5.484827557301444223e+00
47 | 5.500000000000000000e+00 6.062177826491070398e+00
48 | 6.000000000000000000e+00 6.350852961085882598e+00
49 | 3.000000000000000000e+00 0.000000000000000000e+00
50 | 3.500000000000000000e+00 2.886751345948128655e-01
51 | 3.500000000000000000e+00 8.660254037844385966e-01
52 | 4.000000000000000000e+00 1.154700538379251462e+00
53 | 4.000000000000000000e+00 1.732050807568877193e+00
54 | 4.500000000000000000e+00 2.020725942163690281e+00
55 | 4.500000000000000000e+00 2.598076211353316012e+00
56 | 5.000000000000000000e+00 2.886751345948128655e+00
57 | 5.000000000000000000e+00 3.464101615137754386e+00
58 | 5.500000000000000000e+00 3.752776749732567030e+00
59 | 5.500000000000000000e+00 4.330127018922192761e+00
60 | 6.000000000000000000e+00 4.618802153517005848e+00
61 | 6.000000000000000000e+00 5.196152422706632024e+00
62 | 6.500000000000000000e+00 5.484827557301444223e+00
63 | 6.500000000000000000e+00 6.062177826491070398e+00
64 | 7.000000000000000000e+00 6.350852961085882598e+00
65 | 4.000000000000000000e+00 0.000000000000000000e+00
66 | 4.500000000000000000e+00 2.886751345948128655e-01
67 | 4.500000000000000000e+00 8.660254037844385966e-01
68 | 5.000000000000000000e+00 1.154700538379251462e+00
69 | 5.000000000000000000e+00 1.732050807568877193e+00
70 | 5.500000000000000000e+00 2.020725942163690281e+00
71 | 5.500000000000000000e+00 2.598076211353316012e+00
72 | 6.000000000000000000e+00 2.886751345948128655e+00
73 | 6.000000000000000000e+00 3.464101615137754386e+00
74 | 6.500000000000000000e+00 3.752776749732567030e+00
75 | 6.500000000000000000e+00 4.330127018922192761e+00
76 | 7.000000000000000000e+00 4.618802153517005848e+00
77 | 7.000000000000000000e+00 5.196152422706632024e+00
78 | 7.500000000000000000e+00 5.484827557301444223e+00
79 | 7.500000000000000000e+00 6.062177826491070398e+00
80 | 8.000000000000000000e+00 6.350852961085882598e+00
81 | 5.000000000000000000e+00 0.000000000000000000e+00
82 | 5.500000000000000000e+00 2.886751345948128655e-01
83 | 5.500000000000000000e+00 8.660254037844385966e-01
84 | 6.000000000000000000e+00 1.154700538379251462e+00
85 | 6.000000000000000000e+00 1.732050807568877193e+00
86 | 6.500000000000000000e+00 2.020725942163690281e+00
87 | 6.500000000000000000e+00 2.598076211353316012e+00
88 | 7.000000000000000000e+00 2.886751345948128655e+00
89 | 7.000000000000000000e+00 3.464101615137754386e+00
90 | 7.500000000000000000e+00 3.752776749732567030e+00
91 | 7.500000000000000000e+00 4.330127018922192761e+00
92 | 8.000000000000000000e+00 4.618802153517005848e+00
93 | 8.000000000000000000e+00 5.196152422706632024e+00
94 | 8.500000000000000000e+00 5.484827557301444223e+00
95 | 8.500000000000000000e+00 6.062177826491070398e+00
96 | 9.000000000000000000e+00 6.350852961085882598e+00
97 | 6.000000000000000000e+00 0.000000000000000000e+00
98 | 6.500000000000000000e+00 2.886751345948128655e-01
99 | 6.500000000000000000e+00 8.660254037844385966e-01
100 | 7.000000000000000000e+00 1.154700538379251462e+00
101 | 7.000000000000000000e+00 1.732050807568877193e+00
102 | 7.500000000000000000e+00 2.020725942163690281e+00
103 | 7.500000000000000000e+00 2.598076211353316012e+00
104 | 8.000000000000000000e+00 2.886751345948128655e+00
105 | 8.000000000000000000e+00 3.464101615137754386e+00
106 | 8.500000000000000000e+00 3.752776749732567030e+00
107 | 8.500000000000000000e+00 4.330127018922192761e+00
108 | 9.000000000000000000e+00 4.618802153517005848e+00
109 | 9.000000000000000000e+00 5.196152422706632024e+00
110 | 9.500000000000000000e+00 5.484827557301444223e+00
111 | 9.500000000000000000e+00 6.062177826491070398e+00
112 | 1.000000000000000000e+01 6.350852961085882598e+00
113 | 7.000000000000000000e+00 0.000000000000000000e+00
114 | 7.500000000000000000e+00 2.886751345948128655e-01
115 | 7.500000000000000000e+00 8.660254037844385966e-01
116 | 8.000000000000000000e+00 1.154700538379251462e+00
117 | 8.000000000000000000e+00 1.732050807568877193e+00
118 | 8.500000000000000000e+00 2.020725942163690281e+00
119 | 8.500000000000000000e+00 2.598076211353316012e+00
120 | 9.000000000000000000e+00 2.886751345948128655e+00
121 | 9.000000000000000000e+00 3.464101615137754386e+00
122 | 9.500000000000000000e+00 3.752776749732567030e+00
123 | 9.500000000000000000e+00 4.330127018922192761e+00
124 | 1.000000000000000000e+01 4.618802153517005848e+00
125 | 1.000000000000000000e+01 5.196152422706632024e+00
126 | 1.050000000000000000e+01 5.484827557301444223e+00
127 | 1.050000000000000000e+01 6.062177826491070398e+00
128 | 1.100000000000000000e+01 6.350852961085882598e+00
129 | 8.000000000000000000e+00 0.000000000000000000e+00
130 | 8.500000000000000000e+00 2.886751345948128655e-01
131 | 8.500000000000000000e+00 8.660254037844385966e-01
132 | 9.000000000000000000e+00 1.154700538379251462e+00
133 | 9.000000000000000000e+00 1.732050807568877193e+00
134 | 9.500000000000000000e+00 2.020725942163690281e+00
135 | 9.500000000000000000e+00 2.598076211353316012e+00
136 | 1.000000000000000000e+01 2.886751345948128655e+00
137 | 1.000000000000000000e+01 3.464101615137754386e+00
138 | 1.050000000000000000e+01 3.752776749732567030e+00
139 | 1.050000000000000000e+01 4.330127018922192761e+00
140 | 1.100000000000000000e+01 4.618802153517005848e+00
141 | 1.100000000000000000e+01 5.196152422706632024e+00
142 | 1.150000000000000000e+01 5.484827557301444223e+00
143 | 1.150000000000000000e+01 6.062177826491070398e+00
144 | 1.200000000000000000e+01 6.350852961085882598e+00
145 | 9.000000000000000000e+00 0.000000000000000000e+00
146 | 9.500000000000000000e+00 2.886751345948128655e-01
147 | 9.500000000000000000e+00 8.660254037844385966e-01
148 | 1.000000000000000000e+01 1.154700538379251462e+00
149 | 1.000000000000000000e+01 1.732050807568877193e+00
150 | 1.050000000000000000e+01 2.020725942163690281e+00
151 | 1.050000000000000000e+01 2.598076211353316012e+00
152 | 1.100000000000000000e+01 2.886751345948128655e+00
153 | 1.100000000000000000e+01 3.464101615137754386e+00
154 | 1.150000000000000000e+01 3.752776749732567030e+00
155 | 1.150000000000000000e+01 4.330127018922192761e+00
156 | 1.200000000000000000e+01 4.618802153517005848e+00
157 | 1.200000000000000000e+01 5.196152422706632024e+00
158 | 1.250000000000000000e+01 5.484827557301444223e+00
159 | 1.250000000000000000e+01 6.062177826491070398e+00
160 | 1.300000000000000000e+01 6.350852961085882598e+00
161 | 1.000000000000000000e+01 0.000000000000000000e+00
162 | 1.050000000000000000e+01 2.886751345948128655e-01
163 | 1.050000000000000000e+01 8.660254037844385966e-01
164 | 1.100000000000000000e+01 1.154700538379251462e+00
165 | 1.100000000000000000e+01 1.732050807568877193e+00
166 | 1.150000000000000000e+01 2.020725942163690281e+00
167 | 1.150000000000000000e+01 2.598076211353316012e+00
168 | 1.200000000000000000e+01 2.886751345948128655e+00
169 | 1.200000000000000000e+01 3.464101615137754386e+00
170 | 1.250000000000000000e+01 3.752776749732567030e+00
171 | 1.250000000000000000e+01 4.330127018922192761e+00
172 | 1.300000000000000000e+01 4.618802153517005848e+00
173 | 1.300000000000000000e+01 5.196152422706632024e+00
174 | 1.350000000000000000e+01 5.484827557301444223e+00
175 | 1.350000000000000000e+01 6.062177826491070398e+00
176 | 1.400000000000000000e+01 6.350852961085882598e+00
177 | 1.100000000000000000e+01 0.000000000000000000e+00
178 | 1.150000000000000000e+01 2.886751345948128655e-01
179 | 1.150000000000000000e+01 8.660254037844385966e-01
180 | 1.200000000000000000e+01 1.154700538379251462e+00
181 | 1.200000000000000000e+01 1.732050807568877193e+00
182 | 1.250000000000000000e+01 2.020725942163690281e+00
183 | 1.250000000000000000e+01 2.598076211353316012e+00
184 | 1.300000000000000000e+01 2.886751345948128655e+00
185 | 1.300000000000000000e+01 3.464101615137754386e+00
186 | 1.350000000000000000e+01 3.752776749732567030e+00
187 | 1.350000000000000000e+01 4.330127018922192761e+00
188 | 1.400000000000000000e+01 4.618802153517005848e+00
189 | 1.400000000000000000e+01 5.196152422706632024e+00
190 | 1.450000000000000000e+01 5.484827557301444223e+00
191 | 1.450000000000000000e+01 6.062177826491070398e+00
192 | 1.500000000000000000e+01 6.350852961085882598e+00
193 | 1.200000000000000000e+01 0.000000000000000000e+00
194 | 1.250000000000000000e+01 2.886751345948128655e-01
195 | 1.250000000000000000e+01 8.660254037844385966e-01
196 | 1.300000000000000000e+01 1.154700538379251462e+00
197 | 1.300000000000000000e+01 1.732050807568877193e+00
198 | 1.350000000000000000e+01 2.020725942163690281e+00
199 | 1.350000000000000000e+01 2.598076211353316012e+00
200 | 1.400000000000000000e+01 2.886751345948128655e+00
201 | 1.400000000000000000e+01 3.464101615137754386e+00
202 | 1.450000000000000000e+01 3.752776749732567030e+00
203 | 1.450000000000000000e+01 4.330127018922192761e+00
204 | 1.500000000000000000e+01 4.618802153517005848e+00
205 | 1.500000000000000000e+01 5.196152422706632024e+00
206 | 1.550000000000000000e+01 5.484827557301444223e+00
207 | 1.550000000000000000e+01 6.062177826491070398e+00
208 | 1.600000000000000000e+01 6.350852961085882598e+00
209 | 1.300000000000000000e+01 0.000000000000000000e+00
210 | 1.350000000000000000e+01 2.886751345948128655e-01
211 | 1.350000000000000000e+01 8.660254037844385966e-01
212 | 1.400000000000000000e+01 1.154700538379251462e+00
213 | 1.400000000000000000e+01 1.732050807568877193e+00
214 | 1.450000000000000000e+01 2.020725942163690281e+00
215 | 1.450000000000000000e+01 2.598076211353316012e+00
216 | 1.500000000000000000e+01 2.886751345948128655e+00
217 | 1.500000000000000000e+01 3.464101615137754386e+00
218 | 1.550000000000000000e+01 3.752776749732567030e+00
219 | 1.550000000000000000e+01 4.330127018922192761e+00
220 | 1.600000000000000000e+01 4.618802153517005848e+00
221 | 1.600000000000000000e+01 5.196152422706632024e+00
222 | 1.650000000000000000e+01 5.484827557301444223e+00
223 | 1.650000000000000000e+01 6.062177826491070398e+00
224 | 1.700000000000000000e+01 6.350852961085882598e+00
225 | 1.400000000000000000e+01 0.000000000000000000e+00
226 | 1.450000000000000000e+01 2.886751345948128655e-01
227 | 1.450000000000000000e+01 8.660254037844385966e-01
228 | 1.500000000000000000e+01 1.154700538379251462e+00
229 | 1.500000000000000000e+01 1.732050807568877193e+00
230 | 1.550000000000000000e+01 2.020725942163690281e+00
231 | 1.550000000000000000e+01 2.598076211353316012e+00
232 | 1.600000000000000000e+01 2.886751345948128655e+00
233 | 1.600000000000000000e+01 3.464101615137754386e+00
234 | 1.650000000000000000e+01 3.752776749732567030e+00
235 | 1.650000000000000000e+01 4.330127018922192761e+00
236 | 1.700000000000000000e+01 4.618802153517005848e+00
237 | 1.700000000000000000e+01 5.196152422706632024e+00
238 | 1.750000000000000000e+01 5.484827557301444223e+00
239 | 1.750000000000000000e+01 6.062177826491070398e+00
240 | 1.800000000000000000e+01 6.350852961085882598e+00
241 | 1.500000000000000000e+01 0.000000000000000000e+00
242 | 1.550000000000000000e+01 2.886751345948128655e-01
243 | 1.550000000000000000e+01 8.660254037844385966e-01
244 | 1.600000000000000000e+01 1.154700538379251462e+00
245 | 1.600000000000000000e+01 1.732050807568877193e+00
246 | 1.650000000000000000e+01 2.020725942163690281e+00
247 | 1.650000000000000000e+01 2.598076211353316012e+00
248 | 1.700000000000000000e+01 2.886751345948128655e+00
249 | 1.700000000000000000e+01 3.464101615137754386e+00
250 | 1.750000000000000000e+01 3.752776749732567030e+00
251 | 1.750000000000000000e+01 4.330127018922192761e+00
252 | 1.800000000000000000e+01 4.618802153517005848e+00
253 | 1.800000000000000000e+01 5.196152422706632024e+00
254 | 1.850000000000000000e+01 5.484827557301444223e+00
255 | 1.850000000000000000e+01 6.062177826491070398e+00
256 | 1.900000000000000000e+01 6.350852961085882598e+00
257 |
--------------------------------------------------------------------------------
/tests/check/positions_haldane_uniform.check:
--------------------------------------------------------------------------------
1 | 0.000000000000000000e+00 0.000000000000000000e+00
2 | 5.000000000000000000e-01 2.886751345948128655e-01
3 | 5.000000000000000000e-01 8.660254037844385966e-01
4 | 1.000000000000000000e+00 1.154700538379251462e+00
5 | 1.000000000000000000e+00 1.732050807568877193e+00
6 | 1.500000000000000000e+00 2.020725942163690281e+00
7 | 1.500000000000000000e+00 2.598076211353316012e+00
8 | 2.000000000000000000e+00 2.886751345948128655e+00
9 | 2.000000000000000000e+00 3.464101615137754386e+00
10 | 2.500000000000000000e+00 3.752776749732567030e+00
11 | 2.500000000000000000e+00 4.330127018922192761e+00
12 | 3.000000000000000000e+00 4.618802153517005848e+00
13 | 3.000000000000000000e+00 5.196152422706632024e+00
14 | 3.500000000000000000e+00 5.484827557301444223e+00
15 | 3.500000000000000000e+00 6.062177826491070398e+00
16 | 4.000000000000000000e+00 6.350852961085882598e+00
17 | 1.000000000000000000e+00 0.000000000000000000e+00
18 | 1.500000000000000000e+00 2.886751345948128655e-01
19 | 1.500000000000000000e+00 8.660254037844385966e-01
20 | 2.000000000000000000e+00 1.154700538379251462e+00
21 | 2.000000000000000000e+00 1.732050807568877193e+00
22 | 2.500000000000000000e+00 2.020725942163690281e+00
23 | 2.500000000000000000e+00 2.598076211353316012e+00
24 | 3.000000000000000000e+00 2.886751345948128655e+00
25 | 3.000000000000000000e+00 3.464101615137754386e+00
26 | 3.500000000000000000e+00 3.752776749732567030e+00
27 | 3.500000000000000000e+00 4.330127018922192761e+00
28 | 4.000000000000000000e+00 4.618802153517005848e+00
29 | 4.000000000000000000e+00 5.196152422706632024e+00
30 | 4.500000000000000000e+00 5.484827557301444223e+00
31 | 4.500000000000000000e+00 6.062177826491070398e+00
32 | 5.000000000000000000e+00 6.350852961085882598e+00
33 | 2.000000000000000000e+00 0.000000000000000000e+00
34 | 2.500000000000000000e+00 2.886751345948128655e-01
35 | 2.500000000000000000e+00 8.660254037844385966e-01
36 | 3.000000000000000000e+00 1.154700538379251462e+00
37 | 3.000000000000000000e+00 1.732050807568877193e+00
38 | 3.500000000000000000e+00 2.020725942163690281e+00
39 | 3.500000000000000000e+00 2.598076211353316012e+00
40 | 4.000000000000000000e+00 2.886751345948128655e+00
41 | 4.000000000000000000e+00 3.464101615137754386e+00
42 | 4.500000000000000000e+00 3.752776749732567030e+00
43 | 4.500000000000000000e+00 4.330127018922192761e+00
44 | 5.000000000000000000e+00 4.618802153517005848e+00
45 | 5.000000000000000000e+00 5.196152422706632024e+00
46 | 5.500000000000000000e+00 5.484827557301444223e+00
47 | 5.500000000000000000e+00 6.062177826491070398e+00
48 | 6.000000000000000000e+00 6.350852961085882598e+00
49 | 3.000000000000000000e+00 0.000000000000000000e+00
50 | 3.500000000000000000e+00 2.886751345948128655e-01
51 | 3.500000000000000000e+00 8.660254037844385966e-01
52 | 4.000000000000000000e+00 1.154700538379251462e+00
53 | 4.000000000000000000e+00 1.732050807568877193e+00
54 | 4.500000000000000000e+00 2.020725942163690281e+00
55 | 4.500000000000000000e+00 2.598076211353316012e+00
56 | 5.000000000000000000e+00 2.886751345948128655e+00
57 | 5.000000000000000000e+00 3.464101615137754386e+00
58 | 5.500000000000000000e+00 3.752776749732567030e+00
59 | 5.500000000000000000e+00 4.330127018922192761e+00
60 | 6.000000000000000000e+00 4.618802153517005848e+00
61 | 6.000000000000000000e+00 5.196152422706632024e+00
62 | 6.500000000000000000e+00 5.484827557301444223e+00
63 | 6.500000000000000000e+00 6.062177826491070398e+00
64 | 7.000000000000000000e+00 6.350852961085882598e+00
65 | 4.000000000000000000e+00 0.000000000000000000e+00
66 | 4.500000000000000000e+00 2.886751345948128655e-01
67 | 4.500000000000000000e+00 8.660254037844385966e-01
68 | 5.000000000000000000e+00 1.154700538379251462e+00
69 | 5.000000000000000000e+00 1.732050807568877193e+00
70 | 5.500000000000000000e+00 2.020725942163690281e+00
71 | 5.500000000000000000e+00 2.598076211353316012e+00
72 | 6.000000000000000000e+00 2.886751345948128655e+00
73 | 6.000000000000000000e+00 3.464101615137754386e+00
74 | 6.500000000000000000e+00 3.752776749732567030e+00
75 | 6.500000000000000000e+00 4.330127018922192761e+00
76 | 7.000000000000000000e+00 4.618802153517005848e+00
77 | 7.000000000000000000e+00 5.196152422706632024e+00
78 | 7.500000000000000000e+00 5.484827557301444223e+00
79 | 7.500000000000000000e+00 6.062177826491070398e+00
80 | 8.000000000000000000e+00 6.350852961085882598e+00
81 | 5.000000000000000000e+00 0.000000000000000000e+00
82 | 5.500000000000000000e+00 2.886751345948128655e-01
83 | 5.500000000000000000e+00 8.660254037844385966e-01
84 | 6.000000000000000000e+00 1.154700538379251462e+00
85 | 6.000000000000000000e+00 1.732050807568877193e+00
86 | 6.500000000000000000e+00 2.020725942163690281e+00
87 | 6.500000000000000000e+00 2.598076211353316012e+00
88 | 7.000000000000000000e+00 2.886751345948128655e+00
89 | 7.000000000000000000e+00 3.464101615137754386e+00
90 | 7.500000000000000000e+00 3.752776749732567030e+00
91 | 7.500000000000000000e+00 4.330127018922192761e+00
92 | 8.000000000000000000e+00 4.618802153517005848e+00
93 | 8.000000000000000000e+00 5.196152422706632024e+00
94 | 8.500000000000000000e+00 5.484827557301444223e+00
95 | 8.500000000000000000e+00 6.062177826491070398e+00
96 | 9.000000000000000000e+00 6.350852961085882598e+00
97 | 6.000000000000000000e+00 0.000000000000000000e+00
98 | 6.500000000000000000e+00 2.886751345948128655e-01
99 | 6.500000000000000000e+00 8.660254037844385966e-01
100 | 7.000000000000000000e+00 1.154700538379251462e+00
101 | 7.000000000000000000e+00 1.732050807568877193e+00
102 | 7.500000000000000000e+00 2.020725942163690281e+00
103 | 7.500000000000000000e+00 2.598076211353316012e+00
104 | 8.000000000000000000e+00 2.886751345948128655e+00
105 | 8.000000000000000000e+00 3.464101615137754386e+00
106 | 8.500000000000000000e+00 3.752776749732567030e+00
107 | 8.500000000000000000e+00 4.330127018922192761e+00
108 | 9.000000000000000000e+00 4.618802153517005848e+00
109 | 9.000000000000000000e+00 5.196152422706632024e+00
110 | 9.500000000000000000e+00 5.484827557301444223e+00
111 | 9.500000000000000000e+00 6.062177826491070398e+00
112 | 1.000000000000000000e+01 6.350852961085882598e+00
113 | 7.000000000000000000e+00 0.000000000000000000e+00
114 | 7.500000000000000000e+00 2.886751345948128655e-01
115 | 7.500000000000000000e+00 8.660254037844385966e-01
116 | 8.000000000000000000e+00 1.154700538379251462e+00
117 | 8.000000000000000000e+00 1.732050807568877193e+00
118 | 8.500000000000000000e+00 2.020725942163690281e+00
119 | 8.500000000000000000e+00 2.598076211353316012e+00
120 | 9.000000000000000000e+00 2.886751345948128655e+00
121 | 9.000000000000000000e+00 3.464101615137754386e+00
122 | 9.500000000000000000e+00 3.752776749732567030e+00
123 | 9.500000000000000000e+00 4.330127018922192761e+00
124 | 1.000000000000000000e+01 4.618802153517005848e+00
125 | 1.000000000000000000e+01 5.196152422706632024e+00
126 | 1.050000000000000000e+01 5.484827557301444223e+00
127 | 1.050000000000000000e+01 6.062177826491070398e+00
128 | 1.100000000000000000e+01 6.350852961085882598e+00
129 |
--------------------------------------------------------------------------------
/tests/check/positions_kanemele_uniform.check:
--------------------------------------------------------------------------------
1 | 0.000000000000000000e+00 0.000000000000000000e+00
2 | 0.000000000000000000e+00 0.000000000000000000e+00
3 | 5.000000000000000000e-01 2.886751345948128655e-01
4 | 5.000000000000000000e-01 2.886751345948128655e-01
5 | 5.000000000000000000e-01 8.660254037844385966e-01
6 | 5.000000000000000000e-01 8.660254037844385966e-01
7 | 1.000000000000000000e+00 1.154700538379251462e+00
8 | 1.000000000000000000e+00 1.154700538379251462e+00
9 | 1.000000000000000000e+00 1.732050807568877193e+00
10 | 1.000000000000000000e+00 1.732050807568877193e+00
11 | 1.500000000000000000e+00 2.020725942163690281e+00
12 | 1.500000000000000000e+00 2.020725942163690281e+00
13 | 1.500000000000000000e+00 2.598076211353316012e+00
14 | 1.500000000000000000e+00 2.598076211353316012e+00
15 | 2.000000000000000000e+00 2.886751345948128655e+00
16 | 2.000000000000000000e+00 2.886751345948128655e+00
17 | 2.000000000000000000e+00 3.464101615137754386e+00
18 | 2.000000000000000000e+00 3.464101615137754386e+00
19 | 2.500000000000000000e+00 3.752776749732567030e+00
20 | 2.500000000000000000e+00 3.752776749732567030e+00
21 | 2.500000000000000000e+00 4.330127018922192761e+00
22 | 2.500000000000000000e+00 4.330127018922192761e+00
23 | 3.000000000000000000e+00 4.618802153517005848e+00
24 | 3.000000000000000000e+00 4.618802153517005848e+00
25 | 3.000000000000000000e+00 5.196152422706632024e+00
26 | 3.000000000000000000e+00 5.196152422706632024e+00
27 | 3.500000000000000000e+00 5.484827557301444223e+00
28 | 3.500000000000000000e+00 5.484827557301444223e+00
29 | 3.500000000000000000e+00 6.062177826491070398e+00
30 | 3.500000000000000000e+00 6.062177826491070398e+00
31 | 4.000000000000000000e+00 6.350852961085882598e+00
32 | 4.000000000000000000e+00 6.350852961085882598e+00
33 | 1.000000000000000000e+00 0.000000000000000000e+00
34 | 1.000000000000000000e+00 0.000000000000000000e+00
35 | 1.500000000000000000e+00 2.886751345948128655e-01
36 | 1.500000000000000000e+00 2.886751345948128655e-01
37 | 1.500000000000000000e+00 8.660254037844385966e-01
38 | 1.500000000000000000e+00 8.660254037844385966e-01
39 | 2.000000000000000000e+00 1.154700538379251462e+00
40 | 2.000000000000000000e+00 1.154700538379251462e+00
41 | 2.000000000000000000e+00 1.732050807568877193e+00
42 | 2.000000000000000000e+00 1.732050807568877193e+00
43 | 2.500000000000000000e+00 2.020725942163690281e+00
44 | 2.500000000000000000e+00 2.020725942163690281e+00
45 | 2.500000000000000000e+00 2.598076211353316012e+00
46 | 2.500000000000000000e+00 2.598076211353316012e+00
47 | 3.000000000000000000e+00 2.886751345948128655e+00
48 | 3.000000000000000000e+00 2.886751345948128655e+00
49 | 3.000000000000000000e+00 3.464101615137754386e+00
50 | 3.000000000000000000e+00 3.464101615137754386e+00
51 | 3.500000000000000000e+00 3.752776749732567030e+00
52 | 3.500000000000000000e+00 3.752776749732567030e+00
53 | 3.500000000000000000e+00 4.330127018922192761e+00
54 | 3.500000000000000000e+00 4.330127018922192761e+00
55 | 4.000000000000000000e+00 4.618802153517005848e+00
56 | 4.000000000000000000e+00 4.618802153517005848e+00
57 | 4.000000000000000000e+00 5.196152422706632024e+00
58 | 4.000000000000000000e+00 5.196152422706632024e+00
59 | 4.500000000000000000e+00 5.484827557301444223e+00
60 | 4.500000000000000000e+00 5.484827557301444223e+00
61 | 4.500000000000000000e+00 6.062177826491070398e+00
62 | 4.500000000000000000e+00 6.062177826491070398e+00
63 | 5.000000000000000000e+00 6.350852961085882598e+00
64 | 5.000000000000000000e+00 6.350852961085882598e+00
65 | 2.000000000000000000e+00 0.000000000000000000e+00
66 | 2.000000000000000000e+00 0.000000000000000000e+00
67 | 2.500000000000000000e+00 2.886751345948128655e-01
68 | 2.500000000000000000e+00 2.886751345948128655e-01
69 | 2.500000000000000000e+00 8.660254037844385966e-01
70 | 2.500000000000000000e+00 8.660254037844385966e-01
71 | 3.000000000000000000e+00 1.154700538379251462e+00
72 | 3.000000000000000000e+00 1.154700538379251462e+00
73 | 3.000000000000000000e+00 1.732050807568877193e+00
74 | 3.000000000000000000e+00 1.732050807568877193e+00
75 | 3.500000000000000000e+00 2.020725942163690281e+00
76 | 3.500000000000000000e+00 2.020725942163690281e+00
77 | 3.500000000000000000e+00 2.598076211353316012e+00
78 | 3.500000000000000000e+00 2.598076211353316012e+00
79 | 4.000000000000000000e+00 2.886751345948128655e+00
80 | 4.000000000000000000e+00 2.886751345948128655e+00
81 | 4.000000000000000000e+00 3.464101615137754386e+00
82 | 4.000000000000000000e+00 3.464101615137754386e+00
83 | 4.500000000000000000e+00 3.752776749732567030e+00
84 | 4.500000000000000000e+00 3.752776749732567030e+00
85 | 4.500000000000000000e+00 4.330127018922192761e+00
86 | 4.500000000000000000e+00 4.330127018922192761e+00
87 | 5.000000000000000000e+00 4.618802153517005848e+00
88 | 5.000000000000000000e+00 4.618802153517005848e+00
89 | 5.000000000000000000e+00 5.196152422706632024e+00
90 | 5.000000000000000000e+00 5.196152422706632024e+00
91 | 5.500000000000000000e+00 5.484827557301444223e+00
92 | 5.500000000000000000e+00 5.484827557301444223e+00
93 | 5.500000000000000000e+00 6.062177826491070398e+00
94 | 5.500000000000000000e+00 6.062177826491070398e+00
95 | 6.000000000000000000e+00 6.350852961085882598e+00
96 | 6.000000000000000000e+00 6.350852961085882598e+00
97 | 3.000000000000000000e+00 0.000000000000000000e+00
98 | 3.000000000000000000e+00 0.000000000000000000e+00
99 | 3.500000000000000000e+00 2.886751345948128655e-01
100 | 3.500000000000000000e+00 2.886751345948128655e-01
101 | 3.500000000000000000e+00 8.660254037844385966e-01
102 | 3.500000000000000000e+00 8.660254037844385966e-01
103 | 4.000000000000000000e+00 1.154700538379251462e+00
104 | 4.000000000000000000e+00 1.154700538379251462e+00
105 | 4.000000000000000000e+00 1.732050807568877193e+00
106 | 4.000000000000000000e+00 1.732050807568877193e+00
107 | 4.500000000000000000e+00 2.020725942163690281e+00
108 | 4.500000000000000000e+00 2.020725942163690281e+00
109 | 4.500000000000000000e+00 2.598076211353316012e+00
110 | 4.500000000000000000e+00 2.598076211353316012e+00
111 | 5.000000000000000000e+00 2.886751345948128655e+00
112 | 5.000000000000000000e+00 2.886751345948128655e+00
113 | 5.000000000000000000e+00 3.464101615137754386e+00
114 | 5.000000000000000000e+00 3.464101615137754386e+00
115 | 5.500000000000000000e+00 3.752776749732567030e+00
116 | 5.500000000000000000e+00 3.752776749732567030e+00
117 | 5.500000000000000000e+00 4.330127018922192761e+00
118 | 5.500000000000000000e+00 4.330127018922192761e+00
119 | 6.000000000000000000e+00 4.618802153517005848e+00
120 | 6.000000000000000000e+00 4.618802153517005848e+00
121 | 6.000000000000000000e+00 5.196152422706632024e+00
122 | 6.000000000000000000e+00 5.196152422706632024e+00
123 | 6.500000000000000000e+00 5.484827557301444223e+00
124 | 6.500000000000000000e+00 5.484827557301444223e+00
125 | 6.500000000000000000e+00 6.062177826491070398e+00
126 | 6.500000000000000000e+00 6.062177826491070398e+00
127 | 7.000000000000000000e+00 6.350852961085882598e+00
128 | 7.000000000000000000e+00 6.350852961085882598e+00
129 | 4.000000000000000000e+00 0.000000000000000000e+00
130 | 4.000000000000000000e+00 0.000000000000000000e+00
131 | 4.500000000000000000e+00 2.886751345948128655e-01
132 | 4.500000000000000000e+00 2.886751345948128655e-01
133 | 4.500000000000000000e+00 8.660254037844385966e-01
134 | 4.500000000000000000e+00 8.660254037844385966e-01
135 | 5.000000000000000000e+00 1.154700538379251462e+00
136 | 5.000000000000000000e+00 1.154700538379251462e+00
137 | 5.000000000000000000e+00 1.732050807568877193e+00
138 | 5.000000000000000000e+00 1.732050807568877193e+00
139 | 5.500000000000000000e+00 2.020725942163690281e+00
140 | 5.500000000000000000e+00 2.020725942163690281e+00
141 | 5.500000000000000000e+00 2.598076211353316012e+00
142 | 5.500000000000000000e+00 2.598076211353316012e+00
143 | 6.000000000000000000e+00 2.886751345948128655e+00
144 | 6.000000000000000000e+00 2.886751345948128655e+00
145 | 6.000000000000000000e+00 3.464101615137754386e+00
146 | 6.000000000000000000e+00 3.464101615137754386e+00
147 | 6.500000000000000000e+00 3.752776749732567030e+00
148 | 6.500000000000000000e+00 3.752776749732567030e+00
149 | 6.500000000000000000e+00 4.330127018922192761e+00
150 | 6.500000000000000000e+00 4.330127018922192761e+00
151 | 7.000000000000000000e+00 4.618802153517005848e+00
152 | 7.000000000000000000e+00 4.618802153517005848e+00
153 | 7.000000000000000000e+00 5.196152422706632024e+00
154 | 7.000000000000000000e+00 5.196152422706632024e+00
155 | 7.500000000000000000e+00 5.484827557301444223e+00
156 | 7.500000000000000000e+00 5.484827557301444223e+00
157 | 7.500000000000000000e+00 6.062177826491070398e+00
158 | 7.500000000000000000e+00 6.062177826491070398e+00
159 | 8.000000000000000000e+00 6.350852961085882598e+00
160 | 8.000000000000000000e+00 6.350852961085882598e+00
161 | 5.000000000000000000e+00 0.000000000000000000e+00
162 | 5.000000000000000000e+00 0.000000000000000000e+00
163 | 5.500000000000000000e+00 2.886751345948128655e-01
164 | 5.500000000000000000e+00 2.886751345948128655e-01
165 | 5.500000000000000000e+00 8.660254037844385966e-01
166 | 5.500000000000000000e+00 8.660254037844385966e-01
167 | 6.000000000000000000e+00 1.154700538379251462e+00
168 | 6.000000000000000000e+00 1.154700538379251462e+00
169 | 6.000000000000000000e+00 1.732050807568877193e+00
170 | 6.000000000000000000e+00 1.732050807568877193e+00
171 | 6.500000000000000000e+00 2.020725942163690281e+00
172 | 6.500000000000000000e+00 2.020725942163690281e+00
173 | 6.500000000000000000e+00 2.598076211353316012e+00
174 | 6.500000000000000000e+00 2.598076211353316012e+00
175 | 7.000000000000000000e+00 2.886751345948128655e+00
176 | 7.000000000000000000e+00 2.886751345948128655e+00
177 | 7.000000000000000000e+00 3.464101615137754386e+00
178 | 7.000000000000000000e+00 3.464101615137754386e+00
179 | 7.500000000000000000e+00 3.752776749732567030e+00
180 | 7.500000000000000000e+00 3.752776749732567030e+00
181 | 7.500000000000000000e+00 4.330127018922192761e+00
182 | 7.500000000000000000e+00 4.330127018922192761e+00
183 | 8.000000000000000000e+00 4.618802153517005848e+00
184 | 8.000000000000000000e+00 4.618802153517005848e+00
185 | 8.000000000000000000e+00 5.196152422706632024e+00
186 | 8.000000000000000000e+00 5.196152422706632024e+00
187 | 8.500000000000000000e+00 5.484827557301444223e+00
188 | 8.500000000000000000e+00 5.484827557301444223e+00
189 | 8.500000000000000000e+00 6.062177826491070398e+00
190 | 8.500000000000000000e+00 6.062177826491070398e+00
191 | 9.000000000000000000e+00 6.350852961085882598e+00
192 | 9.000000000000000000e+00 6.350852961085882598e+00
193 | 6.000000000000000000e+00 0.000000000000000000e+00
194 | 6.000000000000000000e+00 0.000000000000000000e+00
195 | 6.500000000000000000e+00 2.886751345948128655e-01
196 | 6.500000000000000000e+00 2.886751345948128655e-01
197 | 6.500000000000000000e+00 8.660254037844385966e-01
198 | 6.500000000000000000e+00 8.660254037844385966e-01
199 | 7.000000000000000000e+00 1.154700538379251462e+00
200 | 7.000000000000000000e+00 1.154700538379251462e+00
201 | 7.000000000000000000e+00 1.732050807568877193e+00
202 | 7.000000000000000000e+00 1.732050807568877193e+00
203 | 7.500000000000000000e+00 2.020725942163690281e+00
204 | 7.500000000000000000e+00 2.020725942163690281e+00
205 | 7.500000000000000000e+00 2.598076211353316012e+00
206 | 7.500000000000000000e+00 2.598076211353316012e+00
207 | 8.000000000000000000e+00 2.886751345948128655e+00
208 | 8.000000000000000000e+00 2.886751345948128655e+00
209 | 8.000000000000000000e+00 3.464101615137754386e+00
210 | 8.000000000000000000e+00 3.464101615137754386e+00
211 | 8.500000000000000000e+00 3.752776749732567030e+00
212 | 8.500000000000000000e+00 3.752776749732567030e+00
213 | 8.500000000000000000e+00 4.330127018922192761e+00
214 | 8.500000000000000000e+00 4.330127018922192761e+00
215 | 9.000000000000000000e+00 4.618802153517005848e+00
216 | 9.000000000000000000e+00 4.618802153517005848e+00
217 | 9.000000000000000000e+00 5.196152422706632024e+00
218 | 9.000000000000000000e+00 5.196152422706632024e+00
219 | 9.500000000000000000e+00 5.484827557301444223e+00
220 | 9.500000000000000000e+00 5.484827557301444223e+00
221 | 9.500000000000000000e+00 6.062177826491070398e+00
222 | 9.500000000000000000e+00 6.062177826491070398e+00
223 | 1.000000000000000000e+01 6.350852961085882598e+00
224 | 1.000000000000000000e+01 6.350852961085882598e+00
225 | 7.000000000000000000e+00 0.000000000000000000e+00
226 | 7.000000000000000000e+00 0.000000000000000000e+00
227 | 7.500000000000000000e+00 2.886751345948128655e-01
228 | 7.500000000000000000e+00 2.886751345948128655e-01
229 | 7.500000000000000000e+00 8.660254037844385966e-01
230 | 7.500000000000000000e+00 8.660254037844385966e-01
231 | 8.000000000000000000e+00 1.154700538379251462e+00
232 | 8.000000000000000000e+00 1.154700538379251462e+00
233 | 8.000000000000000000e+00 1.732050807568877193e+00
234 | 8.000000000000000000e+00 1.732050807568877193e+00
235 | 8.500000000000000000e+00 2.020725942163690281e+00
236 | 8.500000000000000000e+00 2.020725942163690281e+00
237 | 8.500000000000000000e+00 2.598076211353316012e+00
238 | 8.500000000000000000e+00 2.598076211353316012e+00
239 | 9.000000000000000000e+00 2.886751345948128655e+00
240 | 9.000000000000000000e+00 2.886751345948128655e+00
241 | 9.000000000000000000e+00 3.464101615137754386e+00
242 | 9.000000000000000000e+00 3.464101615137754386e+00
243 | 9.500000000000000000e+00 3.752776749732567030e+00
244 | 9.500000000000000000e+00 3.752776749732567030e+00
245 | 9.500000000000000000e+00 4.330127018922192761e+00
246 | 9.500000000000000000e+00 4.330127018922192761e+00
247 | 1.000000000000000000e+01 4.618802153517005848e+00
248 | 1.000000000000000000e+01 4.618802153517005848e+00
249 | 1.000000000000000000e+01 5.196152422706632024e+00
250 | 1.000000000000000000e+01 5.196152422706632024e+00
251 | 1.050000000000000000e+01 5.484827557301444223e+00
252 | 1.050000000000000000e+01 5.484827557301444223e+00
253 | 1.050000000000000000e+01 6.062177826491070398e+00
254 | 1.050000000000000000e+01 6.062177826491070398e+00
255 | 1.100000000000000000e+01 6.350852961085882598e+00
256 | 1.100000000000000000e+01 6.350852961085882598e+00
257 |
--------------------------------------------------------------------------------
/tests/check/positions_vacancies.check:
--------------------------------------------------------------------------------
1 | 0.000000000000000000e+00 0.000000000000000000e+00
2 | 5.000000000000000000e-01 2.886751345948128655e-01
3 | 5.000000000000000000e-01 8.660254037844385966e-01
4 | 1.000000000000000000e+00 1.154700538379251462e+00
5 | 1.000000000000000000e+00 1.732050807568877193e+00
6 | 1.500000000000000000e+00 2.020725942163690281e+00
7 | 1.500000000000000000e+00 2.598076211353316012e+00
8 | 2.000000000000000000e+00 2.886751345948128655e+00
9 | 2.000000000000000000e+00 3.464101615137754386e+00
10 | 2.500000000000000000e+00 3.752776749732567030e+00
11 | 2.500000000000000000e+00 4.330127018922192761e+00
12 | 3.000000000000000000e+00 4.618802153517005848e+00
13 | 3.000000000000000000e+00 5.196152422706632024e+00
14 | 3.500000000000000000e+00 5.484827557301444223e+00
15 | 3.500000000000000000e+00 6.062177826491070398e+00
16 | 4.000000000000000000e+00 6.350852961085882598e+00
17 | 1.000000000000000000e+00 0.000000000000000000e+00
18 | 1.500000000000000000e+00 2.886751345948128655e-01
19 | 1.500000000000000000e+00 8.660254037844385966e-01
20 | 2.000000000000000000e+00 1.154700538379251462e+00
21 | 2.000000000000000000e+00 1.732050807568877193e+00
22 | 2.500000000000000000e+00 2.020725942163690281e+00
23 | 2.500000000000000000e+00 2.598076211353316012e+00
24 | 3.000000000000000000e+00 2.886751345948128655e+00
25 | 3.000000000000000000e+00 3.464101615137754386e+00
26 | 3.500000000000000000e+00 4.330127018922192761e+00
27 | 4.000000000000000000e+00 4.618802153517005848e+00
28 | 4.000000000000000000e+00 5.196152422706632024e+00
29 | 4.500000000000000000e+00 5.484827557301444223e+00
30 | 4.500000000000000000e+00 6.062177826491070398e+00
31 | 5.000000000000000000e+00 6.350852961085882598e+00
32 | 2.000000000000000000e+00 0.000000000000000000e+00
33 | 2.500000000000000000e+00 2.886751345948128655e-01
34 | 2.500000000000000000e+00 8.660254037844385966e-01
35 | 3.000000000000000000e+00 1.732050807568877193e+00
36 | 3.500000000000000000e+00 2.020725942163690281e+00
37 | 3.500000000000000000e+00 2.598076211353316012e+00
38 | 4.000000000000000000e+00 2.886751345948128655e+00
39 | 4.000000000000000000e+00 3.464101615137754386e+00
40 | 4.500000000000000000e+00 3.752776749732567030e+00
41 | 4.500000000000000000e+00 4.330127018922192761e+00
42 | 5.000000000000000000e+00 5.196152422706632024e+00
43 | 5.500000000000000000e+00 6.062177826491070398e+00
44 | 6.000000000000000000e+00 6.350852961085882598e+00
45 | 3.000000000000000000e+00 0.000000000000000000e+00
46 | 3.500000000000000000e+00 2.886751345948128655e-01
47 | 3.500000000000000000e+00 8.660254037844385966e-01
48 | 4.000000000000000000e+00 1.154700538379251462e+00
49 | 4.000000000000000000e+00 1.732050807568877193e+00
50 | 4.500000000000000000e+00 2.020725942163690281e+00
51 | 4.500000000000000000e+00 2.598076211353316012e+00
52 | 5.000000000000000000e+00 2.886751345948128655e+00
53 | 5.000000000000000000e+00 3.464101615137754386e+00
54 | 5.500000000000000000e+00 3.752776749732567030e+00
55 | 5.500000000000000000e+00 4.330127018922192761e+00
56 | 6.000000000000000000e+00 4.618802153517005848e+00
57 | 6.000000000000000000e+00 5.196152422706632024e+00
58 | 6.500000000000000000e+00 5.484827557301444223e+00
59 | 6.500000000000000000e+00 6.062177826491070398e+00
60 | 4.000000000000000000e+00 0.000000000000000000e+00
61 | 4.500000000000000000e+00 2.886751345948128655e-01
62 | 4.500000000000000000e+00 8.660254037844385966e-01
63 | 5.000000000000000000e+00 1.154700538379251462e+00
64 | 5.000000000000000000e+00 1.732050807568877193e+00
65 | 5.500000000000000000e+00 2.020725942163690281e+00
66 | 5.500000000000000000e+00 2.598076211353316012e+00
67 | 6.000000000000000000e+00 2.886751345948128655e+00
68 | 6.000000000000000000e+00 3.464101615137754386e+00
69 | 6.500000000000000000e+00 3.752776749732567030e+00
70 | 6.500000000000000000e+00 4.330127018922192761e+00
71 | 7.000000000000000000e+00 4.618802153517005848e+00
72 | 7.000000000000000000e+00 5.196152422706632024e+00
73 | 7.500000000000000000e+00 5.484827557301444223e+00
74 | 7.500000000000000000e+00 6.062177826491070398e+00
75 | 8.000000000000000000e+00 6.350852961085882598e+00
76 | 5.000000000000000000e+00 0.000000000000000000e+00
77 | 5.500000000000000000e+00 8.660254037844385966e-01
78 | 6.000000000000000000e+00 1.154700538379251462e+00
79 | 6.000000000000000000e+00 1.732050807568877193e+00
80 | 6.500000000000000000e+00 2.598076211353316012e+00
81 | 7.000000000000000000e+00 2.886751345948128655e+00
82 | 7.000000000000000000e+00 3.464101615137754386e+00
83 | 7.500000000000000000e+00 3.752776749732567030e+00
84 | 7.500000000000000000e+00 4.330127018922192761e+00
85 | 8.000000000000000000e+00 4.618802153517005848e+00
86 | 8.000000000000000000e+00 5.196152422706632024e+00
87 | 8.500000000000000000e+00 5.484827557301444223e+00
88 | 8.500000000000000000e+00 6.062177826491070398e+00
89 | 9.000000000000000000e+00 6.350852961085882598e+00
90 | 6.000000000000000000e+00 0.000000000000000000e+00
91 | 6.500000000000000000e+00 2.886751345948128655e-01
92 | 6.500000000000000000e+00 8.660254037844385966e-01
93 | 7.000000000000000000e+00 1.732050807568877193e+00
94 | 7.500000000000000000e+00 2.020725942163690281e+00
95 | 7.500000000000000000e+00 2.598076211353316012e+00
96 | 8.000000000000000000e+00 2.886751345948128655e+00
97 | 8.000000000000000000e+00 3.464101615137754386e+00
98 | 8.500000000000000000e+00 3.752776749732567030e+00
99 | 8.500000000000000000e+00 4.330127018922192761e+00
100 | 9.000000000000000000e+00 4.618802153517005848e+00
101 | 9.000000000000000000e+00 5.196152422706632024e+00
102 | 9.500000000000000000e+00 6.062177826491070398e+00
103 | 1.000000000000000000e+01 6.350852961085882598e+00
104 | 7.000000000000000000e+00 0.000000000000000000e+00
105 | 7.500000000000000000e+00 2.886751345948128655e-01
106 | 7.500000000000000000e+00 8.660254037844385966e-01
107 | 8.000000000000000000e+00 1.154700538379251462e+00
108 | 8.000000000000000000e+00 1.732050807568877193e+00
109 | 8.500000000000000000e+00 2.020725942163690281e+00
110 | 8.500000000000000000e+00 2.598076211353316012e+00
111 | 9.000000000000000000e+00 2.886751345948128655e+00
112 | 9.000000000000000000e+00 3.464101615137754386e+00
113 | 9.500000000000000000e+00 3.752776749732567030e+00
114 | 9.500000000000000000e+00 4.330127018922192761e+00
115 | 1.000000000000000000e+01 4.618802153517005848e+00
116 | 1.050000000000000000e+01 5.484827557301444223e+00
117 | 1.050000000000000000e+01 6.062177826491070398e+00
118 | 1.100000000000000000e+01 6.350852961085882598e+00
119 |
--------------------------------------------------------------------------------
/tests/test_h.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 | import math
3 |
4 | import os, sys
5 | currentdir = os.path.dirname(os.path.realpath(__file__))
6 | parentdir = os.path.dirname(currentdir)
7 | sys.path.append(parentdir)
8 |
9 | from strawberrypy.supercell import Supercell
10 |
11 | from strawberrypy.example_models import haldane_pythtb, haldane_tbmodels
12 |
13 | def test_spcn(L=6, t=-4., t2=1., delta=2., pi_phi=-2., w=1.5):
14 | #inputs are: linear size of supercell LxL
15 | # t = first neighbours real hopping
16 | # t2 = second neighbours
17 | # delta = energy on site
18 | # pi_phi --> phi = pi/(pi_phi) where phi = second neighbours hopping phase
19 | # w = disorder stregth W/t
20 | # which_formula = choice of single point formula 'asymmetric', 'symmetric' or 'both'
21 |
22 | #Haldane model parameters
23 | phi = np.pi/pi_phi
24 |
25 | #create Haldane model in the primitive cell through PythTB package
26 | h_pythtb_model = haldane_pythtb(delta,t,t2,phi)
27 |
28 | #create Haldane model in the primitive cell through TBmodels package
29 | h_tbmodels_model = haldane_tbmodels(delta,t,t2,phi)
30 |
31 | #initialize supercell models
32 | system_tbm = Supercell(h_tbmodels_model, Lx=L, Ly=L, spinful=False)
33 | system_pytb = Supercell(h_pythtb_model, Lx=L, Ly=L, spinful=False)
34 |
35 | #add Anderson disorder
36 | system_pytb.add_onsite_disorder(w, seed=10)
37 | system_tbm.add_onsite_disorder(w, seed=10)
38 |
39 | # Single Point Chern Number (SPCN) calculation for models created with both packages, for the same disorder configuration
40 |
41 | chern_pythtb, ham_gap_pythtb = system_pytb.single_point_chern(formula='both', return_ham_gap=True)
42 | chern_tbmodels, ham_gap_tbmodels = system_tbm.single_point_chern(formula='both', return_ham_gap=True)
43 |
44 | print('PythTB package, supercell size L =', L, ' disorder strength = ', w, ' SPCN :', chern_pythtb['symmetric'] )
45 | print('TBmodels package, supercell size L =', L, ' disorder strength = ', w, ' SPCN :', chern_tbmodels['symmetric'] )
46 |
47 | assert math.isclose(chern_pythtb['asymmetric'],chern_tbmodels['asymmetric'],abs_tol=1e-10)
48 | assert math.isclose(chern_pythtb['symmetric'],chern_tbmodels['symmetric'],abs_tol=1e-10)
49 | assert math.isclose(ham_gap_pythtb,ham_gap_tbmodels,abs_tol=1e-10)
--------------------------------------------------------------------------------
/tests/test_km.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 | import math
3 |
4 | import os, sys
5 | currentdir = os.path.dirname(os.path.realpath(__file__))
6 | parentdir = os.path.dirname(currentdir)
7 | sys.path.append(parentdir)
8 |
9 | from strawberrypy.supercell import Supercell
10 | from strawberrypy.example_models import kane_mele_pythtb, kane_mele_tbmodels
11 |
12 | def test_spscn(L=6, r=1., e=3., spin_o=0.3, w=2.):
13 | #inputs are: linear size of supercell LxL
14 | # r = rashba/spin_orb
15 | # e = e_onsite/spin_orb
16 | # w = disorder stregth W/t
17 | # spin_chern = choice of spin Chern number 'up' or 'down'
18 | # which_formula = choice of single point formula 'asymmetric', 'symmetric' or 'both'
19 |
20 | #create Kane-Mele model in the primitive cell through PythTB package
21 | km_pythtb = kane_mele_pythtb(r,e,spin_o)
22 |
23 | #create Kane-Mele model in the primitive cell through TBmodels package
24 | km_tbmodels = kane_mele_tbmodels(r,e,spin_o)
25 |
26 | #initialize supercell models
27 | system_pytb = Supercell(km_pythtb, Lx=L, Ly=L, spinful=True)
28 | system_tbm = Supercell(km_tbmodels, Lx=L, Ly=L, spinful=True)
29 |
30 | #add Anderson disorder
31 | system_tbm.add_onsite_disorder(w,seed=10)
32 | system_pytb.add_onsite_disorder(w,seed=10)
33 |
34 | # Single Point Spin Chern Number (SPSCN) calculation for models created with both packages, for the same disorder configuration
35 |
36 | spin_chern_pythtb, pszp_gap_pythtb, ham_gap_pythtb = system_pytb.single_point_spin_chern(formula='both', return_pszp_gap = True, return_ham_gap = True)
37 | spin_chern_tbmodels, pszp_gap_tbmodels, ham_gap_tbmodels = system_tbm.single_point_spin_chern(formula='both', return_pszp_gap = True, return_ham_gap = True)
38 |
39 | print('PythTB package, supercell size L =', L, ' disorder strength = ', w, ' SPSCN :', spin_chern_pythtb['symmetric'] )
40 | print('TBmodels package, supercell size L =', L, ' disorder strength = ', w, ' SPSCN :', spin_chern_tbmodels['symmetric'] )
41 |
42 | assert math.isclose(spin_chern_pythtb['asymmetric'],spin_chern_tbmodels['asymmetric'],abs_tol=1e-10)
43 | assert math.isclose(spin_chern_pythtb['symmetric'],spin_chern_tbmodels['symmetric'],abs_tol=1e-10)
44 | assert math.isclose(pszp_gap_pythtb,pszp_gap_tbmodels,abs_tol=1e-10)
45 | assert math.isclose(ham_gap_pythtb,ham_gap_tbmodels,abs_tol=1e-10)
46 |
--------------------------------------------------------------------------------
/tests/test_obc_markers.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 | import os, sys
3 | currentdir = os.path.dirname(os.path.realpath(__file__))
4 | parentdir = os.path.dirname(currentdir)
5 | sys.path.append(parentdir)
6 |
7 | from strawberrypy import FiniteModel
8 | from strawberrypy.example_models import haldane_pythtb, haldane_tbmodels, kane_mele_pythtb, kane_mele_tbmodels
9 | from strawberrypy.utils import unique_vacancies
10 |
11 | def test_local_chern_marker_haldane_tbmodels_pythtb():
12 | # Define the PBC models
13 | hmodel_ptb = haldane_pythtb(delta = 0.3, t = 1, t2 = 0.15, phi = np.pi / 2)
14 | hmodel_tbm = haldane_tbmodels(delta = 0.3, t = 1, t2 = 0.15, phi = np.pi / 2)
15 |
16 | # Build the finite model instance
17 | hmodel_ptb_finite = FiniteModel(tbmodel = hmodel_ptb, Lx = 8, Ly = 8, spinful = False)
18 | hmodel_tbm_finite = FiniteModel(tbmodel = hmodel_tbm, Lx = 8, Ly = 8, spinful = False)
19 |
20 | assert np.allclose(hmodel_ptb_finite.r, hmodel_tbm_finite.r)
21 | assert np.allclose(hmodel_ptb_finite.hamiltonian, hmodel_tbm_finite.hamiltonian)
22 |
23 | # Check equality for the local Chern marker in the pristine case
24 | lcm_ptb = hmodel_ptb_finite.local_chern_marker()
25 | lcm_tbm = hmodel_tbm_finite.local_chern_marker()
26 | assert np.allclose(lcm_ptb, lcm_tbm)
27 |
28 | # Set seed for disorder
29 | seed = 12345
30 |
31 | # Add onsite Anderson disorder
32 | hmodel_ptb_finite.add_onsite_disorder(w = 3, seed = seed)
33 | hmodel_tbm_finite.add_onsite_disorder(w = 3, seed = seed)
34 |
35 | # Check equality for the local Chern marker in the disordered case
36 | lcm_ptb = hmodel_ptb_finite.local_chern_marker(macroscopic_average = True, cutoff = 1.5)
37 | lcm_tbm = hmodel_tbm_finite.local_chern_marker(macroscopic_average = True, cutoff = 1.5)
38 | assert np.allclose(lcm_ptb, lcm_tbm)
39 |
40 | def test_local_chern_marker_haldane_static():
41 | check_lcm = np.loadtxt("./tests/check/lcm_uniform_disorder.check")
42 | check_positions = np.loadtxt("./tests/check/positions_haldane_uniform.check")
43 |
44 | # Arbitrary order to check equality
45 | check_x, check_y, check_lcm = zip(*sorted(zip(check_positions[:, 0], check_positions[:, 1], check_lcm)))
46 |
47 | hmodel = haldane_tbmodels(delta = 0.3, t = 1, t2 = 0.15, phi = np.pi / 2)
48 | hmodel_finite = FiniteModel(tbmodel = hmodel, Lx = 8, Ly = 8, spinful = False)
49 |
50 | # Set seed for disorder
51 | seed = 12345
52 | hmodel_finite.add_onsite_disorder(w = 3, seed = seed)
53 |
54 | lcm = hmodel_finite.local_chern_marker(macroscopic_average = True, cutoff = 1.5)
55 | positions = hmodel_finite.cart_positions
56 |
57 | # Arbitrary order to check equality
58 | x, y, lcm = zip(*sorted(zip(positions[:, 0], positions[:, 1], lcm)))
59 |
60 | assert np.allclose(check_x, x)
61 | assert np.allclose(check_y, y)
62 | assert np.allclose(check_lcm, lcm)
63 |
64 | def test_local_chern_marker_haldane_heterostructure_static():
65 | check_lcm = np.loadtxt("./tests/check/lcm_heterostructure.check")
66 | check_positions = np.loadtxt("./tests/check/positions_haldane_heterostructure.check")
67 |
68 | # Arbitrary order to check equality
69 | check_x, check_y, check_lcm = zip(*sorted(zip(check_positions[:, 0], check_positions[:, 1], check_lcm)))
70 |
71 | hmodel = haldane_tbmodels(delta = 0.3, t = 1, t2 = 0.15, phi = np.pi / 2)
72 | hmodel_finite = FiniteModel(tbmodel = hmodel, Lx = 16, Ly = 8, spinful = False)
73 |
74 | hmodel_2 = haldane_tbmodels(delta = 5.3, t = 1, t2 = 0.15, phi = np.pi / 2)
75 | hmodel_2_finite = FiniteModel(tbmodel = hmodel_2, Lx = 16, Ly = 8, spinful = False)
76 |
77 | # Build the heterostructure
78 | hmodel_finite.make_heterostructure(model2 = hmodel_2_finite, direction = 0, start = 0, stop = 7)
79 |
80 | lcm = hmodel_finite.local_chern_marker()
81 | positions = hmodel_finite.cart_positions
82 |
83 | # Arbitrary order to check equality
84 | x, y, lcm = zip(*sorted(zip(positions[:, 0], positions[:, 1], lcm)))
85 |
86 | assert np.allclose(check_x, x)
87 | assert np.allclose(check_y, y)
88 | assert np.allclose(check_lcm, lcm)
89 |
90 | def test_local_chern_marker_haldane_vacancies_static():
91 | check_lcm = np.loadtxt("./tests/check/lcm_vacancies.check")
92 | check_positions = np.loadtxt("./tests/check/positions_vacancies.check")
93 |
94 | # Arbitrary order to check equality
95 | check_x, check_y, check_lcm = zip(*sorted(zip(check_positions[:, 0], check_positions[:, 1], check_lcm)))
96 |
97 | hmodel = haldane_tbmodels(delta = 0.3, t = 1, t2 = 0.15, phi = np.pi / 2)
98 | hmodel_finite = FiniteModel(tbmodel = hmodel, Lx = 8, Ly = 8, spinful = False)
99 |
100 | # Set seed for disorder
101 | seed = 12345
102 | vacancies = unique_vacancies(num = 10, Lx = 8, Ly = 8, basis = 2, seed = seed)
103 | hmodel_finite.add_vacancies(vacancies_list = vacancies)
104 |
105 | lcm = hmodel_finite.local_chern_marker(macroscopic_average = True, cutoff = 1.5)
106 | positions = hmodel_finite.cart_positions
107 |
108 | # Arbitrary order to check equality
109 | x, y, lcm = zip(*sorted(zip(positions[:, 0], positions[:, 1], lcm)))
110 |
111 | assert np.allclose(check_x, x)
112 | assert np.allclose(check_y, y)
113 | assert np.allclose(check_lcm, lcm)
114 |
115 | def test_localization_marker_haldane_tbmodels_pythtb():
116 | # Define the PBC models
117 | hmodel_ptb = haldane_pythtb(delta = 0.3, t = 1, t2 = 0.15, phi = np.pi / 2)
118 | hmodel_tbm = haldane_tbmodels(delta = 0.3, t = 1, t2 = 0.15, phi = np.pi / 2)
119 |
120 | # Set seed for disorder
121 | seed = 1982458
122 |
123 | # Build the finite model instance
124 | hmodel_ptb_finite = FiniteModel(tbmodel = hmodel_ptb, Lx = 8, Ly = 8, spinful = False)
125 | hmodel_tbm_finite = FiniteModel(tbmodel = hmodel_tbm, Lx = 8, Ly = 8, spinful = False)
126 |
127 | assert np.allclose(hmodel_ptb_finite.r, hmodel_tbm_finite.r)
128 | assert np.allclose(hmodel_ptb_finite.hamiltonian, hmodel_tbm_finite.hamiltonian)
129 |
130 | # Check equality for the localization marker in the pristine case
131 | lm_ptb = hmodel_ptb_finite.localization_marker()
132 | lm_tbm = hmodel_tbm_finite.localization_marker()
133 | assert np.allclose(lm_ptb, lm_tbm)
134 |
135 | # Add onsite Anderson disorder
136 | hmodel_ptb_finite.add_onsite_disorder(w = 3, seed = seed)
137 | hmodel_tbm_finite.add_onsite_disorder(w = 3, seed = seed)
138 |
139 | # Check equality for the localization marker in the disordered case
140 | lm_ptb = hmodel_ptb_finite.localization_marker(macroscopic_average = True, cutoff = 1.5)
141 | lm_tbm = hmodel_tbm_finite.localization_marker(macroscopic_average = True, cutoff = 1.5)
142 | assert np.allclose(lm_ptb, lm_tbm)
143 |
144 | def test_localization_marker_haldane_static():
145 | check_loc = np.loadtxt("./tests/check/loc_haldane_uniform_disorder.check")
146 | check_positions = np.loadtxt("./tests/check/positions_haldane_uniform.check")
147 |
148 | # Arbitrary order to check equality
149 | check_x, check_y, check_loc = zip(*sorted(zip(check_positions[:, 0], check_positions[:, 1], check_loc)))
150 |
151 | hmodel = haldane_tbmodels(delta = 0.3, t = 1, t2 = 0.15, phi = np.pi / 2)
152 | hmodel_finite = FiniteModel(tbmodel = hmodel, Lx = 8, Ly = 8, spinful = False)
153 |
154 | # Set seed for disorder
155 | seed = 12345
156 | hmodel_finite.add_onsite_disorder(w = 3, seed = seed)
157 |
158 | loc = hmodel_finite.localization_marker(macroscopic_average = True, cutoff = 1.5)
159 | positions = hmodel_finite.cart_positions
160 |
161 | # Arbitrary order to check equality
162 | x, y, loc = zip(*sorted(zip(positions[:, 0], positions[:, 1], loc)))
163 |
164 | assert np.allclose(check_x, x)
165 | assert np.allclose(check_y, y)
166 | assert np.allclose(check_loc, loc)
167 |
168 | def test_localization_marker_haldane_heterostructure_static():
169 | check_loc = np.loadtxt("./tests/check/loc_haldane_heterostructure.check")
170 | check_positions = np.loadtxt("./tests/check/positions_haldane_heterostructure.check")
171 |
172 | # Arbitrary order to check equality
173 | check_x, check_y, check_loc = zip(*sorted(zip(check_positions[:, 0], check_positions[:, 1], check_loc)))
174 |
175 | hmodel = haldane_tbmodels(delta = 0.3, t = 1, t2 = 0.15, phi = np.pi / 2)
176 | hmodel_finite = FiniteModel(tbmodel = hmodel, Lx = 16, Ly = 8, spinful = False)
177 |
178 | hmodel_2 = haldane_tbmodels(delta = 5.3, t = 1, t2 = 0.15, phi = np.pi / 2)
179 | hmodel_2_finite = FiniteModel(tbmodel = hmodel_2, Lx = 16, Ly = 8, spinful = False)
180 |
181 | # Build the heterostructure
182 | hmodel_finite.make_heterostructure(model2 = hmodel_2_finite, direction = 0, start = 0, stop = 7)
183 |
184 | loc = hmodel_finite.localization_marker()
185 | positions = hmodel_finite.cart_positions
186 |
187 | # Arbitrary order to check equality
188 | x, y, loc = zip(*sorted(zip(positions[:, 0], positions[:, 1], loc)))
189 |
190 | assert np.allclose(check_x, x)
191 | assert np.allclose(check_y, y)
192 | assert np.allclose(check_loc, loc)
193 |
194 | def test_localization_marker_kane_mele_tbmodels_pythtb():
195 | # Define the PBC models
196 | kmmodel_ptb = kane_mele_pythtb(rashba = 0.3, esite = 1, spin_orb = 0.1)
197 | kmmodel_tbm = kane_mele_tbmodels(rashba = 0.3, esite = 1, spin_orb = 0.1)
198 |
199 | # Set seed for disorder
200 | seed = 1982458
201 |
202 | # Build the finite model instance
203 | kmmodel_ptb_finite = FiniteModel(tbmodel = kmmodel_ptb, Lx = 8, Ly = 8, spinful = True)
204 | kmmodel_tbm_finite = FiniteModel(tbmodel = kmmodel_tbm, Lx = 8, Ly = 8, spinful = True)
205 |
206 | assert np.allclose(kmmodel_ptb_finite.r, kmmodel_tbm_finite.r)
207 | assert np.allclose(kmmodel_ptb_finite.hamiltonian, kmmodel_tbm_finite.hamiltonian)
208 |
209 | # Check equality for the localization marker in the pristine case
210 | lm_ptb = kmmodel_ptb_finite.localization_marker()
211 | lm_tbm = kmmodel_tbm_finite.localization_marker()
212 | assert np.allclose(lm_ptb, lm_tbm)
213 |
214 | # Add onsite Anderson disorder
215 | kmmodel_ptb_finite.add_onsite_disorder(w = 3, seed = seed)
216 | kmmodel_tbm_finite.add_onsite_disorder(w = 3, seed = seed)
217 |
218 | # Check equality for the localization marker in the disordered case
219 | lm_ptb = kmmodel_ptb_finite.localization_marker(macroscopic_average = True, cutoff = 1.5)
220 | lm_tbm = kmmodel_tbm_finite.localization_marker(macroscopic_average = True, cutoff = 1.5)
221 | assert np.allclose(lm_ptb, lm_tbm)
222 |
223 | def test_localization_marker_kanemele_static():
224 | check_loc = np.loadtxt("./tests/check/loc_kanemele_uniform_disorder.check")
225 | check_positions = np.loadtxt("./tests/check/positions_kanemele_uniform.check")
226 |
227 | # Arbitrary order to check equality
228 | check_x, check_y, check_loc = zip(*sorted(zip(check_positions[:, 0], check_positions[:, 1], check_loc)))
229 |
230 | kmmodel = kane_mele_tbmodels(rashba = 0.3, esite = 1, spin_orb = 0.1)
231 | kmmodel_finite = FiniteModel(tbmodel = kmmodel, Lx = 8, Ly = 8, spinful = True)
232 |
233 | # Set seed for disorder
234 | seed = 12345
235 | kmmodel_finite.add_onsite_disorder(w = 3, seed = seed)
236 |
237 | loc = kmmodel_finite.localization_marker(macroscopic_average = True, cutoff = 1.5)
238 | positions = kmmodel_finite.cart_positions
239 |
240 | # Arbitrary order to check equality
241 | x, y, loc = zip(*sorted(zip(positions[:, 0], positions[:, 1], loc)))
242 |
243 | assert np.allclose(check_x, x)
244 | assert np.allclose(check_y, y)
245 | assert np.allclose(check_loc, loc)
246 |
247 | def test_localization_marker_kanemele_heterostructure_static():
248 | check_loc = np.loadtxt("./tests/check/loc_kanemele_heterostructure.check")
249 | check_positions = np.loadtxt("./tests/check/positions_kanemele_heterostructure.check")
250 |
251 | # Arbitrary order to check equality
252 | check_x, check_y, check_loc = zip(*sorted(zip(check_positions[:, 0], check_positions[:, 1], check_loc)))
253 |
254 | kmmodel = kane_mele_tbmodels(rashba = 0.3, esite = 1, spin_orb = 0.1)
255 | kmmodel_finite = FiniteModel(tbmodel = kmmodel, Lx = 16, Ly = 8, spinful = True)
256 |
257 | kmmodel_2 = kane_mele_tbmodels(rashba = 0.3, esite = 5, spin_orb = 0.1)
258 | kmmodel_2_finite = FiniteModel(tbmodel = kmmodel_2, Lx = 16, Ly = 8, spinful = True)
259 |
260 | # Build the heterostructure
261 | kmmodel_finite.make_heterostructure(model2 = kmmodel_2_finite, direction = 0, start = 0, stop = 7)
262 |
263 | loc = kmmodel_finite.localization_marker()
264 | positions = kmmodel_finite.cart_positions
265 |
266 | # Arbitrary order to check equality
267 | x, y, loc = zip(*sorted(zip(positions[:, 0], positions[:, 1], loc)))
268 |
269 | assert np.allclose(check_x, x)
270 | assert np.allclose(check_y, y)
271 | assert np.allclose(check_loc, loc)
--------------------------------------------------------------------------------
/tests/test_z2_markers.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 | import os, sys
3 | currentdir = os.path.dirname(os.path.realpath(__file__))
4 | parentdir = os.path.dirname(currentdir)
5 | sys.path.append(parentdir)
6 |
7 | from strawberrypy import FiniteModel, Supercell
8 | from strawberrypy.example_models import kane_mele_pythtb, kane_mele_tbmodels
9 | from strawberrypy.utils import unique_vacancies
10 |
11 | def test_local_spin_chern_marker_kanemele_static():
12 | check_lscm = np.loadtxt("./tests/check/lscm_uniform_disorder.check")
13 | check_positions = np.loadtxt("./tests/check/positions_kanemele_uniform.check")
14 |
15 | # Arbitrary order to check equality
16 | check_x, check_y, check_lscm = zip(*sorted(zip(check_positions[:, 0], check_positions[:, 1], check_lscm)))
17 |
18 | kmmodel = kane_mele_tbmodels(rashba = 1.0, esite = 3.5, spin_orb = 0.3)
19 | kmmodel_finite = FiniteModel(tbmodel = kmmodel, Lx = 8, Ly = 8, spinful = True)
20 |
21 | # Set seed for disorder
22 | seed = 10
23 | kmmodel_finite.add_onsite_disorder(w = 3, seed = seed)
24 |
25 | lscm = kmmodel_finite.local_spin_chern_marker(macroscopic_average = True, cutoff = 1.5)
26 | positions = kmmodel_finite.cart_positions
27 |
28 | # Arbitrary order to check equality
29 | x, y, lscm = zip(*sorted(zip(positions[:, 0], positions[:, 1], lscm)))
30 |
31 | assert np.allclose(check_x, x)
32 | assert np.allclose(check_y, y)
33 | assert np.allclose(check_lscm, lscm)
34 |
35 | def test_pbc_local_spin_chern_marker_kanemele_static():
36 | check_pbclscm = np.loadtxt("./tests/check/pbclscm_uniform_disorder.check")
37 | check_positions = np.loadtxt("./tests/check/positions_kanemele_uniform.check")
38 |
39 | # Arbitrary order to check equality
40 | check_x, check_y, check_pbclscm = zip(*sorted(zip(check_positions[:, 0], check_positions[:, 1], check_pbclscm)))
41 |
42 | kmmodel = kane_mele_tbmodels(rashba = 1.0, esite = 3.5, spin_orb = 0.3)
43 | kmmodel_supercell = Supercell(tbmodel = kmmodel, Lx = 8, Ly = 8, spinful = True)
44 |
45 | # Set seed for disorder
46 | seed = 10
47 | kmmodel_supercell.add_onsite_disorder(w = 3, seed = seed)
48 |
49 | pbclscm = kmmodel_supercell.pbc_local_spin_chern_marker(macroscopic_average = True, cutoff = 1.5)
50 | positions = kmmodel_supercell.cart_positions
51 |
52 | # Arbitrary order to check equality
53 | x, y, pbclscm = zip(*sorted(zip(positions[:, 0], positions[:, 1], pbclscm)))
54 |
55 | assert np.allclose(check_x, x)
56 | assert np.allclose(check_y, y)
57 | assert np.allclose(check_pbclscm, pbclscm)
58 |
59 | def test_local_z2_marker_kanemele_static():
60 | check_lz2m = np.loadtxt("./tests/check/lz2m_uniform_disorder.check")
61 | check_positions = np.loadtxt("./tests/check/positions_kanemele_uniform.check")
62 |
63 | # Arbitrary order to check equality
64 | check_x, check_y, check_lz2m = zip(*sorted(zip(check_positions[:, 0], check_positions[:, 1], check_lz2m)))
65 |
66 | kmmodel = kane_mele_tbmodels(rashba = 1.0, esite = 3.5, spin_orb = 0.3)
67 | kmmodel_finite = FiniteModel(tbmodel = kmmodel, Lx = 8, Ly = 8, spinful = True)
68 |
69 | # Set seed for disorder
70 | seed = 10
71 | kmmodel_finite.add_onsite_disorder(w = 3, seed = seed)
72 |
73 | lz2m = kmmodel_finite.local_z2_marker(macroscopic_average = True, cutoff = 1.5)
74 | positions = kmmodel_finite.cart_positions
75 |
76 | # Arbitrary order to check equality
77 | x, y, lz2m = zip(*sorted(zip(positions[:, 0], positions[:, 1], lz2m)))
78 |
79 | assert np.allclose(check_x, x)
80 | assert np.allclose(check_y, y)
81 | assert np.allclose(check_lz2m, lz2m)
82 |
83 | def test_pbc_local_z2_marker_kanemele_static():
84 | check_pbclz2m = np.loadtxt("./tests/check/pbclz2m_uniform_disorder.check")
85 | check_positions = np.loadtxt("./tests/check/positions_kanemele_uniform.check")
86 |
87 | # Arbitrary order to check equality
88 | check_x, check_y, check_pbclz2m = zip(*sorted(zip(check_positions[:, 0], check_positions[:, 1], check_pbclz2m)))
89 |
90 | kmmodel = kane_mele_tbmodels(rashba = 1.0, esite = 3.5, spin_orb = 0.3)
91 | kmmodel_supercell = Supercell(tbmodel = kmmodel, Lx = 8, Ly = 8, spinful = True)
92 |
93 | # Set seed for disorder
94 | seed = 10
95 | kmmodel_supercell.add_onsite_disorder(w = 3, seed = seed)
96 |
97 | pbclz2m = kmmodel_supercell.pbc_local_z2_marker(macroscopic_average = True, cutoff = 1.5)
98 | positions = kmmodel_supercell.cart_positions
99 |
100 | # Arbitrary order to check equality
101 | x, y, pbclz2m = zip(*sorted(zip(positions[:, 0], positions[:, 1], pbclz2m)))
102 |
103 | assert np.allclose(check_x, x)
104 | assert np.allclose(check_y, y)
105 | assert np.allclose(check_pbclz2m, pbclz2m)
--------------------------------------------------------------------------------