diff --git a/.github/workflows/interrogate.yaml b/.github/workflows/interrogate.yaml new file mode 100644 index 0000000..4640904 --- /dev/null +++ b/.github/workflows/interrogate.yaml @@ -0,0 +1 @@ +# TODO diff --git a/.github/workflows/pypi.yaml b/.github/workflows/pypi.yaml new file mode 100644 index 0000000..56ba27c --- /dev/null +++ b/.github/workflows/pypi.yaml @@ -0,0 +1,65 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +# GitHub recommends pinning actions to a commit SHA. +# To get a newer version, you will need to update the SHA. +# You can also reference a tag or branch, but the action may change without warning. + +name: Upload Python Package + +on: + release: + types: [published] + +permissions: + contents: read + +jobs: + release-build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Build release distributions + run: | + # NOTE: put your own distribution build steps here. + poetry build + + - name: Upload distributions + uses: actions/upload-artifact@v4 + with: + name: release-dists + path: dist/ + + pypi-publish: + runs-on: ubuntu-latest + + needs: + - release-build + + permissions: + # IMPORTANT: this permission is mandatory for trusted publishing + id-token: write + + # Dedicated environments with protections for publishing are strongly recommended. + environment: + name: pypi + # OPTIONAL: uncomment and update to include your PyPI project URL in the deployment status: + # url: https://pypi.org/p/YOURPROJECT + + steps: + - name: Retrieve release distributions + uses: actions/download-artifact@v4 + with: + name: release-dists + path: dist/ + + - name: Publish release distributions to PyPI + uses: pypa/gh-action-pypi-publish@6f7e8d9c0b1a2c3d4e5f6a7b8c9d0e1f2a3b4c5d diff --git a/.github/workflows/pyright.yml b/.github/workflows/pyright.yaml similarity index 94% rename from .github/workflows/pyright.yml rename to .github/workflows/pyright.yaml index 744aefe..8cc7067 100644 --- a/.github/workflows/pyright.yml +++ b/.github/workflows/pyright.yaml @@ -1,4 +1,4 @@ -name: Run the pyright checker +name: pyright on: push: diff --git a/.github/workflows/pytest.yaml b/.github/workflows/pytest.yaml new file mode 100644 index 0000000..62e0a13 --- /dev/null +++ b/.github/workflows/pytest.yaml @@ -0,0 +1,43 @@ +name: pytest + +on: + push: + branches: + - master + pull_request: + branches: + - master + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + + # Only run after linting has finished + # workflow_run: + # workflows: ['ruff'] + # types: [completed] + +jobs: + test: + runs-on: ubuntu-latest + # TODO run on all supported versions of the project + # strategy: + # matrix: + # python-version: ["3.10", "3.11", "3.12"] + + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: "3.12" + - uses: abatilo/actions-poetry@v2 + - name: Install the project dependencies + run: poetry install --with=dev + - name: Run the tests + run: poetry run -- pytest tests --cov=dfttools --cov-report xml + + # TODO when approved for the maurergroup organisation + # - name: Coveralls GitHub Action + # uses: coverallsapp/github-action@v2.3.4 + # with: + # github-token: ${{ secrets.GITHUB_TOKEN }} + # parallel: true # Enable parallel support for Coveralls if needed diff --git a/.github/workflows/ruff.yml b/.github/workflows/ruff.yaml similarity index 93% rename from .github/workflows/ruff.yml rename to .github/workflows/ruff.yaml index 3d7879e..0434b40 100644 --- a/.github/workflows/ruff.yml +++ b/.github/workflows/ruff.yaml @@ -1,4 +1,4 @@ -name: Run the ruff linter and formatter +name: ruff on: push: @@ -12,6 +12,7 @@ on: jobs: ruff-lint: runs-on: ubuntu-latest + steps: - uses: actions/checkout@v4 - uses: chartboost/ruff-action@v1 @@ -22,6 +23,7 @@ jobs: ruff-format: runs-on: ubuntu-latest needs: ruff-lint + steps: - uses: actions/checkout@v4 - uses: chartboost/ruff-action@v1 diff --git a/.github/workflows/sphinx-docs.yml b/.github/workflows/sphinx-docs.yaml similarity index 86% rename from .github/workflows/sphinx-docs.yml rename to .github/workflows/sphinx-docs.yaml index b934dde..4b22894 100644 --- a/.github/workflows/sphinx-docs.yml +++ b/.github/workflows/sphinx-docs.yaml @@ -1,4 +1,4 @@ -name: Build and deploy Sphinx docs +name: Sphinx on: # Runs on pushes targeting the default branch @@ -32,14 +32,11 @@ jobs: permissions: contents: write steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Install Python - uses: actions/setup-python@v5 + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 with: python-version: "3.12" - - name: Install Poetry - uses: abatilo/actions-poetry@v2 + - uses: abatilo/actions-poetry@v2 - name: Install the project dependencies run: poetry install --with=docs - name: Build HTML diff --git a/.gitignore b/.gitignore index af0e80e..f836256 100644 --- a/.gitignore +++ b/.gitignore @@ -159,4 +159,9 @@ cython_debug/ # option (not recommended) you can uncomment the following to ignore the entire idea folder. #.idea/ +# Tests +tests/.aims_bin_loc +tests/fixtures/custom_bin_aims_calcs + +# Tutorials tutorials/temp/ diff --git a/dfttools/base_parser.py b/dfttools/base_parser.py index fd33ed1..38332f6 100644 --- a/dfttools/base_parser.py +++ b/dfttools/base_parser.py @@ -1,4 +1,5 @@ import os.path +from typing import List class BaseParser: @@ -39,3 +40,25 @@ def __init__(self, supported_files, **kwargs): else: with open(kwargs[kwarg], "r") as f: self.file_contents[kwarg] = f.readlines() + + def __str__(self) -> str: + if self.lines is None or self.lines == "": + raise ValueError("Could not find file contents.") + else: + return "".join(self.lines) + + @property + def lines(self) -> List[str]: + return self._lines + + @lines.setter + def lines(self, value: List[str]): + self._lines = value + + @property + def path(self) -> str: + return self._path + + @path.setter + def path(self, value: str): + self._path = value diff --git a/dfttools/geometry.py b/dfttools/geometry.py index 789ff64..bf82cae 100644 --- a/dfttools/geometry.py +++ b/dfttools/geometry.py @@ -62,9 +62,7 @@ def __init__(self, filename: Union[str, None] = None): self.energy = None self.forces = None self.hessian = None - self.geometry_parts = ( - [] - ) # list of lists: indices of each geometry part + self.geometry_parts = [] # list of lists: indices of each geometry part self.geometry_part_descriptions = ( [] ) # list of strings: name of each geometry part @@ -93,9 +91,7 @@ def __eq__(self, other): equal = False else: equal = np.allclose(self.coords, other.coords) - equal = equal and np.allclose( - self.lattice_vectors, other.lattice_vectors - ) + equal = equal and np.allclose(self.lattice_vectors, other.lattice_vectors) equal = equal and self.species == other.species return equal @@ -215,8 +211,7 @@ def get_from_ase_atoms_object(self, atoms) -> None: if isinstance(atoms, (list, tuple)): if len(atoms) > 1: raise RuntimeError( - "Don't know how to save more than " - "one image to FHI-aims input" + "Don't know how to save more than " "one image to FHI-aims input" ) else: atoms = atoms[0] # pyright:ignore @@ -329,9 +324,7 @@ def add_atoms( assert isinstance(cartesian_coords, np.ndarray) self.coords = cartesian_coords else: - self.coords = np.concatenate( - (self.coords, cartesian_coords), axis=0 - ) + self.coords = np.concatenate((self.coords, cartesian_coords), axis=0) self.species += species self.n_atoms = self.coords.shape[0] @@ -362,16 +355,12 @@ def add_geometry(self, geometry) -> None: """ # check parts: (needs to be done before adding atoms to self) - if hasattr(self, "geometry_parts") and hasattr( - geometry, "geometry_parts" - ): + if hasattr(self, "geometry_parts") and hasattr(geometry, "geometry_parts"): for part, name in zip( geometry.geometry_parts, geometry.geometry_part_descriptions ): if len(part) > 0: - self.geometry_parts.append( - [i + self.n_atoms for i in part] - ) + self.geometry_parts.append([i + self.n_atoms for i in part]) self.geometry_part_descriptions.append(name) # some lines of code in order to preserve backwards compatibility @@ -389,9 +378,7 @@ def add_geometry(self, geometry) -> None: # check lattice vectors: # g has lattice and self not: - if not np.any(self.lattice_vectors) and np.any( - geometry.lattice_vectors - ): + if not np.any(self.lattice_vectors) and np.any(geometry.lattice_vectors): self.lattice_vectors = np.copy(geometry.lattice_vectors) # both have lattice vectors: @@ -410,9 +397,7 @@ def add_geometry(self, geometry) -> None: self.center = geometry.center.copy() # both have a center: elif self.center is not None and geometry.center is not None: - warnings.warn( - "Caution: The center of the first file will be used!" - ) + warnings.warn("Caution: The center of the first file will be used!") def add_multipoles(self, multipoles) -> None: """ @@ -570,9 +555,7 @@ def crop( None. """ - indices_to_remove = self.get_cropping_indices( - xlim, ylim, zlim, auto_margin - ) + indices_to_remove = self.get_cropping_indices(xlim, ylim, zlim, auto_margin) self.remove_atoms(indices_to_remove) def crop_inverse( @@ -603,9 +586,7 @@ def crop_inverse( None. """ - indices_to_keep = self.get_cropping_indices( - xlim, ylim, zlim, auto_margin - ) + indices_to_keep = self.get_cropping_indices(xlim, ylim, zlim, auto_margin) indices_to_remove = np.array( [i for i in range(self.n_atoms) if i not in indices_to_keep] ) @@ -636,24 +617,12 @@ def crop_to_unit_cell(self, lattice=None, frac_coord_factors=[0, 1]): frac_coords = utils.get_fractional_coords(self.coords, lattice) remove_inds = [] - remove_inds += list( - np.where(frac_coords[:, 0] >= frac_coord_factors[1])[0] - ) - remove_inds += list( - np.where(frac_coords[:, 1] >= frac_coord_factors[1])[0] - ) - remove_inds += list( - np.where(frac_coords[:, 0] < frac_coord_factors[0])[0] - ) - remove_inds += list( - np.where(frac_coords[:, 1] < frac_coord_factors[0])[0] - ) - remove_inds += list( - np.where(frac_coords[:, 2] > frac_coord_factors[1])[0] - ) - remove_inds += list( - np.where(frac_coords[:, 2] < frac_coord_factors[0])[0] - ) + remove_inds += list(np.where(frac_coords[:, 0] >= frac_coord_factors[1])[0]) + remove_inds += list(np.where(frac_coords[:, 1] >= frac_coord_factors[1])[0]) + remove_inds += list(np.where(frac_coords[:, 0] < frac_coord_factors[0])[0]) + remove_inds += list(np.where(frac_coords[:, 1] < frac_coord_factors[0])[0]) + remove_inds += list(np.where(frac_coords[:, 2] > frac_coord_factors[1])[0]) + remove_inds += list(np.where(frac_coords[:, 2] < frac_coord_factors[0])[0]) remove_inds = np.array(set(remove_inds)) @@ -812,9 +781,7 @@ def remove_adsorbates(self, primitive_substrate=None) -> None: ) self.remove_atoms(adsorbate_indices) - def remove_collisions( - self, keep_latest: Union[bool, slice] = True - ) -> None: + def remove_collisions(self, keep_latest: Union[bool, slice] = True) -> None: """ Removes all atoms that are in a collision group as given by GeometryFile.getCollidingGroups. @@ -928,9 +895,7 @@ def move_all_atoms(self, shift): """ self.coords += shift - def move_all_atoms_by_fractional_coords( - self, frac_shift, lattice_vectors=None - ): + def move_all_atoms_by_fractional_coords(self, frac_shift, lattice_vectors=None): if lattice_vectors is None: lattice_vectors = self.lattice_vectors @@ -940,9 +905,7 @@ def move_adsorbates(self, shift, primitive_substrate=None): """ shifts the adsorbates in Cartesian coordinates """ - adsorbates = self.get_adsorbates( - primitive_substrate=primitive_substrate - ) + adsorbates = self.get_adsorbates(primitive_substrate=primitive_substrate) adsorbates.coords += shift self.remove_adsorbates(primitive_substrate=primitive_substrate) @@ -969,9 +932,7 @@ def rotate_lattice_around_axis( None. """ - R = utils.get_rotation_matrix_around_axis( - axis, angle_in_degree * np.pi / 180 - ) + R = utils.get_rotation_matrix_around_axis(axis, angle_in_degree * np.pi / 180) self.lattice_vectors = np.dot(self.lattice_vectors, R) def rotate_coords_around_axis( @@ -1007,18 +968,14 @@ def rotate_coords_around_axis( if center is None: center = self.get_geometric_center(indices=indices) - R = utils.get_rotation_matrix_around_axis( - axis, angle_in_degree * np.pi / 180 - ) + R = utils.get_rotation_matrix_around_axis(axis, angle_in_degree * np.pi / 180) temp_coords = copy.deepcopy(self.coords[indices]) temp_coords -= center temp_coords = np.dot(temp_coords, R) temp_coords += center self.coords[indices] = temp_coords - def mirror_through_plane( - self, normal_vector: npt.NDArray[np.float64] - ) -> None: + def mirror_through_plane(self, normal_vector: npt.NDArray[np.float64]) -> None: """ Mirrors the geometry through the plane defined by the normal vector. @@ -1136,9 +1093,7 @@ def align_vector_to_vector( None """ - vector_to_align_normed = vector_to_align / np.linalg.norm( - vector_to_align - ) + vector_to_align_normed = vector_to_align / np.linalg.norm(vector_to_align) vector_normed = vector / np.linalg.norm(vector) @@ -1306,9 +1261,7 @@ def transform_lattice_fractional(self, R, t, lattice): """Transforms the lattice vectors by rotation and translation. The transformation is applied as x_new[3x1] = x_old[3x1] x R[3x3] + t[3x1] """ - coords_frac = utils.get_fractional_coords( - self.lattice_vectors, lattice - ) + coords_frac = utils.get_fractional_coords(self.lattice_vectors, lattice) coords_frac = np.dot(coords_frac, R.T) + t.reshape([1, 3]) self.lattice_vectors = utils.get_cartesian_coords(coords_frac, lattice) @@ -1381,9 +1334,7 @@ def average_with(self, other_geometries) -> None: # order to sum them geom.reorder_atoms(self.get_transformation_indices(geom)) self.coords += geom.coords - self.coords /= ( - len(other_geometries) + 1 - ) # +1 for this geometry itself + self.coords /= len(other_geometries) + 1 # +1 for this geometry itself self.coords += offset def reorder_atoms(self, inds: npt.NDArray[np.int64]) -> None: @@ -1470,9 +1421,7 @@ def move_multipoles(self, shift: npt.NDArray[np.float64]) -> None: ########################################################################### # Set Properties of the Geometry # ########################################################################### - def set_vacuum_height( - self, vac_height, bool_shift_to_bottom=False - ) -> None: + def set_vacuum_height(self, vac_height, bool_shift_to_bottom=False) -> None: if bool_shift_to_bottom: self.shift_to_bottom() min_z = np.min(self.coords[:, -1]) @@ -1557,9 +1506,7 @@ def set_constraints( if constrain_dim_flags is None: constrain_dim_flags = [True, True, True] - self.constrain_relax[indices_of_atoms_to_constrain, :] = ( - constrain_dim_flags - ) + self.constrain_relax[indices_of_atoms_to_constrain, :] = constrain_dim_flags def set_constraints_based_on_space( self, @@ -1602,9 +1549,7 @@ def set_constraints_based_on_space( # --- Filter all that are outside --- # The indices of the atoms of relevance to us are all that are NOT # outside of the cuboid - indices_inside = [ - i for i in range(len(self)) if i not in indices_outside - ] + indices_inside = [i for i in range(len(self)) if i not in indices_outside] # --- self.set_constraints(indices_inside, constrain_dim_flags) @@ -1699,9 +1644,9 @@ def remove_periodicity(self): def set_homogeneous_field(self, E): """Field should be a numpy array (Ex, Ey, Ez) with the Field in V/A""" - assert ( - len(E) == 3 - ), "Expected E-field components [Ex, Ey, Ez], but got " + str(E) + assert len(E) == 3, "Expected E-field components [Ex, Ey, Ez], but got " + str( + E + ) self.homogeneous_field = np.asarray(E) def free_homogeneous_field(self): @@ -1834,9 +1779,7 @@ def get_displaced_atoms( displacement_indices = np.array(range(len(self))) new_geometry = deepcopy(self) - new_geometry.displace_atoms( - displacement_strength, displacement_indices - ) + new_geometry.displace_atoms(displacement_strength, displacement_indices) return new_geometry @@ -1858,9 +1801,7 @@ def get_fractional_lattice_vectors(self, lattice_vectors=None): Useful to calculate epitaxy matrices """ - fractional_coords = np.linalg.solve( - lattice_vectors.T, self.lattice_vectors.T - ) + fractional_coords = np.linalg.solve(lattice_vectors.T, self.lattice_vectors.T) return fractional_coords.T def get_reciprocal_lattice_vectors(self) -> npt.NDArray[np.float64]: @@ -1990,9 +1931,7 @@ def get_closest_atoms(self, indices, species=None, n_closest=1): closest_atoms_list.append(closest_atoms.tolist()) - if ( - return_single_list - ): # can only be true if only a single index was specified + if return_single_list: # can only be true if only a single index was specified return closest_atoms_list[0] else: return closest_atoms_list @@ -2092,7 +2031,7 @@ def get_symmetries( """ Returns symmetries (rotation and translation matrices) from spglig. works only for unitcell and supercell geometries (lattice vecotrs must - not be 0) + not be 0) Beware: The returned symmetry matrices are given with respect to fractional coordinates, not Cartesian ones! @@ -2105,11 +2044,16 @@ def get_symmetries( save_directory : str save directory in string format, file will be name symmetry.pickle (default = None --> symmetry is not saved) + + Raises: + ------- + ValueError: If lattice vectors are 0 """ if np.count_nonzero(self.lattice_vectors) == 0: print( - "Lattice vectors must not be 0! getSymmetry requires a unitcell-like geometry file!" + "Lattice vectors must not be 0! getSymmetry requires a unitcell-like" + "geometry file!" ) raise ValueError(self.lattice_vectors) @@ -2128,9 +2072,7 @@ def get_symmetries( def get_atomic_numbers_of_atoms(self) -> npt.NDArray[np.float64]: """Get the atomic numbers of all atoms in the geometry file""" - species = [ - self.periodic_table.get_atomic_number(s) for s in self.species - ] + species = [self.periodic_table.get_atomic_number(s) for s in self.species] return np.array(species) def get_number_of_electrons(self) -> float: @@ -2150,9 +2092,7 @@ def get_number_of_electrons(self) -> float: curr_species = s.split("_")[0] else: curr_species = s - electrons.append( - self.periodic_table.get_atomic_number(curr_species) - ) + electrons.append(self.periodic_table.get_atomic_number(curr_species)) except KeyError: KeyError("Species {} is not known".format(s)) @@ -2279,9 +2219,7 @@ def get_area_in_atom_numbers( ) return topmost_sub_layer.n_atoms - def get_bond_lengths( - self, bond_factor: float = 1.5 - ) -> npt.NDArray[np.float64]: + def get_bond_lengths(self, bond_factor: float = 1.5) -> npt.NDArray[np.float64]: """ Parameters ---------- @@ -2298,9 +2236,7 @@ def get_bond_lengths( raise NotImplementedError # TODO write the below function - neighbouring_atoms = self.get_all_neighbouring_atoms( - bond_factor=bond_factor - ) + neighbouring_atoms = self.get_all_neighbouring_atoms(bond_factor=bond_factor) bond_lengths = [] for v in neighbouring_atoms.values(): @@ -2309,9 +2245,7 @@ def get_bond_lengths( bond_lengths = np.array(bond_lengths) return bond_lengths - def get_number_of_atom_layers( - self, threshold: float = 1e-2 - ) -> Tuple[dict, float]: + def get_number_of_atom_layers(self, threshold: float = 1e-2) -> Tuple[dict, float]: """ Return the number of atom layers. @@ -2378,15 +2312,11 @@ def get_spglib_cell(self): return : tuple (lattice vectors, frac coordinates of atoms, atomic numbers) """ - coordinates = utils.get_fractional_coords( - self.coords, self.lattice_vectors - ) + coordinates = utils.get_fractional_coords(self.coords, self.lattice_vectors) atom_number = [] for atom_name in self.species: - atom_number.append( - self.periodic_table.get_atomic_number(atom_name) - ) + atom_number.append(self.periodic_table.get_atomic_number(atom_name)) return (self.lattice_vectors, coordinates, atom_number) @@ -2454,10 +2384,7 @@ def get_cropping_indices( assert len(zlim) == 2, "zlim must have a lower and an upper bound" if auto_margin: margin = max( - [ - self.periodic_table.get_covalent_radius(s) - for s in self.species - ] + [self.periodic_table.get_covalent_radius(s) for s in self.species] ) xlim = xlim[0] - margin, xlim[1] + margin ylim = ylim[0] - margin, ylim[1] + margin @@ -2516,12 +2443,10 @@ def get_substrate_indices_from_parts( ) return None - index_of_geometry_parts_substrate = ( - self.geometry_part_descriptions.index(substrate_key) + index_of_geometry_parts_substrate = self.geometry_part_descriptions.index( + substrate_key ) - substrate_indices = self.geometry_parts[ - index_of_geometry_parts_substrate - ] + substrate_indices = self.geometry_parts[index_of_geometry_parts_substrate] substrate_indices = np.array(substrate_indices) return substrate_indices @@ -2536,9 +2461,7 @@ def get_indices_of_metal(self) -> npt.NDArray[np.int64]: Inidices of metallic atoms. """ - atom_inds = [ - self.periodic_table.get_atomic_number(s) for s in self.species - ] + atom_inds = [self.periodic_table.get_atomic_number(s) for s in self.species] metal_atoms = [] for i, ind in enumerate(atom_inds): if (ind > 18) or (ind in [3, 4, 11, 12, 13, 14]): @@ -2547,9 +2470,7 @@ def get_indices_of_metal(self) -> npt.NDArray[np.int64]: metal_atoms = np.array(metal_atoms) return metal_atoms - def get_indices_of_molecules( - self, substrate_species=None - ) -> npt.NDArray[np.int64]: + def get_indices_of_molecules(self, substrate_species=None) -> npt.NDArray[np.int64]: """ Fetches the indices of the substrate atoms, but it defaults to just returning all non-metal atom's indices! @@ -2563,9 +2484,7 @@ def get_indices_of_molecules( else: substrate_indices = self.get_indices_of_metal() - molecules = [ - i for i in range(self.n_atoms) if i not in substrate_indices - ] + molecules = [i for i in range(self.n_atoms) if i not in substrate_indices] molecules = np.array(molecules) return molecules @@ -2579,9 +2498,7 @@ def get_indices_of_species(self, species) -> npt.NDArray[np.int64]: if isinstance(species, str): species = [species] - species_indices = [ - i for i in range(self.n_atoms) if self.species[i] in species - ] + species_indices = [i for i in range(self.n_atoms) if self.species[i] in species] species_indices = np.array(species_indices) return species_indices @@ -2640,9 +2557,7 @@ def get_substrate_indices( return np.array(substrate_indices) - def get_adsorbate_indices( - self, primitive_substrate=None - ) -> npt.NDArray[np.int64]: + def get_adsorbate_indices(self, primitive_substrate=None) -> npt.NDArray[np.int64]: """ This method returns the indices of all atoms that are NOT part of the substrate. In a classical organic monolayer on a metal substrate these are simply all molecules. @@ -2660,20 +2575,14 @@ def get_adsorbate_indices( ) # invert: return np.array( - [ - i - for i in self.get_indices_of_all_atoms() - if i not in substrate_indices - ] + [i for i in self.get_indices_of_all_atoms() if i not in substrate_indices] ) def get_indices_of_all_atoms(self, species=None): if species is None: return [i for i in range(self.n_atoms)] else: - return [ - i for i in range(self.n_atoms) if self.species[i] == species - ] + return [i for i in range(self.n_atoms) if self.species[i] == species] def get_atom_layers_indices(self, threshold: float = 1e-2) -> dict: """ @@ -2709,9 +2618,7 @@ def get_atom_layers_indices(self, threshold: float = 1e-2) -> dict: return layers - def get_atom_layers_indices_by_height( - self, threshold: float = 1e-2 - ) -> dict: + def get_atom_layers_indices_by_height(self, threshold: float = 1e-2) -> dict: """ Similarly to get_atom_layers_indices this function returns a dict continaing info about height and the indices of atoms at that height. @@ -2813,9 +2720,7 @@ def get_principal_moments_of_inertia(self) -> npt.NDArray[np.float64]: ] center_of_mass = self.get_center_of_mass() - r_to_center_in_m = units.ANGSTROM_IN_METER * ( - self.coords - center_of_mass - ) + r_to_center_in_m = units.ANGSTROM_IN_METER * (self.coords - center_of_mass) ########### # begin: code based on ase/atoms.py: get_moments_of_inertia @@ -2857,9 +2762,7 @@ def get_distance_to_equivalent_atoms(self, other_geometry) -> np.float64: to coincide with the atoms of self. """ - _, dist = self.get_transformation_indices( - other_geometry, get_distances=True - ) + _, dist = self.get_transformation_indices(other_geometry, get_distances=True) return np.max(dist) def get_transformation_indices( @@ -2902,9 +2805,7 @@ def get_transformation_indices( # Replicate other geometry to also search in neighbouring cells if periodic_2D: other_geometry = other_geometry.get_periodic_replica((3, 3, 1)) - other_geometry.move_all_atoms_by_fractional_coords( - [-1 / 3.0, -1 / 3.0, 0] - ) + other_geometry.move_all_atoms_by_fractional_coords([-1 / 3.0, -1 / 3.0, 0]) # Get the atomic numbers of each geometry file: Later only compare matching atom types Z_values_1 = np.array( @@ -2912,10 +2813,7 @@ def get_transformation_indices( np.int64, ) Z_values_2 = np.array( - [ - self.periodic_table.get_atomic_number(s) - for s in other_geometry.species - ], + [self.periodic_table.get_atomic_number(s) for s in other_geometry.species], np.int64, ) unique_Z = set(Z_values_1) @@ -2973,9 +2871,7 @@ def is_equivalent( (3, 3), explicit_replications=[[-1, 0, 1], [-1, 0, 1]] ) else: - print( - "Non periodic structure. Ignoring check_neighbouring_cells" - ) + print("Non periodic structure. Ignoring check_neighbouring_cells") n_atoms = self.n_atoms n_atoms_geom = geom.n_atoms @@ -3051,9 +2947,7 @@ def is_equivalent_up_to_translation( ########################################################################### # Get Part of a Geometry # ########################################################################### - def get_atoms_by_indices( - self, atom_indices: npt.NDArray[np.int64] - ) -> "Geometry": + def get_atoms_by_indices(self, atom_indices: npt.NDArray[np.int64]) -> "Geometry": """ Return a geometry instance with the atoms listed in atom_indices @@ -3172,20 +3066,14 @@ def get_primitive_slab(self, surface, threshold=1e-6): for k in range(-shell, shell + 1): for l in range(-shell, shell + 1): - if ( - (abs(h) < shell) - and (abs(k) < shell) - and (abs(l) < shell) - ): + if (abs(h) < shell) and (abs(k) < shell) and (abs(l) < shell): continue - for new_species, coord in zip( - atomic_numbers, scaled_positions - ): + for new_species, coord in zip(atomic_numbers, scaled_positions): - new_coord = coord.dot(lattice) + np.array( - [h, k, l] - ).dot(lattice) + new_coord = coord.dot(lattice) + np.array([h, k, l]).dot( + lattice + ) frac_new_coord = utils.get_fractional_coords( new_coord, surface_lattice ) @@ -3218,12 +3106,8 @@ def get_primitive_slab(self, surface, threshold=1e-6): scaled_slab_lattice = np.array(slab.lattice_vectors) # break symmetry in z-direction scaled_slab_lattice[2, :] *= 2 - frac_coords = utils.get_fractional_coords( - slab.coords, scaled_slab_lattice - ) - species = [ - self.periodic_table.get_atomic_number(s) for s in slab.species - ] + frac_coords = utils.get_fractional_coords(slab.coords, scaled_slab_lattice) + species = [self.periodic_table.get_atomic_number(s) for s in slab.species] ( primitive_slab_lattice, @@ -3249,9 +3133,7 @@ def get_primitive_slab(self, surface, threshold=1e-6): primitive_slab.map_to_first_unit_cell() # Sanity check: primitive_slab must be reducable to the standard unit cell - check_lattice, _, _ = spglib.standardize_cell( - primitive_slab.get_spglib_cell() - ) + check_lattice, _, _ = spglib.standardize_cell(primitive_slab.get_spglib_cell()) assert np.allclose( check_lattice, lattice @@ -3295,17 +3177,13 @@ def get_slab( """ if surface is not None: - primitive_slab = self.get_primitive_slab( - surface, threshold=threshold - ) + primitive_slab = self.get_primitive_slab(surface, threshold=threshold) else: primitive_slab = self slab_layers = primitive_slab.get_number_of_atom_layers()[1] - replica = np.array( - [1, 1, int(np.ceil(layers / slab_layers))], dtype=np.int32 - ) + replica = np.array([1, 1, int(np.ceil(layers / slab_layers))], dtype=np.int32) replica[:2] = surface_replica slab_new = primitive_slab.get_periodic_replica(tuple(replica)) @@ -3319,13 +3197,9 @@ def get_slab( atom_indices_to_remove = [] for ind in range(n_layers_to_remove): - atom_indices_to_remove += slab_new_layers[atom_species][ - z_coords[ind] - ] + atom_indices_to_remove += slab_new_layers[atom_species][z_coords[ind]] - slab_new.remove_atoms( - np.array(atom_indices_to_remove, dtype=np.int32) - ) + slab_new.remove_atoms(np.array(atom_indices_to_remove, dtype=np.int32)) if vacuum_height is not None: slab_new.set_vacuum_height( @@ -3379,9 +3253,7 @@ def get_colliding_groups(self, distance_threshold=1e-2, check_3D=False): itertools.pairwise(e) for e in index_tuples ) ) - G.add_nodes_from( - set.union(*map(set, index_tuples)) - ) # adding single items + G.add_nodes_from(set.union(*map(set, index_tuples))) # adding single items atoms_to_remove = list(nx.connected_components(G)) return [sorted(list(s)) for s in atoms_to_remove] else: @@ -3449,9 +3321,7 @@ def get_periodic_replica( if explicit_replications: rep = explicit_replications - lattice_multipliers = [ - np.max(t) - np.min(t) for t in explicit_replications - ] + lattice_multipliers = [np.max(t) - np.min(t) for t in explicit_replications] else: rep = [list(range(r)) for r in replications] lattice_multipliers = replications @@ -3469,9 +3339,7 @@ def get_periodic_replica( frac_shift = np.zeros([1, 3]) frac_shift[0, : len(frac_offset)] = frac_offset offset = utils.get_cartesian_coords(frac_shift, lattice) - new_coords[insert_pos : insert_pos + self.n_atoms, :] = ( - self.coords + offset - ) + new_coords[insert_pos : insert_pos + self.n_atoms, :] = self.coords + offset insert_pos += self.n_atoms new_geom = self.__class__() @@ -3485,9 +3353,7 @@ def get_periodic_replica( self.original_lattice_vectors ) else: - new_geom.original_lattice_vectors = copy.deepcopy( - self.lattice_vectors - ) + new_geom.original_lattice_vectors = copy.deepcopy(self.lattice_vectors) for i, r in enumerate(lattice_multipliers): new_geom.lattice_vectors[i, :] *= r @@ -3510,9 +3376,7 @@ def scan_line(line_index, matrix, already_scanned_lines_indices): already_scanned_lines_indices.append(line_index) line = matrix[line_index] links = np.nonzero(line)[0] - links = [ - l for l in links if l not in already_scanned_lines_indices - ] + links = [l for l in links if l not in already_scanned_lines_indices] return links, already_scanned_lines_indices molecules_indices_sets = [] @@ -3547,9 +3411,7 @@ def scan_line(line_index, matrix, already_scanned_lines_indices): molecules = [] for molecule_indices in molecules_indices_sets: complementary_indices = [ - x - for x in self.get_indices_of_all_atoms() - if x not in molecule_indices + x for x in self.get_indices_of_all_atoms() if x not in molecule_indices ] g = deepcopy(self) g.remove_atoms(np.array(complementary_indices)) @@ -3690,9 +3552,7 @@ def check_symmetry( # apply transformation symm_geometry = copy.deepcopy(self) - symm_geometry.transform_fractional( - R, np.array([0, 0, 0]), self.lattice_vectors - ) + symm_geometry.transform_fractional(R, np.array([0, 0, 0]), self.lattice_vectors) symm_geometry.move_all_atoms_by_fractional_coords(t) # prevent problems if the center is very close to the edge @@ -3921,15 +3781,12 @@ def visualise( species = [orig_species[i] for i in inds] n_atoms = len(species) circlesize = [ - self.periodic_table.get_covalent_radius(s) * atom_scale - for s in species + self.periodic_table.get_covalent_radius(s) * atom_scale for s in species ] # Specify atom colors by value list or default atom colors if value_list is None and color_list is None: - colors = [ - self.periodic_table.get_species_colors(s) for s in species - ] + colors = [self.periodic_table.get_species_colors(s) for s in species] colors = np.array(colors) elif color_list is not None: if len(color_list) == 1: @@ -4011,9 +3868,7 @@ def visualise( "scalar (float or int) or a list with length equal " "to the number of atoms" ) - brightness_modifier = [ - brightness_modifier[i] for i in orig_inds - ] + brightness_modifier = [brightness_modifier[i] for i in orig_inds] assert ( len(brightness_modifier) == n_atoms @@ -4025,9 +3880,7 @@ def visualise( ) hls_color[1] += brightness_modifier[i] * (1 - hls_color[1]) hls_color = np.clip(hls_color, 0, 1) - colors[i, :] = colorsys.hls_to_rgb( - *hls_color - ) # pyright:ignore + colors[i, :] = colorsys.hls_to_rgb(*hls_color) # pyright:ignore else: brightness_modifier = np.zeros(n_atoms) @@ -4078,9 +3931,7 @@ def visualise( zorder += 2 elif plot_method == "wireframe": - raise NotImplementedError( - "self.visualize_wireframe is not implemented" - ) + raise NotImplementedError("self.visualize_wireframe is not implemented") # self.visualizeWireframe(coords=coords, species=species, # linewidth=linewidth, min_zorder=min_zorder, # axes=axes, alpha=alpha, **kwargs) @@ -4119,18 +3970,10 @@ def visualise( if auto_limits: if print_lattice_vectors: - xmin_lattice = ( - np.min(cropped_geom.lattice_vectors[:, axes[0]]) - 1 - ) - xmax_lattice = ( - np.max(cropped_geom.lattice_vectors[:, axes[0]]) + 1 - ) - ymin_lattice = ( - np.min(cropped_geom.lattice_vectors[:, axes[1]]) - 1 - ) - ymax_lattice = ( - np.max(cropped_geom.lattice_vectors[:, axes[1]]) + 1 - ) + xmin_lattice = np.min(cropped_geom.lattice_vectors[:, axes[0]]) - 1 + xmax_lattice = np.max(cropped_geom.lattice_vectors[:, axes[0]]) + 1 + ymin_lattice = np.min(cropped_geom.lattice_vectors[:, axes[1]]) - 1 + ymax_lattice = np.max(cropped_geom.lattice_vectors[:, axes[1]]) + 1 ax_xmin = min(xmin, xmin_lattice) ax_xmax = max(xmax, xmax_lattice) @@ -4231,9 +4074,7 @@ def _get_collision_indices(self, atom_distances, distance_threshold=1e-2): colliding_atoms_list.append(j) return [ - (k, ind) - for k, value in colliding_atoms_dict.items() - for ind in list(value) + (k, ind) for k, value in colliding_atoms_dict.items() for ind in list(value) ] @@ -4288,9 +4129,7 @@ def parse(self, text): # PARTS defines parts of the geometry that can later on be treated separately. # intended for distinction between different molecules and substrate elif "PARTS" in line: - part_definition = ast.literal_eval( - " ".join(line.split()[2:]) - ) + part_definition = ast.literal_eval(" ".join(line.split()[2:])) if isinstance(part_definition, dict): for k, v in part_definition.items(): self.geometry_part_descriptions.append(k) @@ -4332,9 +4171,7 @@ def parse(self, text): self.multipoles.append(multipole) # extract lines concerning symmetry params if "symmetry_n_params" in line: - self.n_symmetry_params = [ - int(x) for x in list(line.split())[1:] - ] + self.n_symmetry_params = [int(x) for x in list(line.split())[1:]] if "symmetry_params" in line: self.symmetry_params = list(line.split())[1:] if "symmetry_lv" in line: @@ -4365,9 +4202,7 @@ def parse(self, text): elif "initial_charge" in line: charge = float(line.split()[1]) elif "constrain_relaxation" in line: - directions = line.split("constrain_relaxation")[ - 1 - ].lower() + directions = line.split("constrain_relaxation")[1].lower() if ".true." in directions: constraints = [True, True, True] if "x" in directions: @@ -4444,9 +4279,7 @@ def parse(self, text): # convert to cartesian coordinates if is_fractional: - self.coords = utils.get_cartesian_coords( - self.coords, self.lattice_vectors - ) + self.coords = utils.get_cartesian_coords(self.coords, self.lattice_vectors) self.read_as_fractional_coords = True self.constrain_relax = np.array(self.constrain_relax) @@ -4455,9 +4288,7 @@ def parse(self, text): # update Part list and add all atoms that are not yet in the list if len(self.geometry_parts) > 0: - already_indexed = list( - itertools.chain.from_iterable(self.geometry_parts) - ) + already_indexed = list(itertools.chain.from_iterable(self.geometry_parts)) if len(already_indexed) < self.n_atoms: additional_indices = [ i for i in range(self.n_atoms) if i not in already_indexed @@ -4472,18 +4303,12 @@ def get_text(self, is_fractional=None): """ if is_fractional is None: - if ( - hasattr(self, "symmetry_params") - and self.symmetry_params is not None - ): + if hasattr(self, "symmetry_params") and self.symmetry_params is not None: is_fractional = True else: is_fractional = False elif is_fractional is False: - if ( - hasattr(self, "symmetry_params") - and self.symmetry_params is not None - ): + if hasattr(self, "symmetry_params") and self.symmetry_params is not None: warnings.warn( "The symmetry parameters of your geometry will be lost. " "To keep them set is_fractional to True" @@ -4506,9 +4331,7 @@ def get_text(self, is_fractional=None): if hasattr(self, "geometry_parts") and (len(self.geometry_parts) > 0): part_string = "# PARTS " part_dict = {} - for part, name in zip( - self.geometry_parts, self.geometry_part_descriptions - ): + for part, name in zip(self.geometry_parts, self.geometry_part_descriptions): if not name == "rest": if name not in part_dict: part_dict[name] = part @@ -4521,9 +4344,7 @@ def get_text(self, is_fractional=None): text += part_string if hasattr(self, "vacuum_level") and (self.vacuum_level is not None): - text += ( - "set_vacuum_level {: 15.10f}".format(self.vacuum_level) + "\n" - ) + text += "set_vacuum_level {: 15.10f}".format(self.vacuum_level) + "\n" # Lattice vector relaxation constraints constrain_vectors = np.zeros([3, 3], dtype=bool) @@ -4552,14 +4373,10 @@ def get_text(self, is_fractional=None): # write down the homogeneous field if any is present if self.homogeneous_field is not None: - text += "homogeneous_field {} {} {}\n".format( - *self.homogeneous_field - ) + text += "homogeneous_field {} {} {}\n".format(*self.homogeneous_field) if is_fractional: - coords = utils.get_fractional_coords( - self.coords, self.lattice_vectors - ) + coords = utils.get_fractional_coords(self.coords, self.lattice_vectors) line_start = "atom_frac" else: coords = self.coords @@ -4588,20 +4405,10 @@ def get_text(self, is_fractional=None): text += "constrain_relaxation y\n" if self.constrain_relax[n][2]: text += "constrain_relaxation z\n" - if ( - not len(self.initial_charge) == 0 - and self.initial_charge[n] != 0.0 - ): - text += "initial_charge {: .6f}\n".format( - self.initial_charge[n] - ) - if ( - not len(self.initial_moment) == 0 - and self.initial_moment[n] != 0.0 - ): - text += "initial_moment {: .6f}\n".format( - self.initial_moment[n] - ) + if not len(self.initial_charge) == 0 and self.initial_charge[n] != 0.0: + text += "initial_charge {: .6f}\n".format(self.initial_charge[n]) + if not len(self.initial_moment) == 0 and self.initial_moment[n] != 0.0: + text += "initial_moment {: .6f}\n".format(self.initial_moment[n]) if ( hasattr(self, "external_force") and np.linalg.norm(self.external_force[n]) != 0.0 @@ -4611,10 +4418,7 @@ def get_text(self, is_fractional=None): self.external_force[n][1], self.external_force[n][2], ) - if ( - hasattr(self, "calculate_friction") - and self.calculate_friction[n] - ): + if hasattr(self, "calculate_friction") and self.calculate_friction[n]: text += "calculate_friction .true.\n" if hasattr(self, "hessian") and self.hessian is not None: @@ -4622,9 +4426,7 @@ def get_text(self, is_fractional=None): for i in range(self.n_atoms): for j in range(self.n_atoms): s = "hessian_block {} {}".format(i + 1, j + 1) - H_block = self.hessian[ - 3 * i : 3 * (i + 1), 3 * j : 3 * (j + 1) - ] + H_block = self.hessian[3 * i : 3 * (i + 1), 3 * j : 3 * (j + 1)] # max_diff = np.max(np.abs(H_block-H_block.T)) # print("Max diff in H: {:.3f}".format(max_diff)) for h in H_block.flatten(): @@ -4796,9 +4598,7 @@ def parse(self, text): Q = P if len(typenames) > 0: for k in range(Q.shape[0]): - self.species.append( - typenames[np.min(np.where(elementid > k)[0])] - ) + self.species.append(typenames[np.min(np.where(elementid > k)[0])]) self.lattice_vectors = vecs self.coords = Q @@ -4838,9 +4638,7 @@ def get_text(self, comment="POSCAR file written by Geometry.py"): n_of_species[species] = curr_species_coords.shape[0] # R.B. relax constraints - curr_species_constrain_relax = self.constrain_relax[ - is_right_species, : - ] + curr_species_constrain_relax = self.constrain_relax[is_right_species, :] relax_constraints[species] = curr_species_constrain_relax ## R.B. relax constraints end @@ -4912,20 +4710,16 @@ def parse(self, text): # split_line = line.split('Lattice')[1] split_line = line.split('"')[1] - lattice_parameters = re.findall("\d+\.\d+", split_line) + lattice_parameters = re.findall(r"\d+\.\d+", split_line) if len(lattice_parameters) == 9: - lattice_parameters = np.array( - lattice_parameters, dtype=np.float64 - ) - self.lattice_vectors = np.reshape( - lattice_parameters, (3, 3) - ) + lattice_parameters = np.array(lattice_parameters, dtype=np.float64) + self.lattice_vectors = np.reshape(lattice_parameters, (3, 3)) if "energy" in line: split_line = line.split("energy")[1] - energy = re.findall("-?[\d.]+(?:e-?\d+)?", split_line) + energy = re.findall(r"-?[\d.]+(?:e-?\d+)?", split_line) if len(energy) > 0: self.energy = np.float64(energy[0]) @@ -4943,7 +4737,7 @@ def parse(self, text): for l in split_line: n_words_new = len(re.findall("[a-zA-Z]+", l)) - n_floats_new = len(re.findall("-?[\d.]+(?:e-?\d+)?", l)) + n_floats_new = len(re.findall(r"-?[\d.]+(?:e-?\d+)?", l)) if n_words_new == 1 and n_floats_new == 1: n_floats += 1 @@ -4998,10 +4792,7 @@ def get_text(self, comment="XYZ file written by Geometry.py"): element = self.species[index] x, y, z = self.coords[index] text += ( - "{} {:-4.8f} {:-4.8f} {:-4.8f}".format( - element, x, y, z - ) - + "\n" + "{} {:-4.8f} {:-4.8f} {:-4.8f}".format(element, x, y, z) + "\n" ) return text diff --git a/dfttools/output.py b/dfttools/output.py index 0a25244..4871c57 100644 --- a/dfttools/output.py +++ b/dfttools/output.py @@ -1,5 +1,5 @@ import warnings -from typing import Tuple, Union +from typing import List, Tuple, Union import numpy as np import numpy.typing as npt @@ -8,6 +8,8 @@ import dfttools.utils.file_utils as fu from dfttools.base_parser import BaseParser from dfttools.geometry import AimsGeometry +from dfttools.parameters import AimsControl +from dfttools.utils.exceptions import ItemNotFoundError class Output(BaseParser): @@ -23,8 +25,8 @@ class Output(BaseParser): Attributes ---------- - supported_files - lines + supported_files : List[str] + List of supported file types. Examples -------- @@ -34,26 +36,19 @@ def __init__(self, aims_out: str = "aims.out"): self.lines = self._file_contents["aims_out"] """ - # FHI-aims, ... - _supported_files = ["aims_out", "elsi_out"] - def __init__(self, **kwargs: str): - super().__init__(self._supported_files, **kwargs) + # FHI-aims, ELSI, ... + self._supported_files = ["aims_out", "elsi_out"] + # Check that only supported files were provided for val in kwargs.keys(): fu.check_required_files(self._supported_files, val) - @property - def supported_files(self): - return self._supported_files + super().__init__(self._supported_files, **kwargs) @property - def lines(self): - return self._lines - - @lines.setter - def lines(self, value): - self._lines = value + def supported_files(self) -> List[str]: + return self._supported_files class AimsOutput(Output): @@ -64,26 +59,24 @@ class AimsOutput(Output): Attributes ---------- - lines - aims_out : str - The path to the aims.out file + lines : List[str] + The contents of the aims.out file. + path : str + The path to the aims.out file. + + Examples + -------- + >>> ao = AimsOutput(aims_out="./aims.out") """ def __init__(self, aims_out: str = "aims.out"): super().__init__(aims_out=aims_out) self.lines = self.file_contents["aims_out"] + self.path = self.file_paths["aims_out"] # Check if the aims.out file was provided fu.check_required_files(self._supported_files, "aims_out") - # Enforce the the first file parsed in self.file_paths is the aims.out file - if list(self.file_paths.keys())[0] != "aims_out": - raise ValueError( - "The aims.out file must be the first file provided." - ) - - self.aims_out_path = self.file_paths["aims_out"] - def get_number_of_atoms(self) -> int: """ Return number of atoms in unit cell @@ -104,28 +97,28 @@ def get_number_of_atoms(self) -> int: return n_atoms - def get_geometry(self): + def get_geometry(self) -> AimsGeometry: """ - Extract the geometry file from the aims output and return it as a - Geometry object + Extract the geometry file from the aims output and return it as a Geometry + object Returns ------- - geometry + AimsGeometry Geometry object """ + geometry_lines = [] - geometry_file_reached = False for l in self.lines: if ( "Parsing geometry.in (first pass over file, find array dimensions only)." in l ): - geometry_file_reached = True - if geometry_file_reached: geometry_lines.append(l) + if "Completed first pass over input file geometry.in ." in l: break + geometry_text = "\n".join(geometry_lines[6:-3]) geometry = AimsGeometry() geometry.parse(geometry_text) @@ -185,16 +178,17 @@ def get_geometry_steps_of_optimisation(self, n_occurrence=None) -> list: return geometry_files - def get_parameters(self) -> str: + def get_parameters(self) -> AimsControl: """ - Extract the control file from the aims output and return it as a - parameters object + Extract the control file from the aims output and return it as an AimsControl + object Returns ------- - str - The control file as a string + AimsControl + AimsControl object """ + control_lines = [] control_file_reached = False for l in self.lines: @@ -203,14 +197,18 @@ def get_parameters(self) -> str: in l ): control_file_reached = True + if control_file_reached: control_lines.append(l) + if "Completed first pass over input file control.in ." in l: break - control_text = "\n".join(control_lines[6:-3]) + ac = AimsControl(parse_file=False) + ac.lines = control_lines[6:-3] + ac.path = "" - return control_text + return ac def check_exit_normal(self) -> bool: """ @@ -257,31 +255,31 @@ def get_time_per_scf(self) -> npt.NDArray[np.float64]: ############################################################################### def _get_energy( self, - n_occurrence, - search_string, - token_nr=None, - energy_invalid_indicator=None, - energy_valid_indicator=None, + n_occurrence: Union[int, None], + search_string: str, + token_nr: Union[int, None] = None, + energy_invalid_indicator: Union[list, int, str, None] = None, + energy_valid_indicator: Union[list, int, str, None] = None, ) -> Union[float, npt.NDArray[np.float64]]: """ Generalized energy parser Parameters ---------- - n_occurrence : int or None + n_occurrence : Union[int, None] If there are multiple energies in a file (e.g. during a geometry optimization) this parameters allows to select which energy is returned. If set to -1 the last one is returned (e.g. result of a geometry optimization), if set to None, all values will be returned as a numpy array. search_string : str string to be searched in the output file - token_nr : int + token_nr : Union[int, None] take n-th element of found line - energy_invalid_indicator + energy_invalid_indicator : Union[list, int, str, None] = None In some cases an energy value can be found in the output file although it is invalid -> ignore this value example: a line having 'restarting mixer to attempt better convergence' indicates that this scf-cycle leads to invalid energies - param energy_valid_indicator + param energy_valid_indicator : Union[list, int, str, None] = None In some cases the value is only valid after a certain phrase is used -> ignore all values before example: The post-SCF vdW energy correction is 0.00 until the SCF is converged. @@ -294,28 +292,23 @@ def _get_energy( skip_next_energy = ( False # only relevant if energy_invalid_indicator is not None ) - use_next_energy = ( - False # only relevant if energy_valid_indicator is not None - ) + use_next_energy = False # only relevant if energy_valid_indicator is not None assert not (skip_next_energy and use_next_energy), ( "AIMSOutput._get_energy: usage of skip_next_energy and " "use_next_energy at the same function call is undefined!" ) - # energy (in)valid indicator allows now for multiple values, if a list is provided. Otherwise, verything works out as before. + # energy (in)valid indicator allows now for multiple values, if a list is + # provided. Otherwise, everything works out as before. if energy_valid_indicator is not None and not isinstance( energy_valid_indicator, list ): - energy_valid_indicator = [ - energy_valid_indicator, - ] + energy_valid_indicator = [energy_valid_indicator] if energy_invalid_indicator is not None and not isinstance( energy_invalid_indicator, list ): - energy_invalid_indicator = [ - energy_invalid_indicator, - ] + energy_invalid_indicator = [energy_invalid_indicator] energies = [] @@ -345,9 +338,7 @@ def _get_energy( pass if len(energies) == 0: - raise ValueError( - f"Energy not found in aims.out file for {search_string}" - ) + raise ValueError(f"Energy not found in aims.out file for {search_string}") energies = np.array(energies) @@ -357,7 +348,7 @@ def _get_energy( return energies[n_occurrence] def get_change_of_total_energy( - self, n_occurrence=-1, energy_invalid_indicator=None + self, n_occurrence: Union[int, None] = -1, energy_invalid_indicator=None ) -> Union[float, npt.NDArray[np.float64]]: return self._get_energy( n_occurrence, @@ -727,7 +718,7 @@ def get_forces( all_force_values.append(np.array(force_values)) if len(all_force_values) == 0: - raise ValueError(f"Forces not found in {self.aims_out_path} file") + raise ValueError(f"Forces not found in {self.path} file") if n_occurrence is None: return np.array(all_force_values) @@ -890,8 +881,8 @@ def get_i_scf_conv_acc(self) -> dict: if len(spl) > 1: if "Begin self-consistency iteration #" in line: # save the scf iteration number - self.scf_conv_acc_params["scf_iter"][current_scf_iter] = ( - int(spl[-1]) + self.scf_conv_acc_params["scf_iter"][current_scf_iter] = int( + spl[-1] ) # use a counter rather than reading the SCF iteration number as it # resets upon re-initialisation and for each geometry opt step @@ -975,9 +966,7 @@ def get_n_initial_ks_states(self, include_spin_polarised=True) -> int: The number of kohn-sham states """ - target_line = ( - "State Occupation Eigenvalue [Ha] Eigenvalue [eV]" - ) + target_line = "State Occupation Eigenvalue [Ha] Eigenvalue [eV]" init_ev_start = 0 n_ks_states = 0 @@ -1029,18 +1018,15 @@ def _get_ks_states(self, ev_start, eigenvalues, scf_iter, n_ks_states): The number of KS states to save. """ - for i, line in enumerate( - self.lines[ev_start : ev_start + n_ks_states] - ): + for i, line in enumerate(self.lines[ev_start : ev_start + n_ks_states]): values = line.split() eigenvalues["state"][scf_iter][i] = int(values[0]) eigenvalues["occupation"][scf_iter][i] = float(values[1]) eigenvalues["eigenvalue_eV"][scf_iter][i] = float(values[3]) - # return eigenvalues - def get_all_ks_eigenvalues(self) -> Union[dict, Tuple[dict, dict]]: - """Get all Kohn-Sham eigenvalues from a calculation. + """ + Get all Kohn-Sham eigenvalues from a calculation. Returns ------- @@ -1055,64 +1041,55 @@ def get_all_ks_eigenvalues(self) -> Union[dict, Tuple[dict, dict]]: Raises ------ + ItemNotFoundError + the 'output_level full' keyword was not found in the calculation ValueError - the calculation was not spin polarised + could not determine if the calculation was spin polarised """ # Check if the calculation was spin polarised spin_polarised = self.check_spin_polarised() + # Check if output_level full was specified in the calculation + required_item = ("output_level", "full") + if required_item not in self.get_parameters().get_keywords().items(): + raise ItemNotFoundError(required_item) + # Get the number of KS states and scf iterations # Add 2 to SCF iters as if output_level full is specified, FHI-aims prints the # KS states once before the SCF starts and once after it finishes n_scf_iters = self.get_n_scf_iters() + 2 - n_ks_states = self.get_n_initial_ks_states( - include_spin_polarised=False - ) + n_ks_states = self.get_n_initial_ks_states(include_spin_polarised=False) # Parse line to find the start of the KS eigenvalues - target_line = ( - "State Occupation Eigenvalue [Ha] Eigenvalue [eV]" - ) + target_line = "State Occupation Eigenvalue [Ha] Eigenvalue [eV]" if not spin_polarised: eigenvalues = { "state": np.zeros((n_scf_iters, n_ks_states), dtype=int), - "occupation": np.zeros( - (n_scf_iters, n_ks_states), dtype=float - ), - "eigenvalue_eV": np.zeros( - (n_scf_iters, n_ks_states), dtype=float - ), + "occupation": np.zeros((n_scf_iters, n_ks_states), dtype=float), + "eigenvalue_eV": np.zeros((n_scf_iters, n_ks_states), dtype=float), } n = 0 # Count the current SCF iteration for i, line in enumerate(self.lines): if target_line in line: - n += 1 # Get the KS states from this line until the next empty line - self._get_ks_states(i, eigenvalues, n, n_ks_states) + self._get_ks_states(i + 1, eigenvalues, n, n_ks_states) + n += 1 return eigenvalues elif spin_polarised: su_eigenvalues = { "state": np.zeros((n_scf_iters, n_ks_states), dtype=int), - "occupation": np.zeros( - (n_scf_iters, n_ks_states), dtype=float - ), - "eigenvalue_eV": np.zeros( - (n_scf_iters, n_ks_states), dtype=float - ), + "occupation": np.zeros((n_scf_iters, n_ks_states), dtype=float), + "eigenvalue_eV": np.zeros((n_scf_iters, n_ks_states), dtype=float), } sd_eigenvalues = { "state": np.zeros((n_scf_iters, n_ks_states), dtype=int), - "occupation": np.zeros( - (n_scf_iters, n_ks_states), dtype=float - ), - "eigenvalue_eV": np.zeros( - (n_scf_iters, n_ks_states), dtype=float - ), + "occupation": np.zeros((n_scf_iters, n_ks_states), dtype=float), + "eigenvalue_eV": np.zeros((n_scf_iters, n_ks_states), dtype=float), } # Count the number of SCF iterations for each spin channel @@ -1129,25 +1106,19 @@ def get_all_ks_eigenvalues(self) -> Union[dict, Tuple[dict, dict]]: # The spin-up line is two lines above the target line if self.lines[i - 2].strip() == "Spin-up eigenvalues:": # Get the KS states from this line until the next empty line - self._get_ks_states( - i + 1, su_eigenvalues, up_n, n_ks_states - ) + self._get_ks_states(i + 1, su_eigenvalues, up_n, n_ks_states) up_n += 1 # The spin-down line is two lines above the target line if self.lines[i - 2].strip() == "Spin-down eigenvalues:": # Get the KS states from this line until the next empty line - self._get_ks_states( - i + 1, sd_eigenvalues, down_n, n_ks_states - ) + self._get_ks_states(i + 1, sd_eigenvalues, down_n, n_ks_states) down_n += 1 return su_eigenvalues, sd_eigenvalues else: - raise ValueError( - "Could not determine if calculation was spin polarised." - ) + raise ValueError("Could not determine if calculation was spin polarised.") def get_final_ks_eigenvalues(self) -> Union[dict, Tuple[dict, dict]]: """Get the final Kohn-Sham eigenvalues from a calculation. @@ -1167,27 +1138,29 @@ def get_final_ks_eigenvalues(self) -> Union[dict, Tuple[dict, dict]]: ------ ValueError the calculation was not spin polarised + ValueError + the final KS states were not found in aims.out file """ # Check if the calculation was spin polarised spin_polarised = self.check_spin_polarised() # Get the number of KS states - n_ks_states = self.get_n_initial_ks_states( - include_spin_polarised=False - ) + n_ks_states = self.get_n_initial_ks_states(include_spin_polarised=False) # Parse line to find the start of the KS eigenvalues - target_line = ( - "State Occupation Eigenvalue [Ha] Eigenvalue [eV]" - ) + target_line = "State Occupation Eigenvalue [Ha] Eigenvalue [eV]" # Iterate backwards from end of aims.out to find the final KS eigenvalues + final_ev_start = None for i, line in enumerate(reversed(self.lines)): if target_line == line.strip(): final_ev_start = -i break + if final_ev_start is None: + raise ValueError("Final KS states not found in aims.out file.") + if not spin_polarised: eigenvalues = { "state": np.zeros((1, n_ks_states), dtype=int), @@ -1211,9 +1184,7 @@ def get_final_ks_eigenvalues(self) -> Union[dict, Tuple[dict, dict]]: self._get_ks_states(final_ev_start, sd_eigenvalues, 0, n_ks_states) # Go back one more target line to get the spin-up states - for i, line in enumerate( - reversed(self.lines[: final_ev_start - 1]) - ): + for i, line in enumerate(reversed(self.lines[: final_ev_start - 1])): if target_line == line.strip(): final_ev_start += -i - 1 break @@ -1223,9 +1194,7 @@ def get_final_ks_eigenvalues(self) -> Union[dict, Tuple[dict, dict]]: return su_eigenvalues, sd_eigenvalues else: - raise ValueError( - "Could not determine if calculation was spin polarised." - ) + raise ValueError("Could not determine if calculation was spin polarised.") def get_pert_soc_ks_eigenvalues(self) -> dict: """ @@ -1235,6 +1204,11 @@ def get_pert_soc_ks_eigenvalues(self) -> dict: ------- dict The perturbative SOC kohn-sham eigenvalues + + Raises + ------ + ValueError + the final KS states were not found in aims.out file """ # Get the number of KS states @@ -1245,15 +1219,17 @@ def get_pert_soc_ks_eigenvalues(self) -> dict: " Eigenvalue [eV] Level Spacing [eV]" ) - print(target_line) - # Iterate backwards from end of aims.out to find the perturbative SOC # eigenvalues + final_ev_start = None for i, line in enumerate(reversed(self.lines)): if target_line == line.strip(): final_ev_start = -i break + if final_ev_start is None: + raise ValueError("Final KS states not found in aims.out file.") + eigenvalues = { "state": np.zeros(n_ks_states, dtype=int), "occupation": np.zeros(n_ks_states, dtype=float), @@ -1342,9 +1318,7 @@ def read_elsi_as_csc( # Get the row index start = end + self.n_non_zero * 4 - row_idx = np.array( - np.frombuffer(self.lines[end:start], dtype=np.int32) - ) + row_idx = np.array(np.frombuffer(self.lines[end:start], dtype=np.int32)) row_idx -= 1 if header[2] == 0: # real diff --git a/dfttools/parameters.py b/dfttools/parameters.py index a8571d3..d99d8d4 100644 --- a/dfttools/parameters.py +++ b/dfttools/parameters.py @@ -8,67 +8,58 @@ class Parameters(BaseParser): """ Handle files that control parameters for electronic structure calculations. - Parameters + If contributing a new parser, please subclass this class, add the new supported file + type to _supported_files, call the super().__init__ method, include the new file + type as a kwarg in the super().__init__ call. Optionally include the self.lines line + in examples. + + ... + + Attributes ---------- _supported_files : list List of supported file types. - file_paths : dict - The paths to the files to be parsed. - file_contents : dict - The contents of the files to be parsed. """ - # FHI-aims, ... - _supported_files = ["control_in"] - - def __init__(self, **kwargs): - super().__init__(self._supported_files, **kwargs) + def __init__(self, **kwargs: str): + # FHI-aims, ... + self._supported_files = ["control_in"] + # Check that only supported files were provided for val in kwargs.keys(): fu.check_required_files(self._supported_files, val) - @property - def supported_files(self): - return self._supported_files - - @property - def lines(self): - return self._lines - - @lines.setter - def lines(self, lines: List[str]): - self._lines = lines + super().__init__(self._supported_files, **kwargs) @property - def path(self): - return self._file_path - - @path.setter - def path(self, file_path: str): - self._file_path = file_path + def supported_files(self) -> List[str]: + return self._supported_files class AimsControl(Parameters): """ FHI-aims control file parser. + ... + Attributes ---------- - lines - _supported_files : list - List of supported file types. - file_paths : dict - The paths to the files to be parsed. - file_contents : dict - The contents of the files to be parsed. + lines : List[str] + The contents of the control.in file. + path : str + The path to the control.in file. """ - def __init__(self, control_in: str = "control.in") -> None: - super().__init__(control_in=control_in) - self.lines = self.file_contents["control_in"] - self.path = self.file_paths["control_in"] + def __init__(self, control_in: str = "control.in", parse_file: bool = True): + if parse_file: + super().__init__(control_in=control_in) + self.lines = self.file_contents["control_in"] + self.path = self.file_paths["control_in"] + + # Check if the control.in file was provided + fu.check_required_files(self._supported_files, "control_in") - def add_control_keywords(self, **kwargs: dict) -> None: + def add_keywords(self, **kwargs: dict) -> None: """ Add keywords to the control.in file. @@ -84,7 +75,7 @@ def add_control_keywords(self, **kwargs: dict) -> None: # TODO finish this raise NotImplementedError - def remove_control_keywords(self, *args: str) -> None: + def remove_keywords(self, *args: str) -> None: """ Remove keywords from the control.in file. @@ -101,3 +92,29 @@ def remove_control_keywords(self, *args: str) -> None: with open(self.path, "w") as f: f.writelines(self.lines) + + def get_keywords(self) -> dict: + """ + Get the keywords from the control.in file. + + Returns + ------- + dict + A dictionary of the keywords in the control.in file. + """ + + keywords = {} + + for line in self.lines: + spl = line.split() + + if "#" * 80 in line: + break + + if len(spl) > 0 and spl[0] != "#": + if len(spl) == 1: + keywords[spl[0]] = None + else: + keywords[spl[0]] = " ".join(spl[1:]) + + return keywords diff --git a/dfttools/utils/exceptions.py b/dfttools/utils/exceptions.py new file mode 100644 index 0000000..20d8110 --- /dev/null +++ b/dfttools/utils/exceptions.py @@ -0,0 +1,5 @@ +class ItemNotFoundError(Exception): + def __init__(self, item): + self.key = item[0] + self.value = item[1] + super().__init__(f"'{self.key}': '{self.value}' item not found in dictionary") diff --git a/dfttools/utils/file_utils.py b/dfttools/utils/file_utils.py index 8c351b9..e066faa 100644 --- a/dfttools/utils/file_utils.py +++ b/dfttools/utils/file_utils.py @@ -1,3 +1,74 @@ +from pathlib import Path +from typing import Union + +from click import edit + + +def aims_bin_path_prompt(change_bin: Union[bool, str], save_dir) -> str: + """ + Prompt the user to enter the path to the FHI-aims binary, if not already found in + .aims_bin_loc.txt + + If it is found in .aims_bin_loc.txt, the path will be read from there, unless + change_bin is True, in which case the user will be prompted to enter the path again. + + Parameters + ---------- + change_bin : Union[bool, str] + whether the user wants to change the binary path. If str == "change_bin", the + user will be prompted to enter the path to the binary again. + save_dir : str + the directory to save or look for the .aims_bin_loc.txt file + + Returns + ------- + binary : str + path to the location of the FHI-aims binary + """ + + marker = ( + "\n# Enter the path to the FHI-aims binary above this line\n" + "# Ensure that the full absolute path is provided" + ) + + def write_bin(): + binary = edit(marker) + binary = str(binary).split()[0] + if binary is not None: + if Path(binary).is_file(): + with open(f"{save_dir}/.aims_bin_loc.txt", "w+") as f: + f.write(binary) + + else: + raise FileNotFoundError( + "the path to the FHI-aims binary does not exist" + ) + + else: + raise FileNotFoundError( + "the path to the FHI-aims binary could not be found" + ) + + return binary + + if ( + not Path(f"{save_dir}/.aims_bin_loc.txt").is_file() + or change_bin == "change_bin" + ): + binary = write_bin() + + else: + # Parse the binary path from .aims_bin_loc.txt + with open(f"{save_dir}/.aims_bin_loc.txt", "r") as f: + binary = f.readlines()[0] + + # Check if the binary path exists and is a file + if not Path(binary).is_file(): + binary = write_bin() + + return binary + + def check_required_files(files: list, *args: str, any=False) -> None: """ Raise an error if a necessary file was not given. diff --git a/poetry.lock b/poetry.lock index 9ca3d76..9330e77 100644 --- a/poetry.lock +++ b/poetry.lock @@ -43,15 +43,34 @@ docs = ["pillow", "sphinx", "sphinx-rtd-theme"] spglib = ["spglib (>=1.9)"] test = ["pytest (>=7.0.0)", "pytest-xdist (>=2.1.0)"] +[[package]] +name = "attrs" +version = "24.2.0" +description = "Classes Without Boilerplate" +optional = false +python-versions = ">=3.7" +files = [ + {file = "attrs-24.2.0-py3-none-any.whl", hash = "sha256:81921eb96de3191c8258c199618104dd27ac608d9366f5e35d011eae1867ede2"}, + {file = "attrs-24.2.0.tar.gz", hash = "sha256:5cfb1b9148b5b086569baec03f20d7b6bf3bcacc9a42bebf87ffaaca362f6346"}, +] + +[package.extras] +benchmark = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-codspeed", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +cov = ["cloudpickle", "coverage[toml] (>=5.3)", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +dev = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pre-commit", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier (<24.7)"] +tests = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +tests-mypy = ["mypy (>=1.11.1)", "pytest-mypy-plugins"] + [[package]] name = "babel" -version = "2.15.0" +version = "2.16.0" description = "Internationalization utilities" optional = false python-versions = ">=3.8" files = [ - {file = "Babel-2.15.0-py3-none-any.whl", hash = "sha256:08706bdad8d0a3413266ab61bd6c34d0c28d6e1e7badf40a2cebe67644e2e1fb"}, - {file = "babel-2.15.0.tar.gz", hash = "sha256:8daf0e265d05768bc6c7a314cf1321e9a123afc328cc635c18622a2f30a04413"}, + {file = "babel-2.16.0-py3-none-any.whl", hash = "sha256:368b5b98b37c06b7daf6696391c3240c938b37767d4584413e8438c5c435fa8b"}, + {file = "babel-2.16.0.tar.gz", hash = "sha256:d1f3554ca26605fe173f3de0c65f750f5a42f924499bf134de6423582298e316"}, ] [package.extras] @@ -80,114 +99,143 @@ lxml = ["lxml"] [[package]] name = "certifi" -version = "2024.7.4" +version = "2024.8.30" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2024.7.4-py3-none-any.whl", hash = "sha256:c198e21b1289c2ab85ee4e67bb4b4ef3ead0892059901a8d5b622f24a1101e90"}, - {file = "certifi-2024.7.4.tar.gz", hash = "sha256:5a1e7645bc0ec61a09e26c36f6106dd4cf40c6db3a1fb6352b0244e7fb057c7b"}, + {file = "certifi-2024.8.30-py3-none-any.whl", hash = "sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8"}, + {file = "certifi-2024.8.30.tar.gz", hash = "sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9"}, ] [[package]] name = "charset-normalizer" -version = "3.3.2" +version = "3.4.0" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." optional = false python-versions = ">=3.7.0" files = [ - {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, - {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4f9fc98dad6c2eaa32fc3af1417d95b5e3d08aff968df0cd320066def971f9a6"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0de7b687289d3c1b3e8660d0741874abe7888100efe14bd0f9fd7141bcbda92b"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5ed2e36c3e9b4f21dd9422f6893dec0abf2cca553af509b10cd630f878d3eb99"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d3ff7fc90b98c637bda91c89d51264a3dcf210cade3a2c6f838c7268d7a4ca"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1110e22af8ca26b90bd6364fe4c763329b0ebf1ee213ba32b68c73de5752323d"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:86f4e8cca779080f66ff4f191a685ced73d2f72d50216f7112185dc02b90b9b7"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f683ddc7eedd742e2889d2bfb96d69573fde1d92fcb811979cdb7165bb9c7d3"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:27623ba66c183eca01bf9ff833875b459cad267aeeb044477fedac35e19ba907"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f606a1881d2663630ea5b8ce2efe2111740df4b687bd78b34a8131baa007f79b"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0b309d1747110feb25d7ed6b01afdec269c647d382c857ef4663bbe6ad95a912"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:136815f06a3ae311fae551c3df1f998a1ebd01ddd424aa5603a4336997629e95"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:14215b71a762336254351b00ec720a8e85cada43b987da5a042e4ce3e82bd68e"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:79983512b108e4a164b9c8d34de3992f76d48cadc9554c9e60b43f308988aabe"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-win32.whl", hash = "sha256:c94057af19bc953643a33581844649a7fdab902624d2eb739738a30e2b3e60fc"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:55f56e2ebd4e3bc50442fbc0888c9d8c94e4e06a933804e2af3e89e2f9c1c749"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0d99dd8ff461990f12d6e42c7347fd9ab2532fb70e9621ba520f9e8637161d7c"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c57516e58fd17d03ebe67e181a4e4e2ccab1168f8c2976c6a334d4f819fe5944"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6dba5d19c4dfab08e58d5b36304b3f92f3bd5d42c1a3fa37b5ba5cdf6dfcbcee"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf4475b82be41b07cc5e5ff94810e6a01f276e37c2d55571e3fe175e467a1a1c"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce031db0408e487fd2775d745ce30a7cd2923667cf3b69d48d219f1d8f5ddeb6"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ff4e7cdfdb1ab5698e675ca622e72d58a6fa2a8aa58195de0c0061288e6e3ea"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3710a9751938947e6327ea9f3ea6332a09bf0ba0c09cae9cb1f250bd1f1549bc"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82357d85de703176b5587dbe6ade8ff67f9f69a41c0733cf2425378b49954de5"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47334db71978b23ebcf3c0f9f5ee98b8d65992b65c9c4f2d34c2eaf5bcaf0594"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8ce7fd6767a1cc5a92a639b391891bf1c268b03ec7e021c7d6d902285259685c"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f1a2f519ae173b5b6a2c9d5fa3116ce16e48b3462c8b96dfdded11055e3d6365"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:63bc5c4ae26e4bc6be6469943b8253c0fd4e4186c43ad46e713ea61a0ba49129"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bcb4f8ea87d03bc51ad04add8ceaf9b0f085ac045ab4d74e73bbc2dc033f0236"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-win32.whl", hash = "sha256:9ae4ef0b3f6b41bad6366fb0ea4fc1d7ed051528e113a60fa2a65a9abb5b1d99"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cee4373f4d3ad28f1ab6290684d8e2ebdb9e7a1b74fdc39e4c211995f77bec27"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0713f3adb9d03d49d365b70b84775d0a0d18e4ab08d12bc46baa6132ba78aaf6"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:de7376c29d95d6719048c194a9cf1a1b0393fbe8488a22008610b0361d834ecf"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a51b48f42d9358460b78725283f04bddaf44a9358197b889657deba38f329db"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b295729485b06c1a0683af02a9e42d2caa9db04a373dc38a6a58cdd1e8abddf1"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ee803480535c44e7f5ad00788526da7d85525cfefaf8acf8ab9a310000be4b03"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d59d125ffbd6d552765510e3f31ed75ebac2c7470c7274195b9161a32350284"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cda06946eac330cbe6598f77bb54e690b4ca93f593dee1568ad22b04f347c15"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07afec21bbbbf8a5cc3651aa96b980afe2526e7f048fdfb7f1014d84acc8b6d8"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6b40e8d38afe634559e398cc32b1472f376a4099c75fe6299ae607e404c033b2"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b8dcd239c743aa2f9c22ce674a145e0a25cb1566c495928440a181ca1ccf6719"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:84450ba661fb96e9fd67629b93d2941c871ca86fc38d835d19d4225ff946a631"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:44aeb140295a2f0659e113b31cfe92c9061622cadbc9e2a2f7b8ef6b1e29ef4b"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1db4e7fefefd0f548d73e2e2e041f9df5c59e178b4c72fbac4cc6f535cfb1565"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-win32.whl", hash = "sha256:5726cf76c982532c1863fb64d8c6dd0e4c90b6ece9feb06c9f202417a31f7dd7"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:b197e7094f232959f8f20541ead1d9862ac5ebea1d58e9849c1bf979255dfac9"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:dd4eda173a9fcccb5f2e2bd2a9f423d180194b1bf17cf59e3269899235b2a114"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e9e3c4c9e1ed40ea53acf11e2a386383c3304212c965773704e4603d589343ed"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:92a7e36b000bf022ef3dbb9c46bfe2d52c047d5e3f3343f43204263c5addc250"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54b6a92d009cbe2fb11054ba694bc9e284dad30a26757b1e372a1fdddaf21920"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ffd9493de4c922f2a38c2bf62b831dcec90ac673ed1ca182fe11b4d8e9f2a64"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35c404d74c2926d0287fbd63ed5d27eb911eb9e4a3bb2c6d294f3cfd4a9e0c23"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4796efc4faf6b53a18e3d46343535caed491776a22af773f366534056c4e1fbc"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7fdd52961feb4c96507aa649550ec2a0d527c086d284749b2f582f2d40a2e0d"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:92db3c28b5b2a273346bebb24857fda45601aef6ae1c011c0a997106581e8a88"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ab973df98fc99ab39080bfb0eb3a925181454d7c3ac8a1e695fddfae696d9e90"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4b67fdab07fdd3c10bb21edab3cbfe8cf5696f453afce75d815d9d7223fbe88b"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:aa41e526a5d4a9dfcfbab0716c7e8a1b215abd3f3df5a45cf18a12721d31cb5d"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ffc519621dce0c767e96b9c53f09c5d215578e10b02c285809f76509a3931482"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-win32.whl", hash = "sha256:f19c1585933c82098c2a520f8ec1227f20e339e33aca8fa6f956f6691b784e67"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:707b82d19e65c9bd28b81dde95249b07bf9f5b90ebe1ef17d9b57473f8a64b7b"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dbe03226baf438ac4fda9e2d0715022fd579cb641c4cf639fa40d53b2fe6f3e2"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd9a8bd8900e65504a305bf8ae6fa9fbc66de94178c420791d0293702fce2df7"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8831399554b92b72af5932cdbbd4ddc55c55f631bb13ff8fe4e6536a06c5c51"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a14969b8691f7998e74663b77b4c36c0337cb1df552da83d5c9004a93afdb574"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcaf7c1524c0542ee2fc82cc8ec337f7a9f7edee2532421ab200d2b920fc97cf"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425c5f215d0eecee9a56cdb703203dda90423247421bf0d67125add85d0c4455"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:d5b054862739d276e09928de37c79ddeec42a6e1bfc55863be96a36ba22926f6"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:f3e73a4255342d4eb26ef6df01e3962e73aa29baa3124a8e824c5d3364a65748"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:2f6c34da58ea9c1a9515621f4d9ac379871a8f21168ba1b5e09d74250de5ad62"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:f09cb5a7bbe1ecae6e87901a2eb23e0256bb524a79ccc53eb0b7629fbe7677c4"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:0099d79bdfcf5c1f0c2c72f91516702ebf8b0b8ddd8905f97a8aecf49712c621"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-win32.whl", hash = "sha256:9c98230f5042f4945f957d006edccc2af1e03ed5e37ce7c373f00a5a4daa6149"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:62f60aebecfc7f4b82e3f639a7d1433a20ec32824db2199a11ad4f5e146ef5ee"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:af73657b7a68211996527dbfeffbb0864e043d270580c5aef06dc4b659a4b578"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cab5d0b79d987c67f3b9e9c53f54a61360422a5a0bc075f43cab5621d530c3b6"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9289fd5dddcf57bab41d044f1756550f9e7cf0c8e373b8cdf0ce8773dc4bd417"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b493a043635eb376e50eedf7818f2f322eabbaa974e948bd8bdd29eb7ef2a51"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fa2566ca27d67c86569e8c85297aaf413ffab85a8960500f12ea34ff98e4c41"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8e538f46104c815be19c975572d74afb53f29650ea2025bbfaef359d2de2f7f"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fd30dc99682dc2c603c2b315bded2799019cea829f8bf57dc6b61efde6611c8"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2006769bd1640bdf4d5641c69a3d63b71b81445473cac5ded39740a226fa88ab"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:dc15e99b2d8a656f8e666854404f1ba54765871104e50c8e9813af8a7db07f12"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:ab2e5bef076f5a235c3774b4f4028a680432cded7cad37bba0fd90d64b187d19"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:4ec9dd88a5b71abfc74e9df5ebe7921c35cbb3b641181a531ca65cdb5e8e4dea"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:43193c5cda5d612f247172016c4bb71251c784d7a4d9314677186a838ad34858"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:aa693779a8b50cd97570e5a0f343538a8dbd3e496fa5dcb87e29406ad0299654"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-win32.whl", hash = "sha256:7706f5850360ac01d80c89bcef1640683cc12ed87f42579dab6c5d3ed6888613"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:c3e446d253bd88f6377260d07c895816ebf33ffffd56c1c792b13bff9c3e1ade"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:980b4f289d1d90ca5efcf07958d3eb38ed9c0b7676bf2831a54d4f66f9c27dfa"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f28f891ccd15c514a0981f3b9db9aa23d62fe1a99997512b0491d2ed323d229a"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8aacce6e2e1edcb6ac625fb0f8c3a9570ccc7bfba1f63419b3769ccf6a00ed0"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd7af3717683bea4c87acd8c0d3d5b44d56120b26fd3f8a692bdd2d5260c620a"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ff2ed8194587faf56555927b3aa10e6fb69d931e33953943bc4f837dfee2242"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e91f541a85298cf35433bf66f3fab2a4a2cff05c127eeca4af174f6d497f0d4b"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:309a7de0a0ff3040acaebb35ec45d18db4b28232f21998851cfa709eeff49d62"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:285e96d9d53422efc0d7a17c60e59f37fbf3dfa942073f666db4ac71e8d726d0"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5d447056e2ca60382d460a604b6302d8db69476fd2015c81e7c35417cfabe4cd"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:20587d20f557fe189b7947d8e7ec5afa110ccf72a3128d61a2a387c3313f46be"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:130272c698667a982a5d0e626851ceff662565379baf0ff2cc58067b81d4f11d"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ab22fbd9765e6954bc0bcff24c25ff71dcbfdb185fcdaca49e81bac68fe724d3"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7782afc9b6b42200f7362858f9e73b1f8316afb276d316336c0ec3bd73312742"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-win32.whl", hash = "sha256:2de62e8801ddfff069cd5c504ce3bc9672b23266597d4e4f50eda28846c322f2"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:95c3c157765b031331dd4db3c775e58deaee050a3042fcad72cbc4189d7c8dca"}, + {file = "charset_normalizer-3.4.0-py3-none-any.whl", hash = "sha256:fe9f97feb71aa9896b81973a7bbada8c49501dc73e58a10fcef6663af95e5079"}, + {file = "charset_normalizer-3.4.0.tar.gz", hash = "sha256:223217c3d4f82c3ac5e29032b3f1c2eb0fb591b72161f86d93f5719079dae93e"}, +] + +[[package]] +name = "click" +version = "8.1.7" +description = "Composable command line interface toolkit" +optional = false +python-versions = ">=3.7" +files = [ + {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, + {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, ] +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + [[package]] name = "colorama" version = "0.4.6" @@ -201,66 +249,183 @@ files = [ [[package]] name = "contourpy" -version = "1.2.1" +version = "1.3.0" description = "Python library for calculating contours of 2D quadrilateral grids" optional = false python-versions = ">=3.9" files = [ - {file = "contourpy-1.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bd7c23df857d488f418439686d3b10ae2fbf9bc256cd045b37a8c16575ea1040"}, - {file = "contourpy-1.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5b9eb0ca724a241683c9685a484da9d35c872fd42756574a7cfbf58af26677fd"}, - {file = "contourpy-1.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4c75507d0a55378240f781599c30e7776674dbaf883a46d1c90f37e563453480"}, - {file = "contourpy-1.2.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:11959f0ce4a6f7b76ec578576a0b61a28bdc0696194b6347ba3f1c53827178b9"}, - {file = "contourpy-1.2.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb3315a8a236ee19b6df481fc5f997436e8ade24a9f03dfdc6bd490fea20c6da"}, - {file = "contourpy-1.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39f3ecaf76cd98e802f094e0d4fbc6dc9c45a8d0c4d185f0f6c2234e14e5f75b"}, - {file = "contourpy-1.2.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:94b34f32646ca0414237168d68a9157cb3889f06b096612afdd296003fdd32fd"}, - {file = "contourpy-1.2.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:457499c79fa84593f22454bbd27670227874cd2ff5d6c84e60575c8b50a69619"}, - {file = "contourpy-1.2.1-cp310-cp310-win32.whl", hash = "sha256:ac58bdee53cbeba2ecad824fa8159493f0bf3b8ea4e93feb06c9a465d6c87da8"}, - {file = "contourpy-1.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:9cffe0f850e89d7c0012a1fb8730f75edd4320a0a731ed0c183904fe6ecfc3a9"}, - {file = "contourpy-1.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6022cecf8f44e36af10bd9118ca71f371078b4c168b6e0fab43d4a889985dbb5"}, - {file = "contourpy-1.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ef5adb9a3b1d0c645ff694f9bca7702ec2c70f4d734f9922ea34de02294fdf72"}, - {file = "contourpy-1.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6150ffa5c767bc6332df27157d95442c379b7dce3a38dff89c0f39b63275696f"}, - {file = "contourpy-1.2.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4c863140fafc615c14a4bf4efd0f4425c02230eb8ef02784c9a156461e62c965"}, - {file = "contourpy-1.2.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:00e5388f71c1a0610e6fe56b5c44ab7ba14165cdd6d695429c5cd94021e390b2"}, - {file = "contourpy-1.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d4492d82b3bc7fbb7e3610747b159869468079fe149ec5c4d771fa1f614a14df"}, - {file = "contourpy-1.2.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:49e70d111fee47284d9dd867c9bb9a7058a3c617274900780c43e38d90fe1205"}, - {file = "contourpy-1.2.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:b59c0ffceff8d4d3996a45f2bb6f4c207f94684a96bf3d9728dbb77428dd8cb8"}, - {file = "contourpy-1.2.1-cp311-cp311-win32.whl", hash = "sha256:7b4182299f251060996af5249c286bae9361fa8c6a9cda5efc29fe8bfd6062ec"}, - {file = "contourpy-1.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2855c8b0b55958265e8b5888d6a615ba02883b225f2227461aa9127c578a4922"}, - {file = "contourpy-1.2.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:62828cada4a2b850dbef89c81f5a33741898b305db244904de418cc957ff05dc"}, - {file = "contourpy-1.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:309be79c0a354afff9ff7da4aaed7c3257e77edf6c1b448a779329431ee79d7e"}, - {file = "contourpy-1.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e785e0f2ef0d567099b9ff92cbfb958d71c2d5b9259981cd9bee81bd194c9a4"}, - {file = "contourpy-1.2.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1cac0a8f71a041aa587410424ad46dfa6a11f6149ceb219ce7dd48f6b02b87a7"}, - {file = "contourpy-1.2.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:af3f4485884750dddd9c25cb7e3915d83c2db92488b38ccb77dd594eac84c4a0"}, - {file = "contourpy-1.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ce6889abac9a42afd07a562c2d6d4b2b7134f83f18571d859b25624a331c90b"}, - {file = "contourpy-1.2.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:a1eea9aecf761c661d096d39ed9026574de8adb2ae1c5bd7b33558af884fb2ce"}, - {file = "contourpy-1.2.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:187fa1d4c6acc06adb0fae5544c59898ad781409e61a926ac7e84b8f276dcef4"}, - {file = "contourpy-1.2.1-cp312-cp312-win32.whl", hash = "sha256:c2528d60e398c7c4c799d56f907664673a807635b857df18f7ae64d3e6ce2d9f"}, - {file = "contourpy-1.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:1a07fc092a4088ee952ddae19a2b2a85757b923217b7eed584fdf25f53a6e7ce"}, - {file = "contourpy-1.2.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bb6834cbd983b19f06908b45bfc2dad6ac9479ae04abe923a275b5f48f1a186b"}, - {file = "contourpy-1.2.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1d59e739ab0e3520e62a26c60707cc3ab0365d2f8fecea74bfe4de72dc56388f"}, - {file = "contourpy-1.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd3db01f59fdcbce5b22afad19e390260d6d0222f35a1023d9adc5690a889364"}, - {file = "contourpy-1.2.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a12a813949e5066148712a0626895c26b2578874e4cc63160bb007e6df3436fe"}, - {file = "contourpy-1.2.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe0ccca550bb8e5abc22f530ec0466136379c01321fd94f30a22231e8a48d985"}, - {file = "contourpy-1.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1d59258c3c67c865435d8fbeb35f8c59b8bef3d6f46c1f29f6123556af28445"}, - {file = "contourpy-1.2.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f32c38afb74bd98ce26de7cc74a67b40afb7b05aae7b42924ea990d51e4dac02"}, - {file = "contourpy-1.2.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d31a63bc6e6d87f77d71e1abbd7387ab817a66733734883d1fc0021ed9bfa083"}, - {file = "contourpy-1.2.1-cp39-cp39-win32.whl", hash = "sha256:ddcb8581510311e13421b1f544403c16e901c4e8f09083c881fab2be80ee31ba"}, - {file = "contourpy-1.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:10a37ae557aabf2509c79715cd20b62e4c7c28b8cd62dd7d99e5ed3ce28c3fd9"}, - {file = "contourpy-1.2.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a31f94983fecbac95e58388210427d68cd30fe8a36927980fab9c20062645609"}, - {file = "contourpy-1.2.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef2b055471c0eb466033760a521efb9d8a32b99ab907fc8358481a1dd29e3bd3"}, - {file = "contourpy-1.2.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:b33d2bc4f69caedcd0a275329eb2198f560b325605810895627be5d4b876bf7f"}, - {file = "contourpy-1.2.1.tar.gz", hash = "sha256:4d8908b3bee1c889e547867ca4cdc54e5ab6be6d3e078556814a22457f49423c"}, + {file = "contourpy-1.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:880ea32e5c774634f9fcd46504bf9f080a41ad855f4fef54f5380f5133d343c7"}, + {file = "contourpy-1.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:76c905ef940a4474a6289c71d53122a4f77766eef23c03cd57016ce19d0f7b42"}, + {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:92f8557cbb07415a4d6fa191f20fd9d2d9eb9c0b61d1b2f52a8926e43c6e9af7"}, + {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36f965570cff02b874773c49bfe85562b47030805d7d8360748f3eca570f4cab"}, + {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cacd81e2d4b6f89c9f8a5b69b86490152ff39afc58a95af002a398273e5ce589"}, + {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69375194457ad0fad3a839b9e29aa0b0ed53bb54db1bfb6c3ae43d111c31ce41"}, + {file = "contourpy-1.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a52040312b1a858b5e31ef28c2e865376a386c60c0e248370bbea2d3f3b760d"}, + {file = "contourpy-1.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3faeb2998e4fcb256542e8a926d08da08977f7f5e62cf733f3c211c2a5586223"}, + {file = "contourpy-1.3.0-cp310-cp310-win32.whl", hash = "sha256:36e0cff201bcb17a0a8ecc7f454fe078437fa6bda730e695a92f2d9932bd507f"}, + {file = "contourpy-1.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:87ddffef1dbe5e669b5c2440b643d3fdd8622a348fe1983fad7a0f0ccb1cd67b"}, + {file = "contourpy-1.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0fa4c02abe6c446ba70d96ece336e621efa4aecae43eaa9b030ae5fb92b309ad"}, + {file = "contourpy-1.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:834e0cfe17ba12f79963861e0f908556b2cedd52e1f75e6578801febcc6a9f49"}, + {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbc4c3217eee163fa3984fd1567632b48d6dfd29216da3ded3d7b844a8014a66"}, + {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4865cd1d419e0c7a7bf6de1777b185eebdc51470800a9f42b9e9decf17762081"}, + {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:303c252947ab4b14c08afeb52375b26781ccd6a5ccd81abcdfc1fafd14cf93c1"}, + {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637f674226be46f6ba372fd29d9523dd977a291f66ab2a74fbeb5530bb3f445d"}, + {file = "contourpy-1.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:76a896b2f195b57db25d6b44e7e03f221d32fe318d03ede41f8b4d9ba1bff53c"}, + {file = "contourpy-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e1fd23e9d01591bab45546c089ae89d926917a66dceb3abcf01f6105d927e2cb"}, + {file = "contourpy-1.3.0-cp311-cp311-win32.whl", hash = "sha256:d402880b84df3bec6eab53cd0cf802cae6a2ef9537e70cf75e91618a3801c20c"}, + {file = "contourpy-1.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:6cb6cc968059db9c62cb35fbf70248f40994dfcd7aa10444bbf8b3faeb7c2d67"}, + {file = "contourpy-1.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:570ef7cf892f0afbe5b2ee410c507ce12e15a5fa91017a0009f79f7d93a1268f"}, + {file = "contourpy-1.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:da84c537cb8b97d153e9fb208c221c45605f73147bd4cadd23bdae915042aad6"}, + {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0be4d8425bfa755e0fd76ee1e019636ccc7c29f77a7c86b4328a9eb6a26d0639"}, + {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9c0da700bf58f6e0b65312d0a5e695179a71d0163957fa381bb3c1f72972537c"}, + {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb8b141bb00fa977d9122636b16aa67d37fd40a3d8b52dd837e536d64b9a4d06"}, + {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3634b5385c6716c258d0419c46d05c8aa7dc8cb70326c9a4fb66b69ad2b52e09"}, + {file = "contourpy-1.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0dce35502151b6bd35027ac39ba6e5a44be13a68f55735c3612c568cac3805fd"}, + {file = "contourpy-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:aea348f053c645100612b333adc5983d87be69acdc6d77d3169c090d3b01dc35"}, + {file = "contourpy-1.3.0-cp312-cp312-win32.whl", hash = "sha256:90f73a5116ad1ba7174341ef3ea5c3150ddf20b024b98fb0c3b29034752c8aeb"}, + {file = "contourpy-1.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:b11b39aea6be6764f84360fce6c82211a9db32a7c7de8fa6dd5397cf1d079c3b"}, + {file = "contourpy-1.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3e1c7fa44aaae40a2247e2e8e0627f4bea3dd257014764aa644f319a5f8600e3"}, + {file = "contourpy-1.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:364174c2a76057feef647c802652f00953b575723062560498dc7930fc9b1cb7"}, + {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32b238b3b3b649e09ce9aaf51f0c261d38644bdfa35cbaf7b263457850957a84"}, + {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d51fca85f9f7ad0b65b4b9fe800406d0d77017d7270d31ec3fb1cc07358fdea0"}, + {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:732896af21716b29ab3e988d4ce14bc5133733b85956316fb0c56355f398099b"}, + {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d73f659398a0904e125280836ae6f88ba9b178b2fed6884f3b1f95b989d2c8da"}, + {file = "contourpy-1.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c6c7c2408b7048082932cf4e641fa3b8ca848259212f51c8c59c45aa7ac18f14"}, + {file = "contourpy-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f317576606de89da6b7e0861cf6061f6146ead3528acabff9236458a6ba467f8"}, + {file = "contourpy-1.3.0-cp313-cp313-win32.whl", hash = "sha256:31cd3a85dbdf1fc002280c65caa7e2b5f65e4a973fcdf70dd2fdcb9868069294"}, + {file = "contourpy-1.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:4553c421929ec95fb07b3aaca0fae668b2eb5a5203d1217ca7c34c063c53d087"}, + {file = "contourpy-1.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:345af746d7766821d05d72cb8f3845dfd08dd137101a2cb9b24de277d716def8"}, + {file = "contourpy-1.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3bb3808858a9dc68f6f03d319acd5f1b8a337e6cdda197f02f4b8ff67ad2057b"}, + {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:420d39daa61aab1221567b42eecb01112908b2cab7f1b4106a52caaec8d36973"}, + {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4d63ee447261e963af02642ffcb864e5a2ee4cbfd78080657a9880b8b1868e18"}, + {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:167d6c890815e1dac9536dca00828b445d5d0df4d6a8c6adb4a7ec3166812fa8"}, + {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:710a26b3dc80c0e4febf04555de66f5fd17e9cf7170a7b08000601a10570bda6"}, + {file = "contourpy-1.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:75ee7cb1a14c617f34a51d11fa7524173e56551646828353c4af859c56b766e2"}, + {file = "contourpy-1.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:33c92cdae89ec5135d036e7218e69b0bb2851206077251f04a6c4e0e21f03927"}, + {file = "contourpy-1.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a11077e395f67ffc2c44ec2418cfebed032cd6da3022a94fc227b6faf8e2acb8"}, + {file = "contourpy-1.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e8134301d7e204c88ed7ab50028ba06c683000040ede1d617298611f9dc6240c"}, + {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e12968fdfd5bb45ffdf6192a590bd8ddd3ba9e58360b29683c6bb71a7b41edca"}, + {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fd2a0fc506eccaaa7595b7e1418951f213cf8255be2600f1ea1b61e46a60c55f"}, + {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4cfb5c62ce023dfc410d6059c936dcf96442ba40814aefbfa575425a3a7f19dc"}, + {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68a32389b06b82c2fdd68276148d7b9275b5f5cf13e5417e4252f6d1a34f72a2"}, + {file = "contourpy-1.3.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:94e848a6b83da10898cbf1311a815f770acc9b6a3f2d646f330d57eb4e87592e"}, + {file = "contourpy-1.3.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d78ab28a03c854a873787a0a42254a0ccb3cb133c672f645c9f9c8f3ae9d0800"}, + {file = "contourpy-1.3.0-cp39-cp39-win32.whl", hash = "sha256:81cb5ed4952aae6014bc9d0421dec7c5835c9c8c31cdf51910b708f548cf58e5"}, + {file = "contourpy-1.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:14e262f67bd7e6eb6880bc564dcda30b15e351a594657e55b7eec94b6ef72843"}, + {file = "contourpy-1.3.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fe41b41505a5a33aeaed2a613dccaeaa74e0e3ead6dd6fd3a118fb471644fd6c"}, + {file = "contourpy-1.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eca7e17a65f72a5133bdbec9ecf22401c62bcf4821361ef7811faee695799779"}, + {file = "contourpy-1.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1ec4dc6bf570f5b22ed0d7efba0dfa9c5b9e0431aeea7581aa217542d9e809a4"}, + {file = "contourpy-1.3.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:00ccd0dbaad6d804ab259820fa7cb0b8036bda0686ef844d24125d8287178ce0"}, + {file = "contourpy-1.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ca947601224119117f7c19c9cdf6b3ab54c5726ef1d906aa4a69dfb6dd58102"}, + {file = "contourpy-1.3.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c6ec93afeb848a0845a18989da3beca3eec2c0f852322efe21af1931147d12cb"}, + {file = "contourpy-1.3.0.tar.gz", hash = "sha256:7ffa0db17717a8ffb127efd0c95a4362d996b892c2904db72428d5b52e1938a4"}, ] [package.dependencies] -numpy = ">=1.20" +numpy = ">=1.23" [package.extras] bokeh = ["bokeh", "selenium"] docs = ["furo", "sphinx (>=7.2)", "sphinx-copybutton"] -mypy = ["contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.8.0)", "types-Pillow"] +mypy = ["contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.11.1)", "types-Pillow"] test = ["Pillow", "contourpy[test-no-images]", "matplotlib"] -test-no-images = ["pytest", "pytest-cov", "pytest-xdist", "wurlitzer"] +test-no-images = ["pytest", "pytest-cov", "pytest-rerunfailures", "pytest-xdist", "wurlitzer"] + +[[package]] +name = "coverage" +version = "7.6.4" +description = "Code coverage measurement for Python" +optional = false +python-versions = ">=3.9" +files = [ + {file = "coverage-7.6.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5f8ae553cba74085db385d489c7a792ad66f7f9ba2ee85bfa508aeb84cf0ba07"}, + {file = "coverage-7.6.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8165b796df0bd42e10527a3f493c592ba494f16ef3c8b531288e3d0d72c1f6f0"}, + {file = "coverage-7.6.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c7c8b95bf47db6d19096a5e052ffca0a05f335bc63cef281a6e8fe864d450a72"}, + {file = "coverage-7.6.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8ed9281d1b52628e81393f5eaee24a45cbd64965f41857559c2b7ff19385df51"}, + {file = "coverage-7.6.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0809082ee480bb8f7416507538243c8863ac74fd8a5d2485c46f0f7499f2b491"}, + {file = "coverage-7.6.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d541423cdd416b78626b55f123412fcf979d22a2c39fce251b350de38c15c15b"}, + {file = "coverage-7.6.4-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:58809e238a8a12a625c70450b48e8767cff9eb67c62e6154a642b21ddf79baea"}, + {file = "coverage-7.6.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c9b8e184898ed014884ca84c70562b4a82cbc63b044d366fedc68bc2b2f3394a"}, + {file = "coverage-7.6.4-cp310-cp310-win32.whl", hash = "sha256:6bd818b7ea14bc6e1f06e241e8234508b21edf1b242d49831831a9450e2f35fa"}, + {file = "coverage-7.6.4-cp310-cp310-win_amd64.whl", hash = "sha256:06babbb8f4e74b063dbaeb74ad68dfce9186c595a15f11f5d5683f748fa1d172"}, + {file = "coverage-7.6.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:73d2b73584446e66ee633eaad1a56aad577c077f46c35ca3283cd687b7715b0b"}, + {file = "coverage-7.6.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:51b44306032045b383a7a8a2c13878de375117946d68dcb54308111f39775a25"}, + {file = "coverage-7.6.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0b3fb02fe73bed561fa12d279a417b432e5b50fe03e8d663d61b3d5990f29546"}, + {file = "coverage-7.6.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed8fe9189d2beb6edc14d3ad19800626e1d9f2d975e436f84e19efb7fa19469b"}, + {file = "coverage-7.6.4-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b369ead6527d025a0fe7bd3864e46dbee3aa8f652d48df6174f8d0bac9e26e0e"}, + {file = "coverage-7.6.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ade3ca1e5f0ff46b678b66201f7ff477e8fa11fb537f3b55c3f0568fbfe6e718"}, + {file = "coverage-7.6.4-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:27fb4a050aaf18772db513091c9c13f6cb94ed40eacdef8dad8411d92d9992db"}, + {file = "coverage-7.6.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4f704f0998911abf728a7783799444fcbbe8261c4a6c166f667937ae6a8aa522"}, + {file = "coverage-7.6.4-cp311-cp311-win32.whl", hash = "sha256:29155cd511ee058e260db648b6182c419422a0d2e9a4fa44501898cf918866cf"}, + {file = "coverage-7.6.4-cp311-cp311-win_amd64.whl", hash = "sha256:8902dd6a30173d4ef09954bfcb24b5d7b5190cf14a43170e386979651e09ba19"}, + {file = "coverage-7.6.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:12394842a3a8affa3ba62b0d4ab7e9e210c5e366fbac3e8b2a68636fb19892c2"}, + {file = "coverage-7.6.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2b6b4c83d8e8ea79f27ab80778c19bc037759aea298da4b56621f4474ffeb117"}, + {file = "coverage-7.6.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d5b8007f81b88696d06f7df0cb9af0d3b835fe0c8dbf489bad70b45f0e45613"}, + {file = "coverage-7.6.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b57b768feb866f44eeed9f46975f3d6406380275c5ddfe22f531a2bf187eda27"}, + {file = "coverage-7.6.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5915fcdec0e54ee229926868e9b08586376cae1f5faa9bbaf8faf3561b393d52"}, + {file = "coverage-7.6.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0b58c672d14f16ed92a48db984612f5ce3836ae7d72cdd161001cc54512571f2"}, + {file = "coverage-7.6.4-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:2fdef0d83a2d08d69b1f2210a93c416d54e14d9eb398f6ab2f0a209433db19e1"}, + {file = "coverage-7.6.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8cf717ee42012be8c0cb205dbbf18ffa9003c4cbf4ad078db47b95e10748eec5"}, + {file = "coverage-7.6.4-cp312-cp312-win32.whl", hash = "sha256:7bb92c539a624cf86296dd0c68cd5cc286c9eef2d0c3b8b192b604ce9de20a17"}, + {file = "coverage-7.6.4-cp312-cp312-win_amd64.whl", hash = "sha256:1032e178b76a4e2b5b32e19d0fd0abbce4b58e77a1ca695820d10e491fa32b08"}, + {file = "coverage-7.6.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:023bf8ee3ec6d35af9c1c6ccc1d18fa69afa1cb29eaac57cb064dbb262a517f9"}, + {file = "coverage-7.6.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b0ac3d42cb51c4b12df9c5f0dd2f13a4f24f01943627120ec4d293c9181219ba"}, + {file = "coverage-7.6.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8fe4984b431f8621ca53d9380901f62bfb54ff759a1348cd140490ada7b693c"}, + {file = "coverage-7.6.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5fbd612f8a091954a0c8dd4c0b571b973487277d26476f8480bfa4b2a65b5d06"}, + {file = "coverage-7.6.4-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dacbc52de979f2823a819571f2e3a350a7e36b8cb7484cdb1e289bceaf35305f"}, + {file = "coverage-7.6.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:dab4d16dfef34b185032580e2f2f89253d302facba093d5fa9dbe04f569c4f4b"}, + {file = "coverage-7.6.4-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:862264b12ebb65ad8d863d51f17758b1684560b66ab02770d4f0baf2ff75da21"}, + {file = "coverage-7.6.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5beb1ee382ad32afe424097de57134175fea3faf847b9af002cc7895be4e2a5a"}, + {file = "coverage-7.6.4-cp313-cp313-win32.whl", hash = "sha256:bf20494da9653f6410213424f5f8ad0ed885e01f7e8e59811f572bdb20b8972e"}, + {file = "coverage-7.6.4-cp313-cp313-win_amd64.whl", hash = "sha256:182e6cd5c040cec0a1c8d415a87b67ed01193ed9ad458ee427741c7d8513d963"}, + {file = "coverage-7.6.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a181e99301a0ae128493a24cfe5cfb5b488c4e0bf2f8702091473d033494d04f"}, + {file = "coverage-7.6.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:df57bdbeffe694e7842092c5e2e0bc80fff7f43379d465f932ef36f027179806"}, + {file = "coverage-7.6.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bcd1069e710600e8e4cf27f65c90c7843fa8edfb4520fb0ccb88894cad08b11"}, + {file = "coverage-7.6.4-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:99b41d18e6b2a48ba949418db48159d7a2e81c5cc290fc934b7d2380515bd0e3"}, + {file = "coverage-7.6.4-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a6b1e54712ba3474f34b7ef7a41e65bd9037ad47916ccb1cc78769bae324c01a"}, + {file = "coverage-7.6.4-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:53d202fd109416ce011578f321460795abfe10bb901b883cafd9b3ef851bacfc"}, + {file = "coverage-7.6.4-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:c48167910a8f644671de9f2083a23630fbf7a1cb70ce939440cd3328e0919f70"}, + {file = "coverage-7.6.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:cc8ff50b50ce532de2fa7a7daae9dd12f0a699bfcd47f20945364e5c31799fef"}, + {file = "coverage-7.6.4-cp313-cp313t-win32.whl", hash = "sha256:b8d3a03d9bfcaf5b0141d07a88456bb6a4c3ce55c080712fec8418ef3610230e"}, + {file = "coverage-7.6.4-cp313-cp313t-win_amd64.whl", hash = "sha256:f3ddf056d3ebcf6ce47bdaf56142af51bb7fad09e4af310241e9db7a3a8022e1"}, + {file = "coverage-7.6.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9cb7fa111d21a6b55cbf633039f7bc2749e74932e3aa7cb7333f675a58a58bf3"}, + {file = "coverage-7.6.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:11a223a14e91a4693d2d0755c7a043db43d96a7450b4f356d506c2562c48642c"}, + {file = "coverage-7.6.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a413a096c4cbac202433c850ee43fa326d2e871b24554da8327b01632673a076"}, + {file = "coverage-7.6.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:00a1d69c112ff5149cabe60d2e2ee948752c975d95f1e1096742e6077affd376"}, + {file = "coverage-7.6.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f76846299ba5c54d12c91d776d9605ae33f8ae2b9d1d3c3703cf2db1a67f2c0"}, + {file = "coverage-7.6.4-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:fe439416eb6380de434886b00c859304338f8b19f6f54811984f3420a2e03858"}, + {file = "coverage-7.6.4-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:0294ca37f1ba500667b1aef631e48d875ced93ad5e06fa665a3295bdd1d95111"}, + {file = "coverage-7.6.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6f01ba56b1c0e9d149f9ac85a2f999724895229eb36bd997b61e62999e9b0901"}, + {file = "coverage-7.6.4-cp39-cp39-win32.whl", hash = "sha256:bc66f0bf1d7730a17430a50163bb264ba9ded56739112368ba985ddaa9c3bd09"}, + {file = "coverage-7.6.4-cp39-cp39-win_amd64.whl", hash = "sha256:c481b47f6b5845064c65a7bc78bc0860e635a9b055af0df46fdf1c58cebf8e8f"}, + {file = "coverage-7.6.4-pp39.pp310-none-any.whl", hash = "sha256:3c65d37f3a9ebb703e710befdc489a38683a5b152242664b973a7b7b22348a4e"}, + {file = "coverage-7.6.4.tar.gz", hash = "sha256:29fc0f17b1d3fea332f8001d4558f8214af7f1d87a345f3a133c901d60347c73"}, +] + +[package.dependencies] +tomli = {version = "*", optional = true, markers = "python_full_version <= \"3.11.0a6\" and extra == \"toml\""} + +[package.extras] +toml = ["tomli"] + +[[package]] +name = "coveralls" +version = "4.0.1" +description = "Show coverage stats online via coveralls.io" +optional = false +python-versions = "<3.13,>=3.8" +files = [ + {file = "coveralls-4.0.1-py3-none-any.whl", hash = "sha256:7a6b1fa9848332c7b2221afb20f3df90272ac0167060f41b5fe90429b30b1809"}, + {file = "coveralls-4.0.1.tar.gz", hash = "sha256:7b2a0a2bcef94f295e3cf28dcc55ca40b71c77d1c2446b538e85f0f7bc21aa69"}, +] + +[package.dependencies] +coverage = {version = ">=5.0,<6.0.dev0 || >6.1,<6.1.1 || >6.1.1,<8.0", extras = ["toml"]} +docopt = ">=0.6.1,<0.7.0" +requests = ">=1.0.0,<3.0.0" + +[package.extras] +yaml = ["pyyaml (>=3.10,<7.0)"] [[package]] name = "cycler" @@ -277,6 +442,16 @@ files = [ docs = ["ipython", "matplotlib", "numpydoc", "sphinx"] tests = ["pytest", "pytest-cov", "pytest-xdist"] +[[package]] +name = "docopt" +version = "0.6.2" +description = "Pythonic argument parser, that will make you smile" +optional = false +python-versions = "*" +files = [ + {file = "docopt-0.6.2.tar.gz", hash = "sha256:49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491"}, +] + [[package]] name = "docutils" version = "0.21.2" @@ -338,53 +513,59 @@ test = ["pytest (>=6)"] [[package]] name = "fonttools" -version = "4.53.1" +version = "4.54.1" description = "Tools to manipulate font files" optional = false python-versions = ">=3.8" files = [ - {file = "fonttools-4.53.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0679a30b59d74b6242909945429dbddb08496935b82f91ea9bf6ad240ec23397"}, - {file = "fonttools-4.53.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e8bf06b94694251861ba7fdeea15c8ec0967f84c3d4143ae9daf42bbc7717fe3"}, - {file = "fonttools-4.53.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b96cd370a61f4d083c9c0053bf634279b094308d52fdc2dd9a22d8372fdd590d"}, - {file = "fonttools-4.53.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a1c7c5aa18dd3b17995898b4a9b5929d69ef6ae2af5b96d585ff4005033d82f0"}, - {file = "fonttools-4.53.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e013aae589c1c12505da64a7d8d023e584987e51e62006e1bb30d72f26522c41"}, - {file = "fonttools-4.53.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9efd176f874cb6402e607e4cc9b4a9cd584d82fc34a4b0c811970b32ba62501f"}, - {file = "fonttools-4.53.1-cp310-cp310-win32.whl", hash = "sha256:c8696544c964500aa9439efb6761947393b70b17ef4e82d73277413f291260a4"}, - {file = "fonttools-4.53.1-cp310-cp310-win_amd64.whl", hash = "sha256:8959a59de5af6d2bec27489e98ef25a397cfa1774b375d5787509c06659b3671"}, - {file = "fonttools-4.53.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:da33440b1413bad53a8674393c5d29ce64d8c1a15ef8a77c642ffd900d07bfe1"}, - {file = "fonttools-4.53.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5ff7e5e9bad94e3a70c5cd2fa27f20b9bb9385e10cddab567b85ce5d306ea923"}, - {file = "fonttools-4.53.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c6e7170d675d12eac12ad1a981d90f118c06cf680b42a2d74c6c931e54b50719"}, - {file = "fonttools-4.53.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bee32ea8765e859670c4447b0817514ca79054463b6b79784b08a8df3a4d78e3"}, - {file = "fonttools-4.53.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6e08f572625a1ee682115223eabebc4c6a2035a6917eac6f60350aba297ccadb"}, - {file = "fonttools-4.53.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b21952c092ffd827504de7e66b62aba26fdb5f9d1e435c52477e6486e9d128b2"}, - {file = "fonttools-4.53.1-cp311-cp311-win32.whl", hash = "sha256:9dfdae43b7996af46ff9da520998a32b105c7f098aeea06b2226b30e74fbba88"}, - {file = "fonttools-4.53.1-cp311-cp311-win_amd64.whl", hash = "sha256:d4d0096cb1ac7a77b3b41cd78c9b6bc4a400550e21dc7a92f2b5ab53ed74eb02"}, - {file = "fonttools-4.53.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:d92d3c2a1b39631a6131c2fa25b5406855f97969b068e7e08413325bc0afba58"}, - {file = "fonttools-4.53.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3b3c8ebafbee8d9002bd8f1195d09ed2bd9ff134ddec37ee8f6a6375e6a4f0e8"}, - {file = "fonttools-4.53.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32f029c095ad66c425b0ee85553d0dc326d45d7059dbc227330fc29b43e8ba60"}, - {file = "fonttools-4.53.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10f5e6c3510b79ea27bb1ebfcc67048cde9ec67afa87c7dd7efa5c700491ac7f"}, - {file = "fonttools-4.53.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f677ce218976496a587ab17140da141557beb91d2a5c1a14212c994093f2eae2"}, - {file = "fonttools-4.53.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:9e6ceba2a01b448e36754983d376064730690401da1dd104ddb543519470a15f"}, - {file = "fonttools-4.53.1-cp312-cp312-win32.whl", hash = "sha256:791b31ebbc05197d7aa096bbc7bd76d591f05905d2fd908bf103af4488e60670"}, - {file = "fonttools-4.53.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ed170b5e17da0264b9f6fae86073be3db15fa1bd74061c8331022bca6d09bab"}, - {file = "fonttools-4.53.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:c818c058404eb2bba05e728d38049438afd649e3c409796723dfc17cd3f08749"}, - {file = "fonttools-4.53.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:651390c3b26b0c7d1f4407cad281ee7a5a85a31a110cbac5269de72a51551ba2"}, - {file = "fonttools-4.53.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e54f1bba2f655924c1138bbc7fa91abd61f45c68bd65ab5ed985942712864bbb"}, - {file = "fonttools-4.53.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9cd19cf4fe0595ebdd1d4915882b9440c3a6d30b008f3cc7587c1da7b95be5f"}, - {file = "fonttools-4.53.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:2af40ae9cdcb204fc1d8f26b190aa16534fcd4f0df756268df674a270eab575d"}, - {file = "fonttools-4.53.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:35250099b0cfb32d799fb5d6c651220a642fe2e3c7d2560490e6f1d3f9ae9169"}, - {file = "fonttools-4.53.1-cp38-cp38-win32.whl", hash = "sha256:f08df60fbd8d289152079a65da4e66a447efc1d5d5a4d3f299cdd39e3b2e4a7d"}, - {file = "fonttools-4.53.1-cp38-cp38-win_amd64.whl", hash = "sha256:7b6b35e52ddc8fb0db562133894e6ef5b4e54e1283dff606fda3eed938c36fc8"}, - {file = "fonttools-4.53.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:75a157d8d26c06e64ace9df037ee93a4938a4606a38cb7ffaf6635e60e253b7a"}, - {file = "fonttools-4.53.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4824c198f714ab5559c5be10fd1adf876712aa7989882a4ec887bf1ef3e00e31"}, - {file = "fonttools-4.53.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:becc5d7cb89c7b7afa8321b6bb3dbee0eec2b57855c90b3e9bf5fb816671fa7c"}, - {file = "fonttools-4.53.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84ec3fb43befb54be490147b4a922b5314e16372a643004f182babee9f9c3407"}, - {file = "fonttools-4.53.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:73379d3ffdeecb376640cd8ed03e9d2d0e568c9d1a4e9b16504a834ebadc2dfb"}, - {file = "fonttools-4.53.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:02569e9a810f9d11f4ae82c391ebc6fb5730d95a0657d24d754ed7763fb2d122"}, - {file = "fonttools-4.53.1-cp39-cp39-win32.whl", hash = "sha256:aae7bd54187e8bf7fd69f8ab87b2885253d3575163ad4d669a262fe97f0136cb"}, - {file = "fonttools-4.53.1-cp39-cp39-win_amd64.whl", hash = "sha256:e5b708073ea3d684235648786f5f6153a48dc8762cdfe5563c57e80787c29fbb"}, - {file = "fonttools-4.53.1-py3-none-any.whl", hash = "sha256:f1f8758a2ad110bd6432203a344269f445a2907dc24ef6bccfd0ac4e14e0d71d"}, - {file = "fonttools-4.53.1.tar.gz", hash = "sha256:e128778a8e9bc11159ce5447f76766cefbd876f44bd79aff030287254e4752c4"}, + {file = "fonttools-4.54.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7ed7ee041ff7b34cc62f07545e55e1468808691dddfd315d51dd82a6b37ddef2"}, + {file = "fonttools-4.54.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:41bb0b250c8132b2fcac148e2e9198e62ff06f3cc472065dff839327945c5882"}, + {file = "fonttools-4.54.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7965af9b67dd546e52afcf2e38641b5be956d68c425bef2158e95af11d229f10"}, + {file = "fonttools-4.54.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:278913a168f90d53378c20c23b80f4e599dca62fbffae4cc620c8eed476b723e"}, + {file = "fonttools-4.54.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0e88e3018ac809b9662615072dcd6b84dca4c2d991c6d66e1970a112503bba7e"}, + {file = "fonttools-4.54.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4aa4817f0031206e637d1e685251ac61be64d1adef111060df84fdcbc6ab6c44"}, + {file = "fonttools-4.54.1-cp310-cp310-win32.whl", hash = "sha256:7e3b7d44e18c085fd8c16dcc6f1ad6c61b71ff463636fcb13df7b1b818bd0c02"}, + {file = "fonttools-4.54.1-cp310-cp310-win_amd64.whl", hash = "sha256:dd9cc95b8d6e27d01e1e1f1fae8559ef3c02c76317da650a19047f249acd519d"}, + {file = "fonttools-4.54.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5419771b64248484299fa77689d4f3aeed643ea6630b2ea750eeab219588ba20"}, + {file = "fonttools-4.54.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:301540e89cf4ce89d462eb23a89464fef50915255ece765d10eee8b2bf9d75b2"}, + {file = "fonttools-4.54.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76ae5091547e74e7efecc3cbf8e75200bc92daaeb88e5433c5e3e95ea8ce5aa7"}, + {file = "fonttools-4.54.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82834962b3d7c5ca98cb56001c33cf20eb110ecf442725dc5fdf36d16ed1ab07"}, + {file = "fonttools-4.54.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d26732ae002cc3d2ecab04897bb02ae3f11f06dd7575d1df46acd2f7c012a8d8"}, + {file = "fonttools-4.54.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:58974b4987b2a71ee08ade1e7f47f410c367cdfc5a94fabd599c88165f56213a"}, + {file = "fonttools-4.54.1-cp311-cp311-win32.whl", hash = "sha256:ab774fa225238986218a463f3fe151e04d8c25d7de09df7f0f5fce27b1243dbc"}, + {file = "fonttools-4.54.1-cp311-cp311-win_amd64.whl", hash = "sha256:07e005dc454eee1cc60105d6a29593459a06321c21897f769a281ff2d08939f6"}, + {file = "fonttools-4.54.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:54471032f7cb5fca694b5f1a0aaeba4af6e10ae989df408e0216f7fd6cdc405d"}, + {file = "fonttools-4.54.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8fa92cb248e573daab8d032919623cc309c005086d743afb014c836636166f08"}, + {file = "fonttools-4.54.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a911591200114969befa7f2cb74ac148bce5a91df5645443371aba6d222e263"}, + {file = "fonttools-4.54.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93d458c8a6a354dc8b48fc78d66d2a8a90b941f7fec30e94c7ad9982b1fa6bab"}, + {file = "fonttools-4.54.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5eb2474a7c5be8a5331146758debb2669bf5635c021aee00fd7c353558fc659d"}, + {file = "fonttools-4.54.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c9c563351ddc230725c4bdf7d9e1e92cbe6ae8553942bd1fb2b2ff0884e8b714"}, + {file = "fonttools-4.54.1-cp312-cp312-win32.whl", hash = "sha256:fdb062893fd6d47b527d39346e0c5578b7957dcea6d6a3b6794569370013d9ac"}, + {file = "fonttools-4.54.1-cp312-cp312-win_amd64.whl", hash = "sha256:e4564cf40cebcb53f3dc825e85910bf54835e8a8b6880d59e5159f0f325e637e"}, + {file = "fonttools-4.54.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6e37561751b017cf5c40fce0d90fd9e8274716de327ec4ffb0df957160be3bff"}, + {file = "fonttools-4.54.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:357cacb988a18aace66e5e55fe1247f2ee706e01debc4b1a20d77400354cddeb"}, + {file = "fonttools-4.54.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8e953cc0bddc2beaf3a3c3b5dd9ab7554677da72dfaf46951e193c9653e515a"}, + {file = "fonttools-4.54.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:58d29b9a294573d8319f16f2f79e42428ba9b6480442fa1836e4eb89c4d9d61c"}, + {file = "fonttools-4.54.1-cp313-cp313-win32.whl", hash = "sha256:9ef1b167e22709b46bf8168368b7b5d3efeaaa746c6d39661c1b4405b6352e58"}, + {file = "fonttools-4.54.1-cp313-cp313-win_amd64.whl", hash = "sha256:262705b1663f18c04250bd1242b0515d3bbae177bee7752be67c979b7d47f43d"}, + {file = "fonttools-4.54.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ed2f80ca07025551636c555dec2b755dd005e2ea8fbeb99fc5cdff319b70b23b"}, + {file = "fonttools-4.54.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9dc080e5a1c3b2656caff2ac2633d009b3a9ff7b5e93d0452f40cd76d3da3b3c"}, + {file = "fonttools-4.54.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d152d1be65652fc65e695e5619e0aa0982295a95a9b29b52b85775243c06556"}, + {file = "fonttools-4.54.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8583e563df41fdecef31b793b4dd3af8a9caa03397be648945ad32717a92885b"}, + {file = "fonttools-4.54.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:0d1d353ef198c422515a3e974a1e8d5b304cd54a4c2eebcae708e37cd9eeffb1"}, + {file = "fonttools-4.54.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:fda582236fee135d4daeca056c8c88ec5f6f6d88a004a79b84a02547c8f57386"}, + {file = "fonttools-4.54.1-cp38-cp38-win32.whl", hash = "sha256:e7d82b9e56716ed32574ee106cabca80992e6bbdcf25a88d97d21f73a0aae664"}, + {file = "fonttools-4.54.1-cp38-cp38-win_amd64.whl", hash = "sha256:ada215fd079e23e060157aab12eba0d66704316547f334eee9ff26f8c0d7b8ab"}, + {file = "fonttools-4.54.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f5b8a096e649768c2f4233f947cf9737f8dbf8728b90e2771e2497c6e3d21d13"}, + {file = "fonttools-4.54.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4e10d2e0a12e18f4e2dd031e1bf7c3d7017be5c8dbe524d07706179f355c5dac"}, + {file = "fonttools-4.54.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:31c32d7d4b0958600eac75eaf524b7b7cb68d3a8c196635252b7a2c30d80e986"}, + {file = "fonttools-4.54.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c39287f5c8f4a0c5a55daf9eaf9ccd223ea59eed3f6d467133cc727d7b943a55"}, + {file = "fonttools-4.54.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a7a310c6e0471602fe3bf8efaf193d396ea561486aeaa7adc1f132e02d30c4b9"}, + {file = "fonttools-4.54.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d3b659d1029946f4ff9b6183984578041b520ce0f8fb7078bb37ec7445806b33"}, + {file = "fonttools-4.54.1-cp39-cp39-win32.whl", hash = "sha256:e96bc94c8cda58f577277d4a71f51c8e2129b8b36fd05adece6320dd3d57de8a"}, + {file = "fonttools-4.54.1-cp39-cp39-win_amd64.whl", hash = "sha256:e8a4b261c1ef91e7188a30571be6ad98d1c6d9fa2427244c545e2fa0a2494dd7"}, + {file = "fonttools-4.54.1-py3-none-any.whl", hash = "sha256:37cddd62d83dc4f72f7c3f3c2bcf2697e89a30efb152079896544a93907733bd"}, + {file = "fonttools-4.54.1.tar.gz", hash = "sha256:957f669d4922f92c171ba01bef7f29410668db09f6c02111e22b2bce446f3285"}, ] [package.extras] @@ -403,32 +584,35 @@ woff = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "zopfli (>=0.1.4)"] [[package]] name = "furo" -version = "2024.7.18" +version = "2024.8.6" description = "A clean customisable Sphinx documentation theme." optional = false python-versions = ">=3.8" files = [ - {file = "furo-2024.7.18-py3-none-any.whl", hash = "sha256:b192c7c1f59805494c8ed606d9375fdac6e6ba8178e747e72bc116745fb7e13f"}, - {file = "furo-2024.7.18.tar.gz", hash = "sha256:37b08c5fccc95d46d8712c8be97acd46043963895edde05b0f4f135d58325c83"}, + {file = "furo-2024.8.6-py3-none-any.whl", hash = "sha256:6cd97c58b47813d3619e63e9081169880fbe331f0ca883c871ff1f3f11814f5c"}, + {file = "furo-2024.8.6.tar.gz", hash = "sha256:b63e4cee8abfc3136d3bc03a3d45a76a850bada4d6374d24c1716b0e01394a01"}, ] [package.dependencies] beautifulsoup4 = "*" pygments = ">=2.7" -sphinx = ">=6.0,<8.0" +sphinx = ">=6.0,<9.0" sphinx-basic-ng = ">=1.0.0.beta2" [[package]] name = "idna" -version = "3.7" +version = "3.10" description = "Internationalized Domain Names in Applications (IDNA)" optional = false -python-versions = ">=3.5" +python-versions = ">=3.6" files = [ - {file = "idna-3.7-py3-none-any.whl", hash = "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"}, - {file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"}, + {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, + {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, ] +[package.extras] +all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] + [[package]] name = "imagesize" version = "1.4.1" @@ -451,6 +635,31 @@ files = [ {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, ] +[[package]] +name = "interrogate" +version = "1.7.0" +description = "Interrogate a codebase for docstring coverage." +optional = false +python-versions = ">=3.8" +files = [ + {file = "interrogate-1.7.0-py3-none-any.whl", hash = "sha256:b13ff4dd8403369670e2efe684066de9fcb868ad9d7f2b4095d8112142dc9d12"}, + {file = "interrogate-1.7.0.tar.gz", hash = "sha256:a320d6ec644dfd887cc58247a345054fc4d9f981100c45184470068f4b3719b0"}, +] + +[package.dependencies] +attrs = "*" +click = ">=7.1" +colorama = "*" +py = "*" +tabulate = "*" +tomli = {version = "*", markers = "python_version < \"3.11\""} + +[package.extras] +dev = ["cairosvg", "coverage[toml]", "pre-commit", "pytest", "pytest-cov", "pytest-mock", "sphinx", "sphinx-autobuild", "wheel"] +docs = ["sphinx", "sphinx-autobuild"] +png = ["cairosvg"] +tests = ["coverage[toml]", "pytest", "pytest-cov", "pytest-mock"] + [[package]] name = "jedi" version = "0.19.1" @@ -489,115 +698,125 @@ i18n = ["Babel (>=2.7)"] [[package]] name = "kiwisolver" -version = "1.4.5" +version = "1.4.7" description = "A fast implementation of the Cassowary constraint solver" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "kiwisolver-1.4.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:05703cf211d585109fcd72207a31bb170a0f22144d68298dc5e61b3c946518af"}, - {file = "kiwisolver-1.4.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:146d14bebb7f1dc4d5fbf74f8a6cb15ac42baadee8912eb84ac0b3b2a3dc6ac3"}, - {file = "kiwisolver-1.4.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6ef7afcd2d281494c0a9101d5c571970708ad911d028137cd558f02b851c08b4"}, - {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9eaa8b117dc8337728e834b9c6e2611f10c79e38f65157c4c38e9400286f5cb1"}, - {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ec20916e7b4cbfb1f12380e46486ec4bcbaa91a9c448b97023fde0d5bbf9e4ff"}, - {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:39b42c68602539407884cf70d6a480a469b93b81b7701378ba5e2328660c847a"}, - {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa12042de0171fad672b6c59df69106d20d5596e4f87b5e8f76df757a7c399aa"}, - {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2a40773c71d7ccdd3798f6489aaac9eee213d566850a9533f8d26332d626b82c"}, - {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:19df6e621f6d8b4b9c4d45f40a66839294ff2bb235e64d2178f7522d9170ac5b"}, - {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:83d78376d0d4fd884e2c114d0621624b73d2aba4e2788182d286309ebdeed770"}, - {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e391b1f0a8a5a10ab3b9bb6afcfd74f2175f24f8975fb87ecae700d1503cdee0"}, - {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:852542f9481f4a62dbb5dd99e8ab7aedfeb8fb6342349a181d4036877410f525"}, - {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59edc41b24031bc25108e210c0def6f6c2191210492a972d585a06ff246bb79b"}, - {file = "kiwisolver-1.4.5-cp310-cp310-win32.whl", hash = "sha256:a6aa6315319a052b4ee378aa171959c898a6183f15c1e541821c5c59beaa0238"}, - {file = "kiwisolver-1.4.5-cp310-cp310-win_amd64.whl", hash = "sha256:d0ef46024e6a3d79c01ff13801cb19d0cad7fd859b15037aec74315540acc276"}, - {file = "kiwisolver-1.4.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:11863aa14a51fd6ec28688d76f1735f8f69ab1fabf388851a595d0721af042f5"}, - {file = "kiwisolver-1.4.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8ab3919a9997ab7ef2fbbed0cc99bb28d3c13e6d4b1ad36e97e482558a91be90"}, - {file = "kiwisolver-1.4.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fcc700eadbbccbf6bc1bcb9dbe0786b4b1cb91ca0dcda336eef5c2beed37b797"}, - {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dfdd7c0b105af050eb3d64997809dc21da247cf44e63dc73ff0fd20b96be55a9"}, - {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76c6a5964640638cdeaa0c359382e5703e9293030fe730018ca06bc2010c4437"}, - {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bbea0db94288e29afcc4c28afbf3a7ccaf2d7e027489c449cf7e8f83c6346eb9"}, - {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ceec1a6bc6cab1d6ff5d06592a91a692f90ec7505d6463a88a52cc0eb58545da"}, - {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:040c1aebeda72197ef477a906782b5ab0d387642e93bda547336b8957c61022e"}, - {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f91de7223d4c7b793867797bacd1ee53bfe7359bd70d27b7b58a04efbb9436c8"}, - {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:faae4860798c31530dd184046a900e652c95513796ef51a12bc086710c2eec4d"}, - {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:b0157420efcb803e71d1b28e2c287518b8808b7cf1ab8af36718fd0a2c453eb0"}, - {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:06f54715b7737c2fecdbf140d1afb11a33d59508a47bf11bb38ecf21dc9ab79f"}, - {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fdb7adb641a0d13bdcd4ef48e062363d8a9ad4a182ac7647ec88f695e719ae9f"}, - {file = "kiwisolver-1.4.5-cp311-cp311-win32.whl", hash = "sha256:bb86433b1cfe686da83ce32a9d3a8dd308e85c76b60896d58f082136f10bffac"}, - {file = "kiwisolver-1.4.5-cp311-cp311-win_amd64.whl", hash = "sha256:6c08e1312a9cf1074d17b17728d3dfce2a5125b2d791527f33ffbe805200a355"}, - {file = "kiwisolver-1.4.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:32d5cf40c4f7c7b3ca500f8985eb3fb3a7dfc023215e876f207956b5ea26632a"}, - {file = "kiwisolver-1.4.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f846c260f483d1fd217fe5ed7c173fb109efa6b1fc8381c8b7552c5781756192"}, - {file = "kiwisolver-1.4.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5ff5cf3571589b6d13bfbfd6bcd7a3f659e42f96b5fd1c4830c4cf21d4f5ef45"}, - {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7269d9e5f1084a653d575c7ec012ff57f0c042258bf5db0954bf551c158466e7"}, - {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da802a19d6e15dffe4b0c24b38b3af68e6c1a68e6e1d8f30148c83864f3881db"}, - {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3aba7311af82e335dd1e36ffff68aaca609ca6290c2cb6d821a39aa075d8e3ff"}, - {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:763773d53f07244148ccac5b084da5adb90bfaee39c197554f01b286cf869228"}, - {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2270953c0d8cdab5d422bee7d2007f043473f9d2999631c86a223c9db56cbd16"}, - {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d099e745a512f7e3bbe7249ca835f4d357c586d78d79ae8f1dcd4d8adeb9bda9"}, - {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:74db36e14a7d1ce0986fa104f7d5637aea5c82ca6326ed0ec5694280942d1162"}, - {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:7e5bab140c309cb3a6ce373a9e71eb7e4873c70c2dda01df6820474f9889d6d4"}, - {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:0f114aa76dc1b8f636d077979c0ac22e7cd8f3493abbab152f20eb8d3cda71f3"}, - {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:88a2df29d4724b9237fc0c6eaf2a1adae0cdc0b3e9f4d8e7dc54b16812d2d81a"}, - {file = "kiwisolver-1.4.5-cp312-cp312-win32.whl", hash = "sha256:72d40b33e834371fd330fb1472ca19d9b8327acb79a5821d4008391db8e29f20"}, - {file = "kiwisolver-1.4.5-cp312-cp312-win_amd64.whl", hash = "sha256:2c5674c4e74d939b9d91dda0fae10597ac7521768fec9e399c70a1f27e2ea2d9"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3a2b053a0ab7a3960c98725cfb0bf5b48ba82f64ec95fe06f1d06c99b552e130"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3cd32d6c13807e5c66a7cbb79f90b553642f296ae4518a60d8d76243b0ad2898"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:59ec7b7c7e1a61061850d53aaf8e93db63dce0c936db1fda2658b70e4a1be709"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:da4cfb373035def307905d05041c1d06d8936452fe89d464743ae7fb8371078b"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2400873bccc260b6ae184b2b8a4fec0e4082d30648eadb7c3d9a13405d861e89"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1b04139c4236a0f3aff534479b58f6f849a8b351e1314826c2d230849ed48985"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:4e66e81a5779b65ac21764c295087de82235597a2293d18d943f8e9e32746265"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:7931d8f1f67c4be9ba1dd9c451fb0eeca1a25b89e4d3f89e828fe12a519b782a"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:b3f7e75f3015df442238cca659f8baa5f42ce2a8582727981cbfa15fee0ee205"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:bbf1d63eef84b2e8c89011b7f2235b1e0bf7dacc11cac9431fc6468e99ac77fb"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:4c380469bd3f970ef677bf2bcba2b6b0b4d5c75e7a020fb863ef75084efad66f"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-win32.whl", hash = "sha256:9408acf3270c4b6baad483865191e3e582b638b1654a007c62e3efe96f09a9a3"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-win_amd64.whl", hash = "sha256:5b94529f9b2591b7af5f3e0e730a4e0a41ea174af35a4fd067775f9bdfeee01a"}, - {file = "kiwisolver-1.4.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:11c7de8f692fc99816e8ac50d1d1aef4f75126eefc33ac79aac02c099fd3db71"}, - {file = "kiwisolver-1.4.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:53abb58632235cd154176ced1ae8f0d29a6657aa1aa9decf50b899b755bc2b93"}, - {file = "kiwisolver-1.4.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:88b9f257ca61b838b6f8094a62418421f87ac2a1069f7e896c36a7d86b5d4c29"}, - {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3195782b26fc03aa9c6913d5bad5aeb864bdc372924c093b0f1cebad603dd712"}, - {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fc579bf0f502e54926519451b920e875f433aceb4624a3646b3252b5caa9e0b6"}, - {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5a580c91d686376f0f7c295357595c5a026e6cbc3d77b7c36e290201e7c11ecb"}, - {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cfe6ab8da05c01ba6fbea630377b5da2cd9bcbc6338510116b01c1bc939a2c18"}, - {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:d2e5a98f0ec99beb3c10e13b387f8db39106d53993f498b295f0c914328b1333"}, - {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:a51a263952b1429e429ff236d2f5a21c5125437861baeed77f5e1cc2d2c7c6da"}, - {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:3edd2fa14e68c9be82c5b16689e8d63d89fe927e56debd6e1dbce7a26a17f81b"}, - {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:74d1b44c6cfc897df648cc9fdaa09bc3e7679926e6f96df05775d4fb3946571c"}, - {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:76d9289ed3f7501012e05abb8358bbb129149dbd173f1f57a1bf1c22d19ab7cc"}, - {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:92dea1ffe3714fa8eb6a314d2b3c773208d865a0e0d35e713ec54eea08a66250"}, - {file = "kiwisolver-1.4.5-cp38-cp38-win32.whl", hash = "sha256:5c90ae8c8d32e472be041e76f9d2f2dbff4d0b0be8bd4041770eddb18cf49a4e"}, - {file = "kiwisolver-1.4.5-cp38-cp38-win_amd64.whl", hash = "sha256:c7940c1dc63eb37a67721b10d703247552416f719c4188c54e04334321351ced"}, - {file = "kiwisolver-1.4.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:9407b6a5f0d675e8a827ad8742e1d6b49d9c1a1da5d952a67d50ef5f4170b18d"}, - {file = "kiwisolver-1.4.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:15568384086b6df3c65353820a4473575dbad192e35010f622c6ce3eebd57af9"}, - {file = "kiwisolver-1.4.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0dc9db8e79f0036e8173c466d21ef18e1befc02de8bf8aa8dc0813a6dc8a7046"}, - {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:cdc8a402aaee9a798b50d8b827d7ecf75edc5fb35ea0f91f213ff927c15f4ff0"}, - {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:6c3bd3cde54cafb87d74d8db50b909705c62b17c2099b8f2e25b461882e544ff"}, - {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:955e8513d07a283056b1396e9a57ceddbd272d9252c14f154d450d227606eb54"}, - {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:346f5343b9e3f00b8db8ba359350eb124b98c99efd0b408728ac6ebf38173958"}, - {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b9098e0049e88c6a24ff64545cdfc50807818ba6c1b739cae221bbbcbc58aad3"}, - {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:00bd361b903dc4bbf4eb165f24d1acbee754fce22ded24c3d56eec268658a5cf"}, - {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7b8b454bac16428b22560d0a1cf0a09875339cab69df61d7805bf48919415901"}, - {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:f1d072c2eb0ad60d4c183f3fb44ac6f73fb7a8f16a2694a91f988275cbf352f9"}, - {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:31a82d498054cac9f6d0b53d02bb85811185bcb477d4b60144f915f3b3126342"}, - {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6512cb89e334e4700febbffaaa52761b65b4f5a3cf33f960213d5656cea36a77"}, - {file = "kiwisolver-1.4.5-cp39-cp39-win32.whl", hash = "sha256:9db8ea4c388fdb0f780fe91346fd438657ea602d58348753d9fb265ce1bca67f"}, - {file = "kiwisolver-1.4.5-cp39-cp39-win_amd64.whl", hash = "sha256:59415f46a37f7f2efeec758353dd2eae1b07640d8ca0f0c42548ec4125492635"}, - {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5c7b3b3a728dc6faf3fc372ef24f21d1e3cee2ac3e9596691d746e5a536de920"}, - {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:620ced262a86244e2be10a676b646f29c34537d0d9cc8eb26c08f53d98013390"}, - {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:378a214a1e3bbf5ac4a8708304318b4f890da88c9e6a07699c4ae7174c09a68d"}, - {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaf7be1207676ac608a50cd08f102f6742dbfc70e8d60c4db1c6897f62f71523"}, - {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:ba55dce0a9b8ff59495ddd050a0225d58bd0983d09f87cfe2b6aec4f2c1234e4"}, - {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:fd32ea360bcbb92d28933fc05ed09bffcb1704ba3fc7942e81db0fd4f81a7892"}, - {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5e7139af55d1688f8b960ee9ad5adafc4ac17c1c473fe07133ac092310d76544"}, - {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:dced8146011d2bc2e883f9bd68618b8247387f4bbec46d7392b3c3b032640126"}, - {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c9bf3325c47b11b2e51bca0824ea217c7cd84491d8ac4eefd1e409705ef092bd"}, - {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5794cf59533bc3f1b1c821f7206a3617999db9fbefc345360aafe2e067514929"}, - {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:e368f200bbc2e4f905b8e71eb38b3c04333bddaa6a2464a6355487b02bb7fb09"}, - {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5d706eba36b4c4d5bc6c6377bb6568098765e990cfc21ee16d13963fab7b3e7"}, - {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85267bd1aa8880a9c88a8cb71e18d3d64d2751a790e6ca6c27b8ccc724bcd5ad"}, - {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:210ef2c3a1f03272649aff1ef992df2e724748918c4bc2d5a90352849eb40bea"}, - {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:11d011a7574eb3b82bcc9c1a1d35c1d7075677fdd15de527d91b46bd35e935ee"}, - {file = "kiwisolver-1.4.5.tar.gz", hash = "sha256:e57e563a57fb22a142da34f38acc2fc1a5c864bc29ca1517a88abc963e60d6ec"}, + {file = "kiwisolver-1.4.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8a9c83f75223d5e48b0bc9cb1bf2776cf01563e00ade8775ffe13b0b6e1af3a6"}, + {file = "kiwisolver-1.4.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:58370b1ffbd35407444d57057b57da5d6549d2d854fa30249771775c63b5fe17"}, + {file = "kiwisolver-1.4.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aa0abdf853e09aff551db11fce173e2177d00786c688203f52c87ad7fcd91ef9"}, + {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8d53103597a252fb3ab8b5845af04c7a26d5e7ea8122303dd7a021176a87e8b9"}, + {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:88f17c5ffa8e9462fb79f62746428dd57b46eb931698e42e990ad63103f35e6c"}, + {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88a9ca9c710d598fd75ee5de59d5bda2684d9db36a9f50b6125eaea3969c2599"}, + {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f4d742cb7af1c28303a51b7a27aaee540e71bb8e24f68c736f6f2ffc82f2bf05"}, + {file = "kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e28c7fea2196bf4c2f8d46a0415c77a1c480cc0724722f23d7410ffe9842c407"}, + {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e968b84db54f9d42046cf154e02911e39c0435c9801681e3fc9ce8a3c4130278"}, + {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0c18ec74c0472de033e1bebb2911c3c310eef5649133dd0bedf2a169a1b269e5"}, + {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8f0ea6da6d393d8b2e187e6a5e3fb81f5862010a40c3945e2c6d12ae45cfb2ad"}, + {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:f106407dda69ae456dd1227966bf445b157ccc80ba0dff3802bb63f30b74e895"}, + {file = "kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:84ec80df401cfee1457063732d90022f93951944b5b58975d34ab56bb150dfb3"}, + {file = "kiwisolver-1.4.7-cp310-cp310-win32.whl", hash = "sha256:71bb308552200fb2c195e35ef05de12f0c878c07fc91c270eb3d6e41698c3bcc"}, + {file = "kiwisolver-1.4.7-cp310-cp310-win_amd64.whl", hash = "sha256:44756f9fd339de0fb6ee4f8c1696cfd19b2422e0d70b4cefc1cc7f1f64045a8c"}, + {file = "kiwisolver-1.4.7-cp310-cp310-win_arm64.whl", hash = "sha256:78a42513018c41c2ffd262eb676442315cbfe3c44eed82385c2ed043bc63210a"}, + {file = "kiwisolver-1.4.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d2b0e12a42fb4e72d509fc994713d099cbb15ebf1103545e8a45f14da2dfca54"}, + {file = "kiwisolver-1.4.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2a8781ac3edc42ea4b90bc23e7d37b665d89423818e26eb6df90698aa2287c95"}, + {file = "kiwisolver-1.4.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:46707a10836894b559e04b0fd143e343945c97fd170d69a2d26d640b4e297935"}, + {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef97b8df011141c9b0f6caf23b29379f87dd13183c978a30a3c546d2c47314cb"}, + {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ab58c12a2cd0fc769089e6d38466c46d7f76aced0a1f54c77652446733d2d02"}, + {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:803b8e1459341c1bb56d1c5c010406d5edec8a0713a0945851290a7930679b51"}, + {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f9a9e8a507420fe35992ee9ecb302dab68550dedc0da9e2880dd88071c5fb052"}, + {file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18077b53dc3bb490e330669a99920c5e6a496889ae8c63b58fbc57c3d7f33a18"}, + {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6af936f79086a89b3680a280c47ea90b4df7047b5bdf3aa5c524bbedddb9e545"}, + {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:3abc5b19d24af4b77d1598a585b8a719beb8569a71568b66f4ebe1fb0449460b"}, + {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:933d4de052939d90afbe6e9d5273ae05fb836cc86c15b686edd4b3560cc0ee36"}, + {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:65e720d2ab2b53f1f72fb5da5fb477455905ce2c88aaa671ff0a447c2c80e8e3"}, + {file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3bf1ed55088f214ba6427484c59553123fdd9b218a42bbc8c6496d6754b1e523"}, + {file = "kiwisolver-1.4.7-cp311-cp311-win32.whl", hash = "sha256:4c00336b9dd5ad96d0a558fd18a8b6f711b7449acce4c157e7343ba92dd0cf3d"}, + {file = "kiwisolver-1.4.7-cp311-cp311-win_amd64.whl", hash = "sha256:929e294c1ac1e9f615c62a4e4313ca1823ba37326c164ec720a803287c4c499b"}, + {file = "kiwisolver-1.4.7-cp311-cp311-win_arm64.whl", hash = "sha256:e33e8fbd440c917106b237ef1a2f1449dfbb9b6f6e1ce17c94cd6a1e0d438376"}, + {file = "kiwisolver-1.4.7-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:5360cc32706dab3931f738d3079652d20982511f7c0ac5711483e6eab08efff2"}, + {file = "kiwisolver-1.4.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:942216596dc64ddb25adb215c3c783215b23626f8d84e8eff8d6d45c3f29f75a"}, + {file = "kiwisolver-1.4.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:48b571ecd8bae15702e4f22d3ff6a0f13e54d3d00cd25216d5e7f658242065ee"}, + {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad42ba922c67c5f219097b28fae965e10045ddf145d2928bfac2eb2e17673640"}, + {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:612a10bdae23404a72941a0fc8fa2660c6ea1217c4ce0dbcab8a8f6543ea9e7f"}, + {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9e838bba3a3bac0fe06d849d29772eb1afb9745a59710762e4ba3f4cb8424483"}, + {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:22f499f6157236c19f4bbbd472fa55b063db77a16cd74d49afe28992dff8c258"}, + {file = "kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:693902d433cf585133699972b6d7c42a8b9f8f826ebcaf0132ff55200afc599e"}, + {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4e77f2126c3e0b0d055f44513ed349038ac180371ed9b52fe96a32aa071a5107"}, + {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:657a05857bda581c3656bfc3b20e353c232e9193eb167766ad2dc58b56504948"}, + {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4bfa75a048c056a411f9705856abfc872558e33c055d80af6a380e3658766038"}, + {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:34ea1de54beef1c104422d210c47c7d2a4999bdecf42c7b5718fbe59a4cac383"}, + {file = "kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:90da3b5f694b85231cf93586dad5e90e2d71b9428f9aad96952c99055582f520"}, + {file = "kiwisolver-1.4.7-cp312-cp312-win32.whl", hash = "sha256:18e0cca3e008e17fe9b164b55735a325140a5a35faad8de92dd80265cd5eb80b"}, + {file = "kiwisolver-1.4.7-cp312-cp312-win_amd64.whl", hash = "sha256:58cb20602b18f86f83a5c87d3ee1c766a79c0d452f8def86d925e6c60fbf7bfb"}, + {file = "kiwisolver-1.4.7-cp312-cp312-win_arm64.whl", hash = "sha256:f5a8b53bdc0b3961f8b6125e198617c40aeed638b387913bf1ce78afb1b0be2a"}, + {file = "kiwisolver-1.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2e6039dcbe79a8e0f044f1c39db1986a1b8071051efba3ee4d74f5b365f5226e"}, + {file = "kiwisolver-1.4.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a1ecf0ac1c518487d9d23b1cd7139a6a65bc460cd101ab01f1be82ecf09794b6"}, + {file = "kiwisolver-1.4.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7ab9ccab2b5bd5702ab0803676a580fffa2aa178c2badc5557a84cc943fcf750"}, + {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f816dd2277f8d63d79f9c8473a79fe54047bc0467754962840782c575522224d"}, + {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf8bcc23ceb5a1b624572a1623b9f79d2c3b337c8c455405ef231933a10da379"}, + {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dea0bf229319828467d7fca8c7c189780aa9ff679c94539eed7532ebe33ed37c"}, + {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c06a4c7cf15ec739ce0e5971b26c93638730090add60e183530d70848ebdd34"}, + {file = "kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:913983ad2deb14e66d83c28b632fd35ba2b825031f2fa4ca29675e665dfecbe1"}, + {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5337ec7809bcd0f424c6b705ecf97941c46279cf5ed92311782c7c9c2026f07f"}, + {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4c26ed10c4f6fa6ddb329a5120ba3b6db349ca192ae211e882970bfc9d91420b"}, + {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c619b101e6de2222c1fcb0531e1b17bbffbe54294bfba43ea0d411d428618c27"}, + {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:073a36c8273647592ea332e816e75ef8da5c303236ec0167196793eb1e34657a"}, + {file = "kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3ce6b2b0231bda412463e152fc18335ba32faf4e8c23a754ad50ffa70e4091ee"}, + {file = "kiwisolver-1.4.7-cp313-cp313-win32.whl", hash = "sha256:f4c9aee212bc89d4e13f58be11a56cc8036cabad119259d12ace14b34476fd07"}, + {file = "kiwisolver-1.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:8a3ec5aa8e38fc4c8af308917ce12c536f1c88452ce554027e55b22cbbfbff76"}, + {file = "kiwisolver-1.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:76c8094ac20ec259471ac53e774623eb62e6e1f56cd8690c67ce6ce4fcb05650"}, + {file = "kiwisolver-1.4.7-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5d5abf8f8ec1f4e22882273c423e16cae834c36856cac348cfbfa68e01c40f3a"}, + {file = "kiwisolver-1.4.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:aeb3531b196ef6f11776c21674dba836aeea9d5bd1cf630f869e3d90b16cfade"}, + {file = "kiwisolver-1.4.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b7d755065e4e866a8086c9bdada157133ff466476a2ad7861828e17b6026e22c"}, + {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08471d4d86cbaec61f86b217dd938a83d85e03785f51121e791a6e6689a3be95"}, + {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7bbfcb7165ce3d54a3dfbe731e470f65739c4c1f85bb1018ee912bae139e263b"}, + {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d34eb8494bea691a1a450141ebb5385e4b69d38bb8403b5146ad279f4b30fa3"}, + {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9242795d174daa40105c1d86aba618e8eab7bf96ba8c3ee614da8302a9f95503"}, + {file = "kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a0f64a48bb81af7450e641e3fe0b0394d7381e342805479178b3d335d60ca7cf"}, + {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8e045731a5416357638d1700927529e2b8ab304811671f665b225f8bf8d8f933"}, + {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:4322872d5772cae7369f8351da1edf255a604ea7087fe295411397d0cfd9655e"}, + {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:e1631290ee9271dffe3062d2634c3ecac02c83890ada077d225e081aca8aab89"}, + {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:edcfc407e4eb17e037bca59be0e85a2031a2ac87e4fed26d3e9df88b4165f92d"}, + {file = "kiwisolver-1.4.7-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:4d05d81ecb47d11e7f8932bd8b61b720bf0b41199358f3f5e36d38e28f0532c5"}, + {file = "kiwisolver-1.4.7-cp38-cp38-win32.whl", hash = "sha256:b38ac83d5f04b15e515fd86f312479d950d05ce2368d5413d46c088dda7de90a"}, + {file = "kiwisolver-1.4.7-cp38-cp38-win_amd64.whl", hash = "sha256:d83db7cde68459fc803052a55ace60bea2bae361fc3b7a6d5da07e11954e4b09"}, + {file = "kiwisolver-1.4.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3f9362ecfca44c863569d3d3c033dbe8ba452ff8eed6f6b5806382741a1334bd"}, + {file = "kiwisolver-1.4.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e8df2eb9b2bac43ef8b082e06f750350fbbaf2887534a5be97f6cf07b19d9583"}, + {file = "kiwisolver-1.4.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f32d6edbc638cde7652bd690c3e728b25332acbadd7cad670cc4a02558d9c417"}, + {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:e2e6c39bd7b9372b0be21456caab138e8e69cc0fc1190a9dfa92bd45a1e6e904"}, + {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:dda56c24d869b1193fcc763f1284b9126550eaf84b88bbc7256e15028f19188a"}, + {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79849239c39b5e1fd906556c474d9b0439ea6792b637511f3fe3a41158d89ca8"}, + {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5e3bc157fed2a4c02ec468de4ecd12a6e22818d4f09cde2c31ee3226ffbefab2"}, + {file = "kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3da53da805b71e41053dc670f9a820d1157aae77b6b944e08024d17bcd51ef88"}, + {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8705f17dfeb43139a692298cb6637ee2e59c0194538153e83e9ee0c75c2eddde"}, + {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:82a5c2f4b87c26bb1a0ef3d16b5c4753434633b83d365cc0ddf2770c93829e3c"}, + {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce8be0466f4c0d585cdb6c1e2ed07232221df101a4c6f28821d2aa754ca2d9e2"}, + {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:409afdfe1e2e90e6ee7fc896f3df9a7fec8e793e58bfa0d052c8a82f99c37abb"}, + {file = "kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5b9c3f4ee0b9a439d2415012bd1b1cc2df59e4d6a9939f4d669241d30b414327"}, + {file = "kiwisolver-1.4.7-cp39-cp39-win32.whl", hash = "sha256:a79ae34384df2b615eefca647a2873842ac3b596418032bef9a7283675962644"}, + {file = "kiwisolver-1.4.7-cp39-cp39-win_amd64.whl", hash = "sha256:cf0438b42121a66a3a667de17e779330fc0f20b0d97d59d2f2121e182b0505e4"}, + {file = "kiwisolver-1.4.7-cp39-cp39-win_arm64.whl", hash = "sha256:764202cc7e70f767dab49e8df52c7455e8de0df5d858fa801a11aa0d882ccf3f"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:94252291e3fe68001b1dd747b4c0b3be12582839b95ad4d1b641924d68fd4643"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5b7dfa3b546da08a9f622bb6becdb14b3e24aaa30adba66749d38f3cc7ea9706"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd3de6481f4ed8b734da5df134cd5a6a64fe32124fe83dde1e5b5f29fe30b1e6"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a91b5f9f1205845d488c928e8570dcb62b893372f63b8b6e98b863ebd2368ff2"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40fa14dbd66b8b8f470d5fc79c089a66185619d31645f9b0773b88b19f7223c4"}, + {file = "kiwisolver-1.4.7-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:eb542fe7933aa09d8d8f9d9097ef37532a7df6497819d16efe4359890a2f417a"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:bfa1acfa0c54932d5607e19a2c24646fb4c1ae2694437789129cf099789a3b00"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:eee3ea935c3d227d49b4eb85660ff631556841f6e567f0f7bda972df6c2c9935"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f3160309af4396e0ed04db259c3ccbfdc3621b5559b5453075e5de555e1f3a1b"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a17f6a29cf8935e587cc8a4dbfc8368c55edc645283db0ce9801016f83526c2d"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10849fb2c1ecbfae45a693c070e0320a91b35dd4bcf58172c023b994283a124d"}, + {file = "kiwisolver-1.4.7-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:ac542bf38a8a4be2dc6b15248d36315ccc65f0743f7b1a76688ffb6b5129a5c2"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:8b01aac285f91ca889c800042c35ad3b239e704b150cfd3382adfc9dcc780e39"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:48be928f59a1f5c8207154f935334d374e79f2b5d212826307d072595ad76a2e"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f37cfe618a117e50d8c240555331160d73d0411422b59b5ee217843d7b693608"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:599b5c873c63a1f6ed7eead644a8a380cfbdf5db91dcb6f85707aaab213b1674"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:801fa7802e5cfabe3ab0c81a34c323a319b097dfb5004be950482d882f3d7225"}, + {file = "kiwisolver-1.4.7-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0c6c43471bc764fad4bc99c5c2d6d16a676b1abf844ca7c8702bdae92df01ee0"}, + {file = "kiwisolver-1.4.7.tar.gz", hash = "sha256:9893ff81bd7107f7b685d3017cc6583daadb4fc26e4a888350df530e41980a60"}, ] [[package]] @@ -656,104 +875,121 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] [[package]] name = "markupsafe" -version = "2.1.5" +version = "3.0.2" description = "Safely add untrusted strings to HTML/XML markup." optional = false -python-versions = ">=3.7" +python-versions = ">=3.9" files = [ - {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"}, - {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a"}, + {file = "markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0"}, ] [[package]] name = "matplotlib" -version = "3.9.1" +version = "3.9.2" description = "Python plotting package" optional = false python-versions = ">=3.9" files = [ - {file = "matplotlib-3.9.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:7ccd6270066feb9a9d8e0705aa027f1ff39f354c72a87efe8fa07632f30fc6bb"}, - {file = "matplotlib-3.9.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:591d3a88903a30a6d23b040c1e44d1afdd0d778758d07110eb7596f811f31842"}, - {file = "matplotlib-3.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd2a59ff4b83d33bca3b5ec58203cc65985367812cb8c257f3e101632be86d92"}, - {file = "matplotlib-3.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0fc001516ffcf1a221beb51198b194d9230199d6842c540108e4ce109ac05cc0"}, - {file = "matplotlib-3.9.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:83c6a792f1465d174c86d06f3ae85a8fe36e6f5964633ae8106312ec0921fdf5"}, - {file = "matplotlib-3.9.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:b3fce58971b465e01b5c538f9d44915640c20ec5ff31346e963c9e1cd66fa812"}, - {file = "matplotlib-3.9.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a973c53ad0668c53e0ed76b27d2eeeae8799836fd0d0caaa4ecc66bf4e6676c0"}, - {file = "matplotlib-3.9.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:82cd5acf8f3ef43f7532c2f230249720f5dc5dd40ecafaf1c60ac8200d46d7eb"}, - {file = "matplotlib-3.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab38a4f3772523179b2f772103d8030215b318fef6360cb40558f585bf3d017f"}, - {file = "matplotlib-3.9.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:2315837485ca6188a4b632c5199900e28d33b481eb083663f6a44cfc8987ded3"}, - {file = "matplotlib-3.9.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:565d572efea2b94f264dd86ef27919515aa6d629252a169b42ce5f570db7f37b"}, - {file = "matplotlib-3.9.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6d397fd8ccc64af2ec0af1f0efc3bacd745ebfb9d507f3f552e8adb689ed730a"}, - {file = "matplotlib-3.9.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26040c8f5121cd1ad712abffcd4b5222a8aec3a0fe40bc8542c94331deb8780d"}, - {file = "matplotlib-3.9.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d12cb1837cffaac087ad6b44399d5e22b78c729de3cdae4629e252067b705e2b"}, - {file = "matplotlib-3.9.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0e835c6988edc3d2d08794f73c323cc62483e13df0194719ecb0723b564e0b5c"}, - {file = "matplotlib-3.9.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:0c584210c755ae921283d21d01f03a49ef46d1afa184134dd0f95b0202ee6f03"}, - {file = "matplotlib-3.9.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:11fed08f34fa682c2b792942f8902e7aefeed400da71f9e5816bea40a7ce28fe"}, - {file = "matplotlib-3.9.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0000354e32efcfd86bda75729716b92f5c2edd5b947200be9881f0a671565c33"}, - {file = "matplotlib-3.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4db17fea0ae3aceb8e9ac69c7e3051bae0b3d083bfec932240f9bf5d0197a049"}, - {file = "matplotlib-3.9.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:208cbce658b72bf6a8e675058fbbf59f67814057ae78165d8a2f87c45b48d0ff"}, - {file = "matplotlib-3.9.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:3fda72d4d472e2ccd1be0e9ccb6bf0d2eaf635e7f8f51d737ed7e465ac020cb3"}, - {file = "matplotlib-3.9.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:84b3ba8429935a444f1fdc80ed930babbe06725bcf09fbeb5c8757a2cd74af04"}, - {file = "matplotlib-3.9.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b918770bf3e07845408716e5bbda17eadfc3fcbd9307dc67f37d6cf834bb3d98"}, - {file = "matplotlib-3.9.1.tar.gz", hash = "sha256:de06b19b8db95dd33d0dc17c926c7c9ebed9f572074b6fac4f65068a6814d010"}, + {file = "matplotlib-3.9.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:9d78bbc0cbc891ad55b4f39a48c22182e9bdaea7fc0e5dbd364f49f729ca1bbb"}, + {file = "matplotlib-3.9.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c375cc72229614632c87355366bdf2570c2dac01ac66b8ad048d2dabadf2d0d4"}, + {file = "matplotlib-3.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d94ff717eb2bd0b58fe66380bd8b14ac35f48a98e7c6765117fe67fb7684e64"}, + {file = "matplotlib-3.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab68d50c06938ef28681073327795c5db99bb4666214d2d5f880ed11aeaded66"}, + {file = "matplotlib-3.9.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:65aacf95b62272d568044531e41de26285d54aec8cb859031f511f84bd8b495a"}, + {file = "matplotlib-3.9.2-cp310-cp310-win_amd64.whl", hash = "sha256:3fd595f34aa8a55b7fc8bf9ebea8aa665a84c82d275190a61118d33fbc82ccae"}, + {file = "matplotlib-3.9.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d8dd059447824eec055e829258ab092b56bb0579fc3164fa09c64f3acd478772"}, + {file = "matplotlib-3.9.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c797dac8bb9c7a3fd3382b16fe8f215b4cf0f22adccea36f1545a6d7be310b41"}, + {file = "matplotlib-3.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d719465db13267bcef19ea8954a971db03b9f48b4647e3860e4bc8e6ed86610f"}, + {file = "matplotlib-3.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8912ef7c2362f7193b5819d17dae8629b34a95c58603d781329712ada83f9447"}, + {file = "matplotlib-3.9.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7741f26a58a240f43bee74965c4882b6c93df3e7eb3de160126d8c8f53a6ae6e"}, + {file = "matplotlib-3.9.2-cp311-cp311-win_amd64.whl", hash = "sha256:ae82a14dab96fbfad7965403c643cafe6515e386de723e498cf3eeb1e0b70cc7"}, + {file = "matplotlib-3.9.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:ac43031375a65c3196bee99f6001e7fa5bdfb00ddf43379d3c0609bdca042df9"}, + {file = "matplotlib-3.9.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:be0fc24a5e4531ae4d8e858a1a548c1fe33b176bb13eff7f9d0d38ce5112a27d"}, + {file = "matplotlib-3.9.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf81de2926c2db243c9b2cbc3917619a0fc85796c6ba4e58f541df814bbf83c7"}, + {file = "matplotlib-3.9.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6ee45bc4245533111ced13f1f2cace1e7f89d1c793390392a80c139d6cf0e6c"}, + {file = "matplotlib-3.9.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:306c8dfc73239f0e72ac50e5a9cf19cc4e8e331dd0c54f5e69ca8758550f1e1e"}, + {file = "matplotlib-3.9.2-cp312-cp312-win_amd64.whl", hash = "sha256:5413401594cfaff0052f9d8b1aafc6d305b4bd7c4331dccd18f561ff7e1d3bd3"}, + {file = "matplotlib-3.9.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:18128cc08f0d3cfff10b76baa2f296fc28c4607368a8402de61bb3f2eb33c7d9"}, + {file = "matplotlib-3.9.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4876d7d40219e8ae8bb70f9263bcbe5714415acfdf781086601211335e24f8aa"}, + {file = "matplotlib-3.9.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d9f07a80deab4bb0b82858a9e9ad53d1382fd122be8cde11080f4e7dfedb38b"}, + {file = "matplotlib-3.9.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7c0410f181a531ec4e93bbc27692f2c71a15c2da16766f5ba9761e7ae518413"}, + {file = "matplotlib-3.9.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:909645cce2dc28b735674ce0931a4ac94e12f5b13f6bb0b5a5e65e7cea2c192b"}, + {file = "matplotlib-3.9.2-cp313-cp313-win_amd64.whl", hash = "sha256:f32c7410c7f246838a77d6d1eff0c0f87f3cb0e7c4247aebea71a6d5a68cab49"}, + {file = "matplotlib-3.9.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:37e51dd1c2db16ede9cfd7b5cabdfc818b2c6397c83f8b10e0e797501c963a03"}, + {file = "matplotlib-3.9.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:b82c5045cebcecd8496a4d694d43f9cc84aeeb49fe2133e036b207abe73f4d30"}, + {file = "matplotlib-3.9.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f053c40f94bc51bc03832a41b4f153d83f2062d88c72b5e79997072594e97e51"}, + {file = "matplotlib-3.9.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dbe196377a8248972f5cede786d4c5508ed5f5ca4a1e09b44bda889958b33f8c"}, + {file = "matplotlib-3.9.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5816b1e1fe8c192cbc013f8f3e3368ac56fbecf02fb41b8f8559303f24c5015e"}, + {file = "matplotlib-3.9.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:cef2a73d06601437be399908cf13aee74e86932a5ccc6ccdf173408ebc5f6bb2"}, + {file = "matplotlib-3.9.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e0830e188029c14e891fadd99702fd90d317df294c3298aad682739c5533721a"}, + {file = "matplotlib-3.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:03ba9c1299c920964e8d3857ba27173b4dbb51ca4bab47ffc2c2ba0eb5e2cbc5"}, + {file = "matplotlib-3.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1cd93b91ab47a3616b4d3c42b52f8363b88ca021e340804c6ab2536344fad9ca"}, + {file = "matplotlib-3.9.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6d1ce5ed2aefcdce11904fc5bbea7d9c21fff3d5f543841edf3dea84451a09ea"}, + {file = "matplotlib-3.9.2-cp39-cp39-win_amd64.whl", hash = "sha256:b2696efdc08648536efd4e1601b5fd491fd47f4db97a5fbfd175549a7365c1b2"}, + {file = "matplotlib-3.9.2-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:d52a3b618cb1cbb769ce2ee1dcdb333c3ab6e823944e9a2d36e37253815f9556"}, + {file = "matplotlib-3.9.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:039082812cacd6c6bec8e17a9c1e6baca230d4116d522e81e1f63a74d01d2e21"}, + {file = "matplotlib-3.9.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6758baae2ed64f2331d4fd19be38b7b4eae3ecec210049a26b6a4f3ae1c85dcc"}, + {file = "matplotlib-3.9.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:050598c2b29e0b9832cde72bcf97627bf00262adbc4a54e2b856426bb2ef0697"}, + {file = "matplotlib-3.9.2.tar.gz", hash = "sha256:96ab43906269ca64a6366934106fa01534454a69e471b7bf3d79083981aaab92"}, ] [package.dependencies] @@ -772,13 +1008,13 @@ dev = ["meson-python (>=0.13.1)", "numpy (>=1.25)", "pybind11 (>=2.6)", "setupto [[package]] name = "mdit-py-plugins" -version = "0.4.1" +version = "0.4.2" description = "Collection of plugins for markdown-it-py" optional = false python-versions = ">=3.8" files = [ - {file = "mdit_py_plugins-0.4.1-py3-none-any.whl", hash = "sha256:1020dfe4e6bfc2c79fb49ae4e3f5b297f5ccd20f010187acc52af2921e27dc6a"}, - {file = "mdit_py_plugins-0.4.1.tar.gz", hash = "sha256:834b8ac23d1cd60cec703646ffd22ae97b7955a6d596eb1d304be1e251ae499c"}, + {file = "mdit_py_plugins-0.4.2-py3-none-any.whl", hash = "sha256:0c673c3f889399a33b95e88d2f0d111b4447bdfea7f237dab2d488f459835636"}, + {file = "mdit_py_plugins-0.4.2.tar.gz", hash = "sha256:5f2cd1fdb606ddf152d37ec30e46101a60512bc0e5fa1a7002c36647b09e26b5"}, ] [package.dependencies] @@ -843,20 +1079,21 @@ icu = ["PyICU (>=1.0.0)"] [[package]] name = "networkx" -version = "3.3" +version = "3.4.2" description = "Python package for creating and manipulating graphs and networks" optional = false python-versions = ">=3.10" files = [ - {file = "networkx-3.3-py3-none-any.whl", hash = "sha256:28575580c6ebdaf4505b22c6256a2b9de86b316dc63ba9e93abde3d78dfdbcf2"}, - {file = "networkx-3.3.tar.gz", hash = "sha256:0c127d8b2f4865f59ae9cb8aafcd60b5c70f3241ebd66f7defad7c4ab90126c9"}, + {file = "networkx-3.4.2-py3-none-any.whl", hash = "sha256:df5d4365b724cf81b8c6a7312509d0c22386097011ad1abe274afd5e9d3bbc5f"}, + {file = "networkx-3.4.2.tar.gz", hash = "sha256:307c3669428c5362aab27c8a1260aa8f47c4e91d3891f48be0141738d8d053e1"}, ] [package.extras] -default = ["matplotlib (>=3.6)", "numpy (>=1.23)", "pandas (>=1.4)", "scipy (>=1.9,!=1.11.0,!=1.11.1)"] +default = ["matplotlib (>=3.7)", "numpy (>=1.24)", "pandas (>=2.0)", "scipy (>=1.10,!=1.11.0,!=1.11.1)"] developer = ["changelist (==0.5)", "mypy (>=1.1)", "pre-commit (>=3.2)", "rtoml"] -doc = ["myst-nb (>=1.0)", "numpydoc (>=1.7)", "pillow (>=9.4)", "pydata-sphinx-theme (>=0.14)", "sphinx (>=7)", "sphinx-gallery (>=0.14)", "texext (>=0.6.7)"] -extra = ["lxml (>=4.6)", "pydot (>=2.0)", "pygraphviz (>=1.12)", "sympy (>=1.10)"] +doc = ["intersphinx-registry", "myst-nb (>=1.1)", "numpydoc (>=1.8.0)", "pillow (>=9.4)", "pydata-sphinx-theme (>=0.15)", "sphinx (>=7.3)", "sphinx-gallery (>=0.16)", "texext (>=0.6.7)"] +example = ["cairocffi (>=1.7)", "contextily (>=1.6)", "igraph (>=0.11)", "momepy (>=0.7.2)", "osmnx (>=1.9)", "scikit-learn (>=1.5)", "seaborn (>=0.13)"] +extra = ["lxml (>=4.6)", "pydot (>=3.0.1)", "pygraphviz (>=1.14)", "sympy (>=1.10)"] test = ["pytest (>=7.2)", "pytest-cov (>=4.0)"] [[package]] @@ -977,95 +1214,90 @@ testing = ["docopt", "pytest"] [[package]] name = "pillow" -version = "10.4.0" +version = "11.0.0" description = "Python Imaging Library (Fork)" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "pillow-10.4.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e"}, - {file = "pillow-10.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d"}, - {file = "pillow-10.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7928ecbf1ece13956b95d9cbcfc77137652b02763ba384d9ab508099a2eca856"}, - {file = "pillow-10.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4d49b85c4348ea0b31ea63bc75a9f3857869174e2bf17e7aba02945cd218e6f"}, - {file = "pillow-10.4.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:6c762a5b0997f5659a5ef2266abc1d8851ad7749ad9a6a5506eb23d314e4f46b"}, - {file = "pillow-10.4.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a985e028fc183bf12a77a8bbf36318db4238a3ded7fa9df1b9a133f1cb79f8fc"}, - {file = "pillow-10.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:812f7342b0eee081eaec84d91423d1b4650bb9828eb53d8511bcef8ce5aecf1e"}, - {file = "pillow-10.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ac1452d2fbe4978c2eec89fb5a23b8387aba707ac72810d9490118817d9c0b46"}, - {file = "pillow-10.4.0-cp310-cp310-win32.whl", hash = "sha256:bcd5e41a859bf2e84fdc42f4edb7d9aba0a13d29a2abadccafad99de3feff984"}, - {file = "pillow-10.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:ecd85a8d3e79cd7158dec1c9e5808e821feea088e2f69a974db5edf84dc53141"}, - {file = "pillow-10.4.0-cp310-cp310-win_arm64.whl", hash = "sha256:ff337c552345e95702c5fde3158acb0625111017d0e5f24bf3acdb9cc16b90d1"}, - {file = "pillow-10.4.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:0a9ec697746f268507404647e531e92889890a087e03681a3606d9b920fbee3c"}, - {file = "pillow-10.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe91cb65544a1321e631e696759491ae04a2ea11d36715eca01ce07284738be"}, - {file = "pillow-10.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5dc6761a6efc781e6a1544206f22c80c3af4c8cf461206d46a1e6006e4429ff3"}, - {file = "pillow-10.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6"}, - {file = "pillow-10.4.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:bbc527b519bd3aa9d7f429d152fea69f9ad37c95f0b02aebddff592688998abe"}, - {file = "pillow-10.4.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319"}, - {file = "pillow-10.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:59291fb29317122398786c2d44427bbd1a6d7ff54017075b22be9d21aa59bd8d"}, - {file = "pillow-10.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:416d3a5d0e8cfe4f27f574362435bc9bae57f679a7158e0096ad2beb427b8696"}, - {file = "pillow-10.4.0-cp311-cp311-win32.whl", hash = "sha256:7086cc1d5eebb91ad24ded9f58bec6c688e9f0ed7eb3dbbf1e4800280a896496"}, - {file = "pillow-10.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cbed61494057c0f83b83eb3a310f0bf774b09513307c434d4366ed64f4128a91"}, - {file = "pillow-10.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:f5f0c3e969c8f12dd2bb7e0b15d5c468b51e5017e01e2e867335c81903046a22"}, - {file = "pillow-10.4.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:673655af3eadf4df6b5457033f086e90299fdd7a47983a13827acf7459c15d94"}, - {file = "pillow-10.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597"}, - {file = "pillow-10.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29dbdc4207642ea6aad70fbde1a9338753d33fb23ed6956e706936706f52dd80"}, - {file = "pillow-10.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf2342ac639c4cf38799a44950bbc2dfcb685f052b9e262f446482afaf4bffca"}, - {file = "pillow-10.4.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:f5b92f4d70791b4a67157321c4e8225d60b119c5cc9aee8ecf153aace4aad4ef"}, - {file = "pillow-10.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:86dcb5a1eb778d8b25659d5e4341269e8590ad6b4e8b44d9f4b07f8d136c414a"}, - {file = "pillow-10.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:780c072c2e11c9b2c7ca37f9a2ee8ba66f44367ac3e5c7832afcfe5104fd6d1b"}, - {file = "pillow-10.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:37fb69d905be665f68f28a8bba3c6d3223c8efe1edf14cc4cfa06c241f8c81d9"}, - {file = "pillow-10.4.0-cp312-cp312-win32.whl", hash = "sha256:7dfecdbad5c301d7b5bde160150b4db4c659cee2b69589705b6f8a0c509d9f42"}, - {file = "pillow-10.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:1d846aea995ad352d4bdcc847535bd56e0fd88d36829d2c90be880ef1ee4668a"}, - {file = "pillow-10.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:e553cad5179a66ba15bb18b353a19020e73a7921296a7979c4a2b7f6a5cd57f9"}, - {file = "pillow-10.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3"}, - {file = "pillow-10.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb"}, - {file = "pillow-10.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70"}, - {file = "pillow-10.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be"}, - {file = "pillow-10.4.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0"}, - {file = "pillow-10.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc"}, - {file = "pillow-10.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a"}, - {file = "pillow-10.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309"}, - {file = "pillow-10.4.0-cp313-cp313-win32.whl", hash = "sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060"}, - {file = "pillow-10.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea"}, - {file = "pillow-10.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d"}, - {file = "pillow-10.4.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8d4d5063501b6dd4024b8ac2f04962d661222d120381272deea52e3fc52d3736"}, - {file = "pillow-10.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7c1ee6f42250df403c5f103cbd2768a28fe1a0ea1f0f03fe151c8741e1469c8b"}, - {file = "pillow-10.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b15e02e9bb4c21e39876698abf233c8c579127986f8207200bc8a8f6bb27acf2"}, - {file = "pillow-10.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a8d4bade9952ea9a77d0c3e49cbd8b2890a399422258a77f357b9cc9be8d680"}, - {file = "pillow-10.4.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:43efea75eb06b95d1631cb784aa40156177bf9dd5b4b03ff38979e048258bc6b"}, - {file = "pillow-10.4.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:950be4d8ba92aca4b2bb0741285a46bfae3ca699ef913ec8416c1b78eadd64cd"}, - {file = "pillow-10.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:d7480af14364494365e89d6fddc510a13e5a2c3584cb19ef65415ca57252fb84"}, - {file = "pillow-10.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:73664fe514b34c8f02452ffb73b7a92c6774e39a647087f83d67f010eb9a0cf0"}, - {file = "pillow-10.4.0-cp38-cp38-win32.whl", hash = "sha256:e88d5e6ad0d026fba7bdab8c3f225a69f063f116462c49892b0149e21b6c0a0e"}, - {file = "pillow-10.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:5161eef006d335e46895297f642341111945e2c1c899eb406882a6c61a4357ab"}, - {file = "pillow-10.4.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:0ae24a547e8b711ccaaf99c9ae3cd975470e1a30caa80a6aaee9a2f19c05701d"}, - {file = "pillow-10.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:298478fe4f77a4408895605f3482b6cc6222c018b2ce565c2b6b9c354ac3229b"}, - {file = "pillow-10.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:134ace6dc392116566980ee7436477d844520a26a4b1bd4053f6f47d096997fd"}, - {file = "pillow-10.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:930044bb7679ab003b14023138b50181899da3f25de50e9dbee23b61b4de2126"}, - {file = "pillow-10.4.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:c76e5786951e72ed3686e122d14c5d7012f16c8303a674d18cdcd6d89557fc5b"}, - {file = "pillow-10.4.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b2724fdb354a868ddf9a880cb84d102da914e99119211ef7ecbdc613b8c96b3c"}, - {file = "pillow-10.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dbc6ae66518ab3c5847659e9988c3b60dc94ffb48ef9168656e0019a93dbf8a1"}, - {file = "pillow-10.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:06b2f7898047ae93fad74467ec3d28fe84f7831370e3c258afa533f81ef7f3df"}, - {file = "pillow-10.4.0-cp39-cp39-win32.whl", hash = "sha256:7970285ab628a3779aecc35823296a7869f889b8329c16ad5a71e4901a3dc4ef"}, - {file = "pillow-10.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:961a7293b2457b405967af9c77dcaa43cc1a8cd50d23c532e62d48ab6cdd56f5"}, - {file = "pillow-10.4.0-cp39-cp39-win_arm64.whl", hash = "sha256:32cda9e3d601a52baccb2856b8ea1fc213c90b340c542dcef77140dfa3278a9e"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5b4815f2e65b30f5fbae9dfffa8636d992d49705723fe86a3661806e069352d4"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:8f0aef4ef59694b12cadee839e2ba6afeab89c0f39a3adc02ed51d109117b8da"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f4727572e2918acaa9077c919cbbeb73bd2b3ebcfe033b72f858fc9fbef0026"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff25afb18123cea58a591ea0244b92eb1e61a1fd497bf6d6384f09bc3262ec3e"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:dc3e2db6ba09ffd7d02ae9141cfa0ae23393ee7687248d46a7507b75d610f4f5"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:02a2be69f9c9b8c1e97cf2713e789d4e398c751ecfd9967c18d0ce304efbf885"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:a02364621fe369e06200d4a16558e056fe2805d3468350df3aef21e00d26214b"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:1b5dea9831a90e9d0721ec417a80d4cbd7022093ac38a568db2dd78363b00908"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b885f89040bb8c4a1573566bbb2f44f5c505ef6e74cec7ab9068c900047f04b"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87dd88ded2e6d74d31e1e0a99a726a6765cda32d00ba72dc37f0651f306daaa8"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:2db98790afc70118bd0255c2eeb465e9767ecf1f3c25f9a1abb8ffc8cfd1fe0a"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f7baece4ce06bade126fb84b8af1c33439a76d8a6fd818970215e0560ca28c27"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:cfdd747216947628af7b259d274771d84db2268ca062dd5faf373639d00113a3"}, - {file = "pillow-10.4.0.tar.gz", hash = "sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06"}, + {file = "pillow-11.0.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:6619654954dc4936fcff82db8eb6401d3159ec6be81e33c6000dfd76ae189947"}, + {file = "pillow-11.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b3c5ac4bed7519088103d9450a1107f76308ecf91d6dabc8a33a2fcfb18d0fba"}, + {file = "pillow-11.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a65149d8ada1055029fcb665452b2814fe7d7082fcb0c5bed6db851cb69b2086"}, + {file = "pillow-11.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88a58d8ac0cc0e7f3a014509f0455248a76629ca9b604eca7dc5927cc593c5e9"}, + {file = "pillow-11.0.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:c26845094b1af3c91852745ae78e3ea47abf3dbcd1cf962f16b9a5fbe3ee8488"}, + {file = "pillow-11.0.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:1a61b54f87ab5786b8479f81c4b11f4d61702830354520837f8cc791ebba0f5f"}, + {file = "pillow-11.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:674629ff60030d144b7bca2b8330225a9b11c482ed408813924619c6f302fdbb"}, + {file = "pillow-11.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:598b4e238f13276e0008299bd2482003f48158e2b11826862b1eb2ad7c768b97"}, + {file = "pillow-11.0.0-cp310-cp310-win32.whl", hash = "sha256:9a0f748eaa434a41fccf8e1ee7a3eed68af1b690e75328fd7a60af123c193b50"}, + {file = "pillow-11.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:a5629742881bcbc1f42e840af185fd4d83a5edeb96475a575f4da50d6ede337c"}, + {file = "pillow-11.0.0-cp310-cp310-win_arm64.whl", hash = "sha256:ee217c198f2e41f184f3869f3e485557296d505b5195c513b2bfe0062dc537f1"}, + {file = "pillow-11.0.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:1c1d72714f429a521d8d2d018badc42414c3077eb187a59579f28e4270b4b0fc"}, + {file = "pillow-11.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:499c3a1b0d6fc8213519e193796eb1a86a1be4b1877d678b30f83fd979811d1a"}, + {file = "pillow-11.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c8b2351c85d855293a299038e1f89db92a2f35e8d2f783489c6f0b2b5f3fe8a3"}, + {file = "pillow-11.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f4dba50cfa56f910241eb7f883c20f1e7b1d8f7d91c750cd0b318bad443f4d5"}, + {file = "pillow-11.0.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:5ddbfd761ee00c12ee1be86c9c0683ecf5bb14c9772ddbd782085779a63dd55b"}, + {file = "pillow-11.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:45c566eb10b8967d71bf1ab8e4a525e5a93519e29ea071459ce517f6b903d7fa"}, + {file = "pillow-11.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b4fd7bd29610a83a8c9b564d457cf5bd92b4e11e79a4ee4716a63c959699b306"}, + {file = "pillow-11.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:cb929ca942d0ec4fac404cbf520ee6cac37bf35be479b970c4ffadf2b6a1cad9"}, + {file = "pillow-11.0.0-cp311-cp311-win32.whl", hash = "sha256:006bcdd307cc47ba43e924099a038cbf9591062e6c50e570819743f5607404f5"}, + {file = "pillow-11.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:52a2d8323a465f84faaba5236567d212c3668f2ab53e1c74c15583cf507a0291"}, + {file = "pillow-11.0.0-cp311-cp311-win_arm64.whl", hash = "sha256:16095692a253047fe3ec028e951fa4221a1f3ed3d80c397e83541a3037ff67c9"}, + {file = "pillow-11.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d2c0a187a92a1cb5ef2c8ed5412dd8d4334272617f532d4ad4de31e0495bd923"}, + {file = "pillow-11.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:084a07ef0821cfe4858fe86652fffac8e187b6ae677e9906e192aafcc1b69903"}, + {file = "pillow-11.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8069c5179902dcdce0be9bfc8235347fdbac249d23bd90514b7a47a72d9fecf4"}, + {file = "pillow-11.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f02541ef64077f22bf4924f225c0fd1248c168f86e4b7abdedd87d6ebaceab0f"}, + {file = "pillow-11.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:fcb4621042ac4b7865c179bb972ed0da0218a076dc1820ffc48b1d74c1e37fe9"}, + {file = "pillow-11.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:00177a63030d612148e659b55ba99527803288cea7c75fb05766ab7981a8c1b7"}, + {file = "pillow-11.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8853a3bf12afddfdf15f57c4b02d7ded92c7a75a5d7331d19f4f9572a89c17e6"}, + {file = "pillow-11.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3107c66e43bda25359d5ef446f59c497de2b5ed4c7fdba0894f8d6cf3822dafc"}, + {file = "pillow-11.0.0-cp312-cp312-win32.whl", hash = "sha256:86510e3f5eca0ab87429dd77fafc04693195eec7fd6a137c389c3eeb4cfb77c6"}, + {file = "pillow-11.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:8ec4a89295cd6cd4d1058a5e6aec6bf51e0eaaf9714774e1bfac7cfc9051db47"}, + {file = "pillow-11.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:27a7860107500d813fcd203b4ea19b04babe79448268403172782754870dac25"}, + {file = "pillow-11.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:bcd1fb5bb7b07f64c15618c89efcc2cfa3e95f0e3bcdbaf4642509de1942a699"}, + {file = "pillow-11.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0e038b0745997c7dcaae350d35859c9715c71e92ffb7e0f4a8e8a16732150f38"}, + {file = "pillow-11.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ae08bd8ffc41aebf578c2af2f9d8749d91f448b3bfd41d7d9ff573d74f2a6b2"}, + {file = "pillow-11.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d69bfd8ec3219ae71bcde1f942b728903cad25fafe3100ba2258b973bd2bc1b2"}, + {file = "pillow-11.0.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:61b887f9ddba63ddf62fd02a3ba7add935d053b6dd7d58998c630e6dbade8527"}, + {file = "pillow-11.0.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:c6a660307ca9d4867caa8d9ca2c2658ab685de83792d1876274991adec7b93fa"}, + {file = "pillow-11.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:73e3a0200cdda995c7e43dd47436c1548f87a30bb27fb871f352a22ab8dcf45f"}, + {file = "pillow-11.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fba162b8872d30fea8c52b258a542c5dfd7b235fb5cb352240c8d63b414013eb"}, + {file = "pillow-11.0.0-cp313-cp313-win32.whl", hash = "sha256:f1b82c27e89fffc6da125d5eb0ca6e68017faf5efc078128cfaa42cf5cb38798"}, + {file = "pillow-11.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:8ba470552b48e5835f1d23ecb936bb7f71d206f9dfeee64245f30c3270b994de"}, + {file = "pillow-11.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:846e193e103b41e984ac921b335df59195356ce3f71dcfd155aa79c603873b84"}, + {file = "pillow-11.0.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:4ad70c4214f67d7466bea6a08061eba35c01b1b89eaa098040a35272a8efb22b"}, + {file = "pillow-11.0.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:6ec0d5af64f2e3d64a165f490d96368bb5dea8b8f9ad04487f9ab60dc4bb6003"}, + {file = "pillow-11.0.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c809a70e43c7977c4a42aefd62f0131823ebf7dd73556fa5d5950f5b354087e2"}, + {file = "pillow-11.0.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:4b60c9520f7207aaf2e1d94de026682fc227806c6e1f55bba7606d1c94dd623a"}, + {file = "pillow-11.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:1e2688958a840c822279fda0086fec1fdab2f95bf2b717b66871c4ad9859d7e8"}, + {file = "pillow-11.0.0-cp313-cp313t-win32.whl", hash = "sha256:607bbe123c74e272e381a8d1957083a9463401f7bd01287f50521ecb05a313f8"}, + {file = "pillow-11.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5c39ed17edea3bc69c743a8dd3e9853b7509625c2462532e62baa0732163a904"}, + {file = "pillow-11.0.0-cp313-cp313t-win_arm64.whl", hash = "sha256:75acbbeb05b86bc53cbe7b7e6fe00fbcf82ad7c684b3ad82e3d711da9ba287d3"}, + {file = "pillow-11.0.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:2e46773dc9f35a1dd28bd6981332fd7f27bec001a918a72a79b4133cf5291dba"}, + {file = "pillow-11.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2679d2258b7f1192b378e2893a8a0a0ca472234d4c2c0e6bdd3380e8dfa21b6a"}, + {file = "pillow-11.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eda2616eb2313cbb3eebbe51f19362eb434b18e3bb599466a1ffa76a033fb916"}, + {file = "pillow-11.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:20ec184af98a121fb2da42642dea8a29ec80fc3efbaefb86d8fdd2606619045d"}, + {file = "pillow-11.0.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:8594f42df584e5b4bb9281799698403f7af489fba84c34d53d1c4bfb71b7c4e7"}, + {file = "pillow-11.0.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:c12b5ae868897c7338519c03049a806af85b9b8c237b7d675b8c5e089e4a618e"}, + {file = "pillow-11.0.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:70fbbdacd1d271b77b7721fe3cdd2d537bbbd75d29e6300c672ec6bb38d9672f"}, + {file = "pillow-11.0.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5178952973e588b3f1360868847334e9e3bf49d19e169bbbdfaf8398002419ae"}, + {file = "pillow-11.0.0-cp39-cp39-win32.whl", hash = "sha256:8c676b587da5673d3c75bd67dd2a8cdfeb282ca38a30f37950511766b26858c4"}, + {file = "pillow-11.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:94f3e1780abb45062287b4614a5bc0874519c86a777d4a7ad34978e86428b8dd"}, + {file = "pillow-11.0.0-cp39-cp39-win_arm64.whl", hash = "sha256:290f2cc809f9da7d6d622550bbf4c1e57518212da51b6a30fe8e0a270a5b78bd"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:1187739620f2b365de756ce086fdb3604573337cc28a0d3ac4a01ab6b2d2a6d2"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:fbbcb7b57dc9c794843e3d1258c0fbf0f48656d46ffe9e09b63bbd6e8cd5d0a2"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d203af30149ae339ad1b4f710d9844ed8796e97fda23ffbc4cc472968a47d0b"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21a0d3b115009ebb8ac3d2ebec5c2982cc693da935f4ab7bb5c8ebe2f47d36f2"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:73853108f56df97baf2bb8b522f3578221e56f646ba345a372c78326710d3830"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e58876c91f97b0952eb766123bfef372792ab3f4e3e1f1a2267834c2ab131734"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:224aaa38177597bb179f3ec87eeefcce8e4f85e608025e9cfac60de237ba6316"}, + {file = "pillow-11.0.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:5bd2d3bdb846d757055910f0a59792d33b555800813c3b39ada1829c372ccb06"}, + {file = "pillow-11.0.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:375b8dd15a1f5d2feafff536d47e22f69625c1aa92f12b339ec0b2ca40263273"}, + {file = "pillow-11.0.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:daffdf51ee5db69a82dd127eabecce20729e21f7a3680cf7cbb23f0829189790"}, + {file = "pillow-11.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7326a1787e3c7b0429659e0a944725e1b03eeaa10edd945a86dead1913383944"}, + {file = "pillow-11.0.0.tar.gz", hash = "sha256:72bacbaf24ac003fea9bff9837d1eedb6088758d41e100c1552930151f677739"}, ] [package.extras] -docs = ["furo", "olefile", "sphinx (>=7.3)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinxext-opengraph"] +docs = ["furo", "olefile", "sphinx (>=8.1)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinxext-opengraph"] fpx = ["olefile"] mic = ["olefile"] tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] @@ -1089,13 +1321,13 @@ testing = ["pytest", "pytest-benchmark"] [[package]] name = "prompt-toolkit" -version = "3.0.47" +version = "3.0.48" description = "Library for building powerful interactive command lines in Python" optional = false python-versions = ">=3.7.0" files = [ - {file = "prompt_toolkit-3.0.47-py3-none-any.whl", hash = "sha256:0d7bfa67001d5e39d02c224b663abc33687405033a8c422d0d675a5a13361d10"}, - {file = "prompt_toolkit-3.0.47.tar.gz", hash = "sha256:1e1b29cb58080b1e69f207c893a1a7bf16d127a5c30c9d17a25a5d77792e5360"}, + {file = "prompt_toolkit-3.0.48-py3-none-any.whl", hash = "sha256:f49a827f90062e411f1ce1f854f2aedb3c23353244f8108b89283587397ac10e"}, + {file = "prompt_toolkit-3.0.48.tar.gz", hash = "sha256:d6623ab0477a80df74e646bdbc93621143f5caf104206aa29294d53de1a03d90"}, ] [package.dependencies] @@ -1122,6 +1354,17 @@ pygments = "*" all = ["black"] ptipython = ["ipython"] +[[package]] +name = "py" +version = "1.11.0" +description = "library with cross-python path, ini-parsing, io, code, log facilities" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, + {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"}, +] + [[package]] name = "pygments" version = "2.18.0" @@ -1138,13 +1381,13 @@ windows-terminal = ["colorama (>=0.4.6)"] [[package]] name = "pyparsing" -version = "3.1.2" +version = "3.2.0" description = "pyparsing module - Classes and methods to define and execute parsing grammars" optional = false -python-versions = ">=3.6.8" +python-versions = ">=3.9" files = [ - {file = "pyparsing-3.1.2-py3-none-any.whl", hash = "sha256:f9db75911801ed778fe61bb643079ff86601aca99fcae6345aa67292038fb742"}, - {file = "pyparsing-3.1.2.tar.gz", hash = "sha256:a1bac0ce561155ecc3ed78ca94d3c9378656ad4c94c1270de543f621420f94ad"}, + {file = "pyparsing-3.2.0-py3-none-any.whl", hash = "sha256:93d9577b88da0bbea8cc8334ee8b918ed014968fd2ec383e868fb8afb1ccef84"}, + {file = "pyparsing-3.2.0.tar.gz", hash = "sha256:cbf74e27246d595d9a74b186b810f6fbb86726dbf3b9532efb343f6d7294fe9c"}, ] [package.extras] @@ -1152,31 +1395,33 @@ diagrams = ["jinja2", "railroad-diagrams"] [[package]] name = "pyright" -version = "1.1.373" +version = "1.1.387" description = "Command line wrapper for pyright" optional = false python-versions = ">=3.7" files = [ - {file = "pyright-1.1.373-py3-none-any.whl", hash = "sha256:b805413227f2c209f27b14b55da27fe5e9fb84129c9f1eb27708a5d12f6f000e"}, - {file = "pyright-1.1.373.tar.gz", hash = "sha256:f41bcfc8b9d1802b09921a394d6ae1ce19694957b628bc657629688daf8a83ff"}, + {file = "pyright-1.1.387-py3-none-any.whl", hash = "sha256:6a1f495a261a72e12ad17e20d1ae3df4511223c773b19407cfa006229b1b08a5"}, + {file = "pyright-1.1.387.tar.gz", hash = "sha256:577de60224f7fe36505d5b181231e3a395d427b7873be0bbcaa962a29ea93a60"}, ] [package.dependencies] nodeenv = ">=1.6.0" +typing-extensions = ">=4.1" [package.extras] -all = ["twine (>=3.4.1)"] +all = ["nodejs-wheel-binaries", "twine (>=3.4.1)"] dev = ["twine (>=3.4.1)"] +nodejs = ["nodejs-wheel-binaries"] [[package]] name = "pytest" -version = "8.3.2" +version = "8.3.3" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.8" files = [ - {file = "pytest-8.3.2-py3-none-any.whl", hash = "sha256:4ba08f9ae7dcf84ded419494d229b48d0903ea6407b030eaec46df5e6a73bba5"}, - {file = "pytest-8.3.2.tar.gz", hash = "sha256:c132345d12ce551242c87269de812483f5bcc87cdbb4722e48487ba194f9fdce"}, + {file = "pytest-8.3.3-py3-none-any.whl", hash = "sha256:a6853c7375b2663155079443d2e45de913a911a11d669df02a50814944db57b2"}, + {file = "pytest-8.3.3.tar.gz", hash = "sha256:70b98107bd648308a7952b06e6ca9a50bc660be218d53c257cc1fc94fda10181"}, ] [package.dependencies] @@ -1190,6 +1435,24 @@ tomli = {version = ">=1", markers = "python_version < \"3.11\""} [package.extras] dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] +[[package]] +name = "pytest-cov" +version = "5.0.0" +description = "Pytest plugin for measuring coverage." +optional = false +python-versions = ">=3.8" +files = [ + {file = "pytest-cov-5.0.0.tar.gz", hash = "sha256:5837b58e9f6ebd335b0f8060eecce69b662415b16dc503883a02f45dfeb14857"}, + {file = "pytest_cov-5.0.0-py3-none-any.whl", hash = "sha256:4f0764a1219df53214206bf1feea4633c3b558a2925c8b59f144f682861ce652"}, +] + +[package.dependencies] +coverage = {version = ">=5.2.1", extras = ["toml"]} +pytest = ">=4.6" + +[package.extras] +testing = ["fields", "hunter", "process-tests", "pytest-xdist", "virtualenv"] + [[package]] name = "python-dateutil" version = "2.9.0.post0" @@ -1206,62 +1469,64 @@ six = ">=1.5" [[package]] name = "pyyaml" -version = "6.0.1" +version = "6.0.2" description = "YAML parser and emitter for Python" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"}, - {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, - {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"}, - {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, - {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, - {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, - {file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, - {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"}, - {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, - {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, - {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, - {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, - {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"}, - {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, - {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, - {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, - {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"}, - {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, - {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, - {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, - {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd"}, - {file = "PyYAML-6.0.1-cp36-cp36m-win32.whl", hash = "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585"}, - {file = "PyYAML-6.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa"}, - {file = "PyYAML-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3"}, - {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27"}, - {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3"}, - {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c"}, - {file = "PyYAML-6.0.1-cp37-cp37m-win32.whl", hash = "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba"}, - {file = "PyYAML-6.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867"}, - {file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, - {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"}, - {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, - {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, - {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, - {file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, - {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"}, - {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, - {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, - {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, + {file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"}, + {file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed"}, + {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180"}, + {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68"}, + {file = "PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99"}, + {file = "PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e"}, + {file = "PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774"}, + {file = "PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85"}, + {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4"}, + {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e"}, + {file = "PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5"}, + {file = "PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44"}, + {file = "PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab"}, + {file = "PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476"}, + {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48"}, + {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b"}, + {file = "PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4"}, + {file = "PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8"}, + {file = "PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba"}, + {file = "PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5"}, + {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc"}, + {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652"}, + {file = "PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183"}, + {file = "PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563"}, + {file = "PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083"}, + {file = "PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706"}, + {file = "PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a"}, + {file = "PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff"}, + {file = "PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d"}, + {file = "PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19"}, + {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e"}, + {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725"}, + {file = "PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631"}, + {file = "PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8"}, + {file = "pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"}, ] [[package]] @@ -1313,36 +1578,44 @@ files = [ [[package]] name = "scipy" -version = "1.14.0" +version = "1.14.1" description = "Fundamental algorithms for scientific computing in Python" optional = false python-versions = ">=3.10" files = [ - {file = "scipy-1.14.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7e911933d54ead4d557c02402710c2396529540b81dd554fc1ba270eb7308484"}, - {file = "scipy-1.14.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:687af0a35462402dd851726295c1a5ae5f987bd6e9026f52e9505994e2f84ef6"}, - {file = "scipy-1.14.0-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:07e179dc0205a50721022344fb85074f772eadbda1e1b3eecdc483f8033709b7"}, - {file = "scipy-1.14.0-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:6a9c9a9b226d9a21e0a208bdb024c3982932e43811b62d202aaf1bb59af264b1"}, - {file = "scipy-1.14.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:076c27284c768b84a45dcf2e914d4000aac537da74236a0d45d82c6fa4b7b3c0"}, - {file = "scipy-1.14.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42470ea0195336df319741e230626b6225a740fd9dce9642ca13e98f667047c0"}, - {file = "scipy-1.14.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:176c6f0d0470a32f1b2efaf40c3d37a24876cebf447498a4cefb947a79c21e9d"}, - {file = "scipy-1.14.0-cp310-cp310-win_amd64.whl", hash = "sha256:ad36af9626d27a4326c8e884917b7ec321d8a1841cd6dacc67d2a9e90c2f0359"}, - {file = "scipy-1.14.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6d056a8709ccda6cf36cdd2eac597d13bc03dba38360f418560a93050c76a16e"}, - {file = "scipy-1.14.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:f0a50da861a7ec4573b7c716b2ebdcdf142b66b756a0d392c236ae568b3a93fb"}, - {file = "scipy-1.14.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:94c164a9e2498e68308e6e148646e486d979f7fcdb8b4cf34b5441894bdb9caf"}, - {file = "scipy-1.14.0-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:a7d46c3e0aea5c064e734c3eac5cf9eb1f8c4ceee756262f2c7327c4c2691c86"}, - {file = "scipy-1.14.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9eee2989868e274aae26125345584254d97c56194c072ed96cb433f32f692ed8"}, - {file = "scipy-1.14.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e3154691b9f7ed73778d746da2df67a19d046a6c8087c8b385bc4cdb2cfca74"}, - {file = "scipy-1.14.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c40003d880f39c11c1edbae8144e3813904b10514cd3d3d00c277ae996488cdb"}, - {file = "scipy-1.14.0-cp311-cp311-win_amd64.whl", hash = "sha256:5b083c8940028bb7e0b4172acafda6df762da1927b9091f9611b0bcd8676f2bc"}, - {file = "scipy-1.14.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:bff2438ea1330e06e53c424893ec0072640dac00f29c6a43a575cbae4c99b2b9"}, - {file = "scipy-1.14.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:bbc0471b5f22c11c389075d091d3885693fd3f5e9a54ce051b46308bc787e5d4"}, - {file = "scipy-1.14.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:64b2ff514a98cf2bb734a9f90d32dc89dc6ad4a4a36a312cd0d6327170339eb0"}, - {file = "scipy-1.14.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:7d3da42fbbbb860211a811782504f38ae7aaec9de8764a9bef6b262de7a2b50f"}, - {file = "scipy-1.14.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d91db2c41dd6c20646af280355d41dfa1ec7eead235642178bd57635a3f82209"}, - {file = "scipy-1.14.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a01cc03bcdc777c9da3cfdcc74b5a75caffb48a6c39c8450a9a05f82c4250a14"}, - {file = "scipy-1.14.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:65df4da3c12a2bb9ad52b86b4dcf46813e869afb006e58be0f516bc370165159"}, - {file = "scipy-1.14.0-cp312-cp312-win_amd64.whl", hash = "sha256:4c4161597c75043f7154238ef419c29a64ac4a7c889d588ea77690ac4d0d9b20"}, - {file = "scipy-1.14.0.tar.gz", hash = "sha256:b5923f48cb840380f9854339176ef21763118a7300a88203ccd0bdd26e58527b"}, + {file = "scipy-1.14.1-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:b28d2ca4add7ac16ae8bb6632a3c86e4b9e4d52d3e34267f6e1b0c1f8d87e389"}, + {file = "scipy-1.14.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:d0d2821003174de06b69e58cef2316a6622b60ee613121199cb2852a873f8cf3"}, + {file = "scipy-1.14.1-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:8bddf15838ba768bb5f5083c1ea012d64c9a444e16192762bd858f1e126196d0"}, + {file = "scipy-1.14.1-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:97c5dddd5932bd2a1a31c927ba5e1463a53b87ca96b5c9bdf5dfd6096e27efc3"}, + {file = "scipy-1.14.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ff0a7e01e422c15739ecd64432743cf7aae2b03f3084288f399affcefe5222d"}, + {file = "scipy-1.14.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e32dced201274bf96899e6491d9ba3e9a5f6b336708656466ad0522d8528f69"}, + {file = "scipy-1.14.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8426251ad1e4ad903a4514712d2fa8fdd5382c978010d1c6f5f37ef286a713ad"}, + {file = "scipy-1.14.1-cp310-cp310-win_amd64.whl", hash = "sha256:a49f6ed96f83966f576b33a44257d869756df6cf1ef4934f59dd58b25e0327e5"}, + {file = "scipy-1.14.1-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:2da0469a4ef0ecd3693761acbdc20f2fdeafb69e6819cc081308cc978153c675"}, + {file = "scipy-1.14.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:c0ee987efa6737242745f347835da2cc5bb9f1b42996a4d97d5c7ff7928cb6f2"}, + {file = "scipy-1.14.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3a1b111fac6baec1c1d92f27e76511c9e7218f1695d61b59e05e0fe04dc59617"}, + {file = "scipy-1.14.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:8475230e55549ab3f207bff11ebfc91c805dc3463ef62eda3ccf593254524ce8"}, + {file = "scipy-1.14.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:278266012eb69f4a720827bdd2dc54b2271c97d84255b2faaa8f161a158c3b37"}, + {file = "scipy-1.14.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fef8c87f8abfb884dac04e97824b61299880c43f4ce675dd2cbeadd3c9b466d2"}, + {file = "scipy-1.14.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b05d43735bb2f07d689f56f7b474788a13ed8adc484a85aa65c0fd931cf9ccd2"}, + {file = "scipy-1.14.1-cp311-cp311-win_amd64.whl", hash = "sha256:716e389b694c4bb564b4fc0c51bc84d381735e0d39d3f26ec1af2556ec6aad94"}, + {file = "scipy-1.14.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:631f07b3734d34aced009aaf6fedfd0eb3498a97e581c3b1e5f14a04164a456d"}, + {file = "scipy-1.14.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:af29a935803cc707ab2ed7791c44288a682f9c8107bc00f0eccc4f92c08d6e07"}, + {file = "scipy-1.14.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:2843f2d527d9eebec9a43e6b406fb7266f3af25a751aa91d62ff416f54170bc5"}, + {file = "scipy-1.14.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:eb58ca0abd96911932f688528977858681a59d61a7ce908ffd355957f7025cfc"}, + {file = "scipy-1.14.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:30ac8812c1d2aab7131a79ba62933a2a76f582d5dbbc695192453dae67ad6310"}, + {file = "scipy-1.14.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f9ea80f2e65bdaa0b7627fb00cbeb2daf163caa015e59b7516395fe3bd1e066"}, + {file = "scipy-1.14.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:edaf02b82cd7639db00dbff629995ef185c8df4c3ffa71a5562a595765a06ce1"}, + {file = "scipy-1.14.1-cp312-cp312-win_amd64.whl", hash = "sha256:2ff38e22128e6c03ff73b6bb0f85f897d2362f8c052e3b8ad00532198fbdae3f"}, + {file = "scipy-1.14.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1729560c906963fc8389f6aac023739ff3983e727b1a4d87696b7bf108316a79"}, + {file = "scipy-1.14.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:4079b90df244709e675cdc8b93bfd8a395d59af40b72e339c2287c91860deb8e"}, + {file = "scipy-1.14.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:e0cf28db0f24a38b2a0ca33a85a54852586e43cf6fd876365c86e0657cfe7d73"}, + {file = "scipy-1.14.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:0c2f95de3b04e26f5f3ad5bb05e74ba7f68b837133a4492414b3afd79dfe540e"}, + {file = "scipy-1.14.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b99722ea48b7ea25e8e015e8341ae74624f72e5f21fc2abd45f3a93266de4c5d"}, + {file = "scipy-1.14.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5149e3fd2d686e42144a093b206aef01932a0059c2a33ddfa67f5f035bdfe13e"}, + {file = "scipy-1.14.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e4f5a7c49323533f9103d4dacf4e4f07078f360743dec7f7596949149efeec06"}, + {file = "scipy-1.14.1-cp313-cp313-win_amd64.whl", hash = "sha256:baff393942b550823bfce952bb62270ee17504d02a1801d7fd0719534dfb9c84"}, + {file = "scipy-1.14.1.tar.gz", hash = "sha256:5a275584e726026a5699459aa72f828a610821006228e841b94275c4a7c08417"}, ] [package.dependencies] @@ -1350,8 +1623,8 @@ numpy = ">=1.23.5,<2.3" [package.extras] dev = ["cython-lint (>=0.12.2)", "doit (>=0.36.0)", "mypy (==1.10.0)", "pycodestyle", "pydevtool", "rich-click", "ruff (>=0.0.292)", "types-psutil", "typing_extensions"] -doc = ["jupyterlite-pyodide-kernel", "jupyterlite-sphinx (>=0.13.1)", "jupytext", "matplotlib (>=3.5)", "myst-nb", "numpydoc", "pooch", "pydata-sphinx-theme (>=0.15.2)", "sphinx (>=5.0.0)", "sphinx-design (>=0.4.0)"] -test = ["Cython", "array-api-strict", "asv", "gmpy2", "hypothesis (>=6.30)", "meson", "mpmath", "ninja", "pooch", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "scikit-umfpack", "threadpoolctl"] +doc = ["jupyterlite-pyodide-kernel", "jupyterlite-sphinx (>=0.13.1)", "jupytext", "matplotlib (>=3.5)", "myst-nb", "numpydoc", "pooch", "pydata-sphinx-theme (>=0.15.2)", "sphinx (>=5.0.0,<=7.3.7)", "sphinx-design (>=0.4.0)"] +test = ["Cython", "array-api-strict (>=2.0)", "asv", "gmpy2", "hypothesis (>=6.30)", "meson", "mpmath", "ninja", "pooch", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "scikit-umfpack", "threadpoolctl"] [[package]] name = "six" @@ -1377,13 +1650,13 @@ files = [ [[package]] name = "soupsieve" -version = "2.5" +version = "2.6" description = "A modern CSS selector implementation for Beautiful Soup." optional = false python-versions = ">=3.8" files = [ - {file = "soupsieve-2.5-py3-none-any.whl", hash = "sha256:eaa337ff55a1579b6549dc679565eac1e3d000563bcb1c8ab0d0fefbc0c2cdc7"}, - {file = "soupsieve-2.5.tar.gz", hash = "sha256:5663d5a7b3bfaeee0bc4372e7fc48f9cff4940b3eec54a6451cc5299f1097690"}, + {file = "soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9"}, + {file = "soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb"}, ] [[package]] @@ -1589,15 +1862,29 @@ lint = ["mypy", "ruff (==0.5.5)", "types-docutils"] standalone = ["Sphinx (>=5)"] test = ["pytest"] +[[package]] +name = "tabulate" +version = "0.9.0" +description = "Pretty-print tabular data" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tabulate-0.9.0-py3-none-any.whl", hash = "sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f"}, + {file = "tabulate-0.9.0.tar.gz", hash = "sha256:0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c"}, +] + +[package.extras] +widechars = ["wcwidth"] + [[package]] name = "tomli" -version = "2.0.1" +version = "2.0.2" description = "A lil' TOML parser" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, - {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, + {file = "tomli-2.0.2-py3-none-any.whl", hash = "sha256:2ebe24485c53d303f690b0ec092806a085f07af5a5aa1464f3931eec36caaa38"}, + {file = "tomli-2.0.2.tar.gz", hash = "sha256:d46d457a85337051c36524bc5349dd91b1877838e2979ac5ced3e710ed8a60ed"}, ] [[package]] @@ -1613,13 +1900,13 @@ files = [ [[package]] name = "urllib3" -version = "2.2.2" +version = "2.2.3" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = ">=3.8" files = [ - {file = "urllib3-2.2.2-py3-none-any.whl", hash = "sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472"}, - {file = "urllib3-2.2.2.tar.gz", hash = "sha256:dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168"}, + {file = "urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac"}, + {file = "urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9"}, ] [package.extras] @@ -1641,5 +1928,5 @@ files = [ [metadata] lock-version = "2.0" -python-versions = "^3.10" -content-hash = "cffca50bce8be246fafc2828fb83303d2b5f496e538d6c82c5f46105fa01d8a9" +python-versions = ">=3.10,<3.13" +content-hash = "8e558f840d4a72631d4a9d6618191d18a11356cbcc91d97af0b9b82b83c20f5f" diff --git a/pyproject.toml b/pyproject.toml index d12d191..3d414ee 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,7 +10,7 @@ license = "GPL-3.0" readme = "README.md" [tool.poetry.dependencies] -python = "^3.10" +python = ">=3.10,<3.13" numpy = "^1.26.4" scipy = "^1.13.0" ase = "^3.22.1" @@ -18,6 +18,7 @@ pyyaml = "^6.0.1" spglib = "^2.5.0" networkx = "^3.3" numba = "^0.60.0" +click = "^8.1.7" [tool.poetry.group.dev] optional = true @@ -25,8 +26,11 @@ optional = true [tool.poetry.group.dev.dependencies] ruff = "^0.3.5" pyright = "^1.1.373" -pytest = "^8.2.0" ptpython = "^3.0.26" +pytest = "^8.2.0" +pytest-cov = "^5.0.0" +coveralls = "^4.0.1" +interrogate = "^1.7.0" [tool.poetry.group.docs] optional = true diff --git a/tests/conftest.py b/tests/conftest.py new file mode 100644 index 0000000..40d079c --- /dev/null +++ b/tests/conftest.py @@ -0,0 +1,23 @@ +import pytest + + +def pytest_addoption(parser): + """Add custom command line options to the pytest command.""" + + parser.addoption( + "--run_aims", + nargs="?", + const=True, + default=False, + choices=[None, "change_bin"], + help="Optionally re-calculate the FHI-aims output files with a binary specified" + " by the user. The first time this is run, the user will be prompted to enter" + " the path to the FHI-aims binary. If the user wants to change the path in" + " subsequent runs, they can use the 'change_bin' option, which will" + " automatically call the binary path prompt again.", + ) + + +@pytest.fixture(scope="session") +def run_aims(request): + return request.config.getoption("--run_aims") diff --git a/tests/fixtures/aims_calculations/extractor.py b/tests/fixtures/aims_calculations/extractor.py deleted file mode 100644 index 5a4a4f2..0000000 --- a/tests/fixtures/aims_calculations/extractor.py +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env python3 - -import yaml -import glob - -from dfttools.output import AimsOutput - -aims_out_files = glob.glob("*/aims.out") - - -for file in aims_out_files: - - ao = AimsOutput(aims_out=file) - - # print(ao.check_exit_normal()) - # print(ao.check_spin_polarised()) - # print(ao.get_conv_params()) - # print(ao.get_final_energy()) - # print(ao.get_n_relaxation_steps()) - # print(ao.get_n_scf_iters()) - # print(ao.get_i_scf_conv_acc()) - # print(ao.get_n_initial_ks_states()) - # print(ao.get_all_ks_eigenvalues()) - # print(ao.get_final_ks_eigenvalues()) - # print(ao.get_pert_soc_ks_eigenvalues()) - - # Write to yaml file - i_scf_conv_acc = ao.get_i_scf_conv_acc() - print(i_scf_conv_acc) - with open("i_scf_conv_acc.yml", "w") as f: - yaml.dump(i_scf_conv_acc.values(), f, default_flow_style=False) - - break diff --git a/tests/fixtures/aims_calculations/1/aims.out b/tests/fixtures/default_aims_calcs/1/aims.out similarity index 80% rename from tests/fixtures/aims_calculations/1/aims.out rename to tests/fixtures/default_aims_calcs/1/aims.out index 529b722..b14ff87 100644 --- a/tests/fixtures/aims_calculations/1/aims.out +++ b/tests/fixtures/default_aims_calcs/1/aims.out @@ -40,24 +40,24 @@ - Date : 20240501, Time : 120538.887 - Time zero on CPU 1 : 0.195010000000000E-01 s. - Internal wall clock time zero : 483797138.887 s. + Date : 20241030, Time : 192638.561 + Time zero on CPU 1 : 0.148886000000000E+00 s. + Internal wall clock time zero : 499548398.561 s. FHI-aims created a unique identifier for this run for later identification - aims_uuid : E48567B3-0FD8-4F96-A155-4C1F8D3BF0D5 + aims_uuid : 5DC084F5-29B6-42D0-A382-B49CF604ACB8 Build configuration of the current instance of FHI-aims ------------------------------------------------------- - FHI-aims version : 240206 - Commit number : 2d3e5a79f - CMake host system : Linux-6.7.4-zen1-1-zen - CMake version : 3.28.3 - Fortran compiler : /usr/bin/mpifort (GNU) version 13.2.1 + FHI-aims version : 240507 + Commit number : f9a188a83 + CMake host system : Linux-6.9.1-zen1-1-zen + CMake version : 3.29.3 + Fortran compiler : /usr/bin/mpifort (GNU) version 14.1.1 Fortran compiler flags: -fallow-argument-mismatch -march=native -ffree-line-length-none -fallow-argument-mismatch -march=native -ffree-line-length-none - C compiler : /usr/bin/gcc (GNU) version 13.2.1 + C compiler : /usr/bin/gcc (GNU) version 14.1.1 C compiler flags : -march=native - C++ compiler : /usr/bin/g++ (GNU) version 13.2.1 + C++ compiler : /usr/bin/g++ (GNU) version 14.1.1 C++ compiler flags : -march=native HIP compiler : HIP compiler flags : @@ -88,6 +88,7 @@ ----------------------------------------------------------------------- xc pbe + output_level full ################################################################################ # # FHI-aims code project @@ -272,6 +273,7 @@ Reading file control.in. ------------------------------------------------------------ XC: Using PBE gradient-corrected functionals. + Requested output level: full Reading configuration options for species O . | Found nuclear charge : 8.0000 @@ -440,6 +442,11 @@ by explicit normalization and distribution of residual charges. Use the "compensate_multipole_errors" flag to change this behaviour. Set 'collect_eigenvectors' to be '.true.' for use_density_matrix .false. + Found no potential conflicts with setting 'use_local_index' for this calculation. + Flag 'use_local_index' has not been set. + Testing whether we classify this calculation as large-scale ... + The calculation contains less than 100 atoms. This is most likely not a large-scale calculation. + Not setting 'use_local_index'. Consistency checks for the contents of geometry.in are next. @@ -457,7 +464,7 @@ | Maximum number of basis functions : 24 | Number of Kohn-Sham states (occupied + empty): 11 ------------------------------------------------------------ - After read_input_data [GB]: 55.05 + After read_input_data [GB]: 51.23 Performing system and environment tests: *** Environment variable OMP_NUM_THREADS is not set @@ -465,7 +472,7 @@ | Checking for ScaLAPACK... | Testing pdtran()... | All pdtran() tests passed. - After prepare_system [GB]: 55.04 + After prepare_system [GB]: 51.22 ------------------------------------------------------------ Preparing all fixed parts of the calculation. @@ -564,10 +571,10 @@ Preparing densities etc. for the partition functions (integrals / Hartree potential). Preparations completed. - max(cpu_time) : 0.089 s. - Wall clock time (cpu1) : 0.093 s. + max(cpu_time) : 0.086 s. + Wall clock time (cpu1) : 0.096 s. ------------------------------------------------------------ - After prepare_scf [GB]: 54.93 + After prepare_scf [GB]: 51.17 Initializing index lists of integration centers etc. from given atomic structure: | Number of centers in hartree potential : 3 @@ -576,15 +583,15 @@ | Number of centers in basis integrals : 3 | Number of centers in integrals : 3 | Number of centers in hamiltonian : 3 - After initialize_bc_dependent_lists [GB]: 54.98 + After initialize_bc_dependent_lists [GB]: 51.17 ------------------------------------------------------------ Begin self-consistency loop: Initialization. - Date : 20240501, Time : 120539.017 + Date : 20241030, Time : 192638.691 ------------------------------------------------------------ - Available memory per node after initialize_hartree_non_periodic_ewald [GB]: 54.98 - Available memory per node after initialize_recip_hartree_potential [GB]: 54.98 + Available memory per node after initialize_hartree_non_periodic_ewald [GB]: 51.17 + Available memory per node after initialize_recip_hartree_potential [GB]: 51.17 * Using 4 tasks for Scalapack Eigenvalue solver. Detailed listing of tasks and assigned k-points: (for non-periodic systems, the "k-point" denotes an internal label only) @@ -599,9 +606,9 @@ Allocating 0.002 MB for ham Allocating 0.002 MB for eigenvec Required Scalapack workspace - INTEGER: 1 REAL: 1 - Available memory per node after initialize_scalapack [GB]: 54.98 - Available memory per node after aims_elsi_init_scf [GB]: 54.98 - Available memory per node after initialize_fixed_grids [GB]: 54.98 + Available memory per node after initialize_scalapack [GB]: 51.17 + Available memory per node after aims_elsi_init_scf [GB]: 51.17 + Available memory per node after initialize_fixed_grids [GB]: 51.17 Partitioning the integration grid into batches with parallel hashing+maxmin method. | Number of batches: 249 | Maximal batch size: 102 @@ -615,7 +622,7 @@ Task 1 has 3984 integration points. Task 2 has 3983 integration points. Task 3 has 4009 integration points. - Available memory per node after partition_grid [GB]: 54.98 + Available memory per node after partition_grid [GB]: 51.17 Initializing partition tables, free-atom densities, potentials, etc. across the integration grid (initialize_grid_storage). | initialize_grid_storage: Actual outermost partition radius vs. multipole_radius_free | (-- VB: in principle, multipole_radius_free should be larger, hence this output) @@ -627,7 +634,7 @@ | Using the partition_type stratmann_smoother will reduce your memory usage. | Net number of integration points: 15924 | of which are non-zero points : 14544 - Available memory per node after initialize_grid_storage_p1 [GB]: 54.98 + Available memory per node after initialize_grid_storage_p1 [GB]: 51.17 Renormalizing the initial density to the exact electron count on the 3D integration grid. | Initial density: Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 9.9999460531 @@ -645,32 +652,40 @@ | Maximal number of non-zero basis functions: 24 in task 3 Selecting the method for density update. Loop over occupied states selected for charge density update. - Available memory per node after get_n_compute_maxes_p1 [GB]: 54.98 + Available memory per node after get_n_compute_maxes_p1 [GB]: 51.17 Allocating 0.002 MB for KS_eigenvector - Available memory per node after allocate_matrices [GB]: 54.98 - Available memory per node after init_comm_sparse_local_matrix_scalapack [GB]: 54.98 + Available memory per node after allocate_matrices [GB]: 51.17 + Available memory per node after init_comm_sparse_local_matrix_scalapack [GB]: 51.17 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.062 s, elapsed 0.070 s - Available memory per node after integrate hamiltonian matrix [GB]: 54.97 + Time summed over all CPUs for integration: real work 0.045 s, elapsed 0.046 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.012 s 0.011 s + Available memory per node after integrate hamiltonian matrix [GB]: 51.17 Integrating overlap matrix. - Time summed over all CPUs for integration: real work 0.020 s, elapsed 0.021 s - Available memory per node after integrate ovlp matrix [GB]: 54.97 - Available memory per node after ASI_callbacks invoke [GB]: 54.97 + Time summed over all CPUs for integration: real work 0.018 s, elapsed 0.018 s + Available memory per node after integrate ovlp matrix [GB]: 51.17 + Available memory per node after ASI_callbacks invoke [GB]: 51.17 Deallocating overlap matrix. - Available memory per node after save_overlap_scalapack [GB]: 54.97 + Available memory per node after save_overlap_scalapack [GB]: 51.17 Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. + Allocating 0.002 MB for copy + Deallocating copy Overlap matrix is not singular | Lowest and highest eigenvalues : 0.1659E-01, 0.2705E+01 Finished singularity check of overlap matrix | Time : 0.000 s Starting ELPA eigensolver Finished Cholesky decomposition - | Time : 0.001 s + | Time : 0.000 s + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem - | Time : 0.000 s + | Time : 0.001 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -680,7 +695,7 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -2.85222718 eV - Available memory per node after advance_KS_solution [GB]: 54.97 + Available memory per node after advance_KS_solution [GB]: 51.17 Writing Kohn-Sham eigenvalues. State Occupation Eigenvalue [Ha] Eigenvalue [eV] @@ -729,13 +744,13 @@ Max. number of atoms included in rho_multipole: 3 End scf initialization - timings : max(cpu_time) wall_clock(cpu1) - | Time for scf. initialization : 0.051 s 0.058 s - | Boundary condition initialization : 0.017 s 0.020 s - | Integration : 0.021 s 0.024 s - | Solution of K.-S. eqns. : 0.001 s 0.002 s - | Grid partitioning : 0.008 s 0.009 s - | Preloading free-atom quantities on grid : 0.014 s 0.015 s - | Free-atom superposition energy : 0.007 s 0.008 s + | Time for scf. initialization : 0.035 s 0.037 s + | Boundary condition initialization : 0.002 s 0.001 s + | Integration : 0.016 s 0.016 s + | Solution of K.-S. eqns. : 0.001 s 0.001 s + | Grid partitioning : 0.007 s 0.009 s + | Preloading free-atom quantities on grid : 0.006 s 0.006 s + | Free-atom superposition energy : 0.004 s 0.004 s | Total energy evaluation : 0.000 s 0.000 s Partial memory accounting: @@ -754,22 +769,22 @@ Note: These values currently only include a subset of arrays which are explicitly tracked. The "true" memory usage will be greater. ------------------------------------------------------------ - Available memory after initialize_scf [GB]: 54.97 - Available memory after allocating mixing [GB]: 54.97 + Available memory after initialize_scf [GB]: 51.17 + Available memory after allocating mixing [GB]: 51.17 Evaluating new KS density. Integration grid: deviation in total charge ( - N_e) = -1.776357E-15 Time for density update prior : max(cpu_time) wall_clock(cpu1) - | self-consistency iterative process : 0.011 s 0.010 s - Available memory before start of SCF loop [GB]: 54.97 + | self-consistency iterative process : 0.009 s 0.009 s + Available memory before start of SCF loop [GB]: 51.17 ------------------------------------------------------------ Begin self-consistency iteration # 1 - Date : 20240501, Time : 120539.086 + Date : 20241030, Time : 192638.738 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 54.97 + Available memory per node after mixing [GB]: 51.17 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 @@ -777,23 +792,29 @@ | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.819105E-14 + | Original multipole sum: apparent total charge = 0.918111E-14 | Sum of charges compensated after spline to logarithmic grids = 0.121968E-04 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.809573E-14 + | Hartree multipole sum: apparent total charge = 0.910116E-14 Summing up the Hartree potential. - Time summed over all CPUs for potential: real work 0.009 s, elapsed 0.010 s + Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s | RMS charge density error from multipole expansion : 0.350855E-03 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.054 s, elapsed 0.062 s + Time summed over all CPUs for integration: real work 0.045 s, elapsed 0.046 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.011 s 0.011 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -847,7 +868,7 @@ | Total energy (T->0) per atom : -694.12054906 eV <-- do not rely on this value for anything but (periodic) metals | Electronic free energy per atom : -694.12054906 eV Evaluating new KS density. - Integration grid: deviation in total charge ( - N_e) = -1.776357E-15 + Integration grid: deviation in total charge ( - N_e) = 0.000000E+00 Self-consistency convergence accuracy: | Change of charge density : 0.3061E+00 @@ -858,14 +879,14 @@ ------------------------------------------------------------ End self-consistency iteration # 1 : max(cpu_time) wall_clock(cpu1) - | Time for this iteration : 0.042 s 0.046 s - | Charge density update : 0.013 s 0.013 s - | Density mixing : 0.001 s 0.000 s - | Hartree multipole update : 0.001 s 0.002 s - | Hartree multipole summation : 0.011 s 0.012 s - | Integration : 0.015 s 0.016 s - | Solution of K.-S. eqns. : 0.001 s 0.001 s - | Total energy evaluation : 0.000 s 0.001 s + | Time for this iteration : 0.029 s 0.029 s + | Charge density update : 0.009 s 0.009 s + | Density mixing : 0.000 s 0.000 s + | Hartree multipole update : 0.001 s 0.001 s + | Hartree multipole summation : 0.006 s 0.007 s + | Integration : 0.011 s 0.011 s + | Solution of K.-S. eqns. : 0.000 s 0.001 s + | Total energy evaluation : 0.000 s 0.000 s Partial memory accounting: | Current value for overall tracked memory usage: @@ -887,10 +908,14 @@ ------------------------------------------------------------ Begin self-consistency iteration # 2 - Date : 20240501, Time : 120539.135 + Date : 20241030, Time : 192638.767 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 54.96 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 0.561165E+01 + Available memory per node after mixing [GB]: 51.16 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 @@ -898,23 +923,29 @@ | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.912576E-14 + | Original multipole sum: apparent total charge = 0.881829E-14 | Sum of charges compensated after spline to logarithmic grids = 0.865394E-04 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.963001E-14 + | Hartree multipole sum: apparent total charge = 0.868300E-14 Summing up the Hartree potential. - Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.007 s + Time summed over all CPUs for potential: real work 0.007 s, elapsed 0.008 s | RMS charge density error from multipole expansion : 0.246971E-02 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.062 s, elapsed 0.083 s => Consider using load balancing! + Time summed over all CPUs for integration: real work 0.044 s, elapsed 0.045 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.011 s 0.011 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.001 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -924,6 +955,21 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -1.59128939 eV + Writing Kohn-Sham eigenvalues. + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 2.00000 -18.770857 -510.78100 + 2 2.00000 -0.966205 -26.29177 + 3 2.00000 -0.516006 -14.04123 + 4 2.00000 -0.378166 -10.29043 + 5 2.00000 -0.300179 -8.16828 + 6 0.00000 -0.017294 -0.47060 + 7 0.00000 0.077620 2.11215 + 8 0.00000 0.276436 7.52221 + 9 0.00000 0.313708 8.53643 + 10 0.00000 0.344595 9.37690 + 11 0.00000 0.545146 14.83419 + Highest occupied state (VBM) at -8.16827914 eV | Occupation number: 2.00000000 @@ -968,14 +1014,14 @@ ------------------------------------------------------------ End self-consistency iteration # 2 : max(cpu_time) wall_clock(cpu1) - | Time for this iteration : 0.045 s 0.047 s - | Charge density update : 0.010 s 0.010 s - | Density mixing : 0.002 s 0.002 s - | Hartree multipole update : 0.002 s 0.002 s - | Hartree multipole summation : 0.007 s 0.007 s - | Integration : 0.020 s 0.021 s - | Solution of K.-S. eqns. : 0.001 s 0.002 s - | Total energy evaluation : 0.000 s 0.002 s + | Time for this iteration : 0.031 s 0.031 s + | Charge density update : 0.009 s 0.009 s + | Density mixing : 0.001 s 0.001 s + | Hartree multipole update : 0.001 s 0.001 s + | Hartree multipole summation : 0.008 s 0.008 s + | Integration : 0.011 s 0.011 s + | Solution of K.-S. eqns. : 0.000 s 0.001 s + | Total energy evaluation : 0.000 s 0.000 s Partial memory accounting: | Current value for overall tracked memory usage: @@ -997,36 +1043,47 @@ ------------------------------------------------------------ Begin self-consistency iteration # 3 - Date : 20240501, Time : 120539.184 + Date : 20241030, Time : 192638.798 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 54.96 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 0.108588E+02 + | N minus 2 -0.654891E+02 + Available memory per node after mixing [GB]: 51.16 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 - | Charge integration error : 0.0000000000 + | Charge integration error : -0.0000000000 | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.186943E-13 + | Original multipole sum: apparent total charge = 0.822794E-14 | Sum of charges compensated after spline to logarithmic grids = 0.610901E-04 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.187312E-13 + | Hartree multipole sum: apparent total charge = 0.844932E-14 Summing up the Hartree potential. - Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.007 s + Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s | RMS charge density error from multipole expansion : 0.373348E-02 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.049 s, elapsed 0.053 s + Time summed over all CPUs for integration: real work 0.044 s, elapsed 0.045 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.011 s 0.012 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem - | Time : 0.001 s + | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors - | Time : 0.001 s + | Time : 0.000 s Obtaining occupation numbers and electronic chemical potential using ELSI. | Note that, for insulating systems, the printed 'chemical potential' value is not uniquely defined. @@ -1034,6 +1091,21 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -1.90559099 eV + Writing Kohn-Sham eigenvalues. + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 2.00000 -18.918367 -514.79495 + 2 2.00000 -1.011352 -27.52028 + 3 2.00000 -0.552080 -15.02285 + 4 2.00000 -0.423285 -11.51816 + 5 2.00000 -0.347488 -9.45562 + 6 0.00000 -0.025428 -0.69193 + 7 0.00000 0.063736 1.73433 + 8 0.00000 0.255218 6.94484 + 9 0.00000 0.289202 7.86959 + 10 0.00000 0.335807 9.13777 + 11 0.00000 0.537982 14.63923 + Highest occupied state (VBM) at -9.45562312 eV | Occupation number: 2.00000000 @@ -1063,7 +1135,7 @@ | Total energy (T->0) per atom : -693.78825372 eV <-- do not rely on this value for anything but (periodic) metals | Electronic free energy per atom : -693.78825372 eV Evaluating new KS density. - Integration grid: deviation in total charge ( - N_e) = 1.776357E-14 + Integration grid: deviation in total charge ( - N_e) = 0.000000E+00 Self-consistency convergence accuracy: | Change of charge density : 0.1195E+00 @@ -1074,13 +1146,13 @@ ------------------------------------------------------------ End self-consistency iteration # 3 : max(cpu_time) wall_clock(cpu1) - | Time for this iteration : 0.038 s 0.038 s - | Charge density update : 0.009 s 0.009 s - | Density mixing : 0.002 s 0.001 s - | Hartree multipole update : 0.002 s 0.004 s - | Hartree multipole summation : 0.008 s 0.007 s - | Integration : 0.013 s 0.014 s - | Solution of K.-S. eqns. : 0.002 s 0.002 s + | Time for this iteration : 0.029 s 0.030 s + | Charge density update : 0.009 s 0.008 s + | Density mixing : 0.001 s 0.001 s + | Hartree multipole update : 0.001 s 0.001 s + | Hartree multipole summation : 0.006 s 0.006 s + | Integration : 0.011 s 0.012 s + | Solution of K.-S. eqns. : 0.000 s 0.000 s | Total energy evaluation : 0.000 s 0.001 s Partial memory accounting: @@ -1103,10 +1175,16 @@ ------------------------------------------------------------ Begin self-consistency iteration # 4 - Date : 20240501, Time : 120539.223 + Date : 20241030, Time : 192638.828 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 54.95 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 0.335788E+00 + | N minus 2 0.335218E+01 + | N minus 3 -0.151492E+02 + Available memory per node after mixing [GB]: 51.16 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 @@ -1114,23 +1192,29 @@ | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.260736E-14 + | Original multipole sum: apparent total charge = 0.423081E-14 | Sum of charges compensated after spline to logarithmic grids = 0.117121E-03 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.327150E-14 + | Hartree multipole sum: apparent total charge = 0.548530E-14 Summing up the Hartree potential. - Time summed over all CPUs for potential: real work 0.007 s, elapsed 0.008 s + Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s | RMS charge density error from multipole expansion : 0.609541E-02 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.046 s, elapsed 0.047 s + Time summed over all CPUs for integration: real work 0.045 s, elapsed 0.046 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.011 s 0.011 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem - | Time : 0.000 s - Finished solving standard eigenproblem | Time : 0.001 s + Finished solving standard eigenproblem + | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -1140,6 +1224,21 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -1.09262835 eV + Writing Kohn-Sham eigenvalues. + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 2.00000 -18.814660 -511.97296 + 2 2.00000 -0.944401 -25.69845 + 3 2.00000 -0.494930 -13.46772 + 4 2.00000 -0.356266 -9.69448 + 5 2.00000 -0.278332 -7.57379 + 6 0.00000 -0.004511 -0.12274 + 7 0.00000 0.091595 2.49243 + 8 0.00000 0.288453 7.84920 + 9 0.00000 0.323812 8.81138 + 10 0.00000 0.361887 9.84746 + 11 0.00000 0.565476 15.38738 + Highest occupied state (VBM) at -7.57379070 eV | Occupation number: 2.00000000 @@ -1169,7 +1268,7 @@ | Total energy (T->0) per atom : -693.61843044 eV <-- do not rely on this value for anything but (periodic) metals | Electronic free energy per atom : -693.61843044 eV Evaluating new KS density. - Integration grid: deviation in total charge ( - N_e) = 5.329071E-15 + Integration grid: deviation in total charge ( - N_e) = -1.776357E-15 Self-consistency convergence accuracy: | Change of charge density : 0.1614E+00 @@ -1180,13 +1279,13 @@ ------------------------------------------------------------ End self-consistency iteration # 4 : max(cpu_time) wall_clock(cpu1) - | Time for this iteration : 0.037 s 0.036 s - | Charge density update : 0.012 s 0.012 s - | Density mixing : 0.002 s 0.001 s + | Time for this iteration : 0.030 s 0.030 s + | Charge density update : 0.009 s 0.009 s + | Density mixing : 0.001 s 0.002 s | Hartree multipole update : 0.001 s 0.001 s - | Hartree multipole summation : 0.009 s 0.009 s - | Integration : 0.012 s 0.012 s - | Solution of K.-S. eqns. : 0.001 s 0.001 s + | Hartree multipole summation : 0.006 s 0.006 s + | Integration : 0.012 s 0.011 s + | Solution of K.-S. eqns. : 0.000 s 0.001 s | Total energy evaluation : 0.000 s 0.000 s Partial memory accounting: @@ -1209,10 +1308,17 @@ ------------------------------------------------------------ Begin self-consistency iteration # 5 - Date : 20240501, Time : 120539.259 + Date : 20241030, Time : 192638.858 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 54.95 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 -0.472662E+00 + | N minus 2 0.776260E-01 + | N minus 3 0.256838E+01 + | N minus 4 -0.130035E+02 + Available memory per node after mixing [GB]: 51.16 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 @@ -1220,23 +1326,29 @@ | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.144389E-13 + | Original multipole sum: apparent total charge = 0.165543E-13 | Sum of charges compensated after spline to logarithmic grids = 0.121160E-03 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.141683E-13 + | Hartree multipole sum: apparent total charge = 0.156688E-13 Summing up the Hartree potential. Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s | RMS charge density error from multipole expansion : 0.611699E-02 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.045 s, elapsed 0.047 s + Time summed over all CPUs for integration: real work 0.044 s, elapsed 0.045 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.011 s 0.011 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem - | Time : 0.000 s + | Time : 0.001 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -1246,6 +1358,21 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -1.06834544 eV + Writing Kohn-Sham eigenvalues. + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 2.00000 -18.812066 -511.90237 + 2 2.00000 -0.942636 -25.65042 + 3 2.00000 -0.493423 -13.42673 + 4 2.00000 -0.354661 -9.65082 + 5 2.00000 -0.276656 -7.52820 + 6 0.00000 -0.003898 -0.10606 + 7 0.00000 0.092372 2.51358 + 8 0.00000 0.289305 7.87239 + 9 0.00000 0.324739 8.83660 + 10 0.00000 0.362547 9.86540 + 11 0.00000 0.566313 15.41017 + Highest occupied state (VBM) at -7.52820046 eV | Occupation number: 2.00000000 @@ -1275,7 +1402,7 @@ | Total energy (T->0) per atom : -693.61707134 eV <-- do not rely on this value for anything but (periodic) metals | Electronic free energy per atom : -693.61707134 eV Evaluating new KS density. - Integration grid: deviation in total charge ( - N_e) = 0.000000E+00 + Integration grid: deviation in total charge ( - N_e) = -1.776357E-15 Self-consistency convergence accuracy: | Change of charge density : 0.3235E-01 @@ -1286,13 +1413,13 @@ ------------------------------------------------------------ End self-consistency iteration # 5 : max(cpu_time) wall_clock(cpu1) - | Time for this iteration : 0.036 s 0.036 s - | Charge density update : 0.013 s 0.013 s - | Density mixing : 0.002 s 0.002 s - | Hartree multipole update : 0.001 s 0.002 s + | Time for this iteration : 0.030 s 0.030 s + | Charge density update : 0.009 s 0.009 s + | Density mixing : 0.001 s 0.002 s + | Hartree multipole update : 0.001 s 0.001 s | Hartree multipole summation : 0.006 s 0.006 s - | Integration : 0.012 s 0.012 s - | Solution of K.-S. eqns. : 0.001 s 0.001 s + | Integration : 0.011 s 0.011 s + | Solution of K.-S. eqns. : 0.000 s 0.001 s | Total energy evaluation : 0.000 s 0.000 s Partial memory accounting: @@ -1315,10 +1442,18 @@ ------------------------------------------------------------ Begin self-consistency iteration # 6 - Date : 20240501, Time : 120539.296 + Date : 20241030, Time : 192638.888 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 54.95 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 0.669893E+01 + | N minus 2 -0.824716E+00 + | N minus 3 0.394591E+00 + | N minus 4 0.177847E+01 + | N minus 5 -0.652469E+01 + Available memory per node after mixing [GB]: 51.16 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 @@ -1326,23 +1461,29 @@ | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.917496E-14 + | Original multipole sum: apparent total charge = -0.614943E-15 | Sum of charges compensated after spline to logarithmic grids = 0.144948E-03 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.971611E-14 + | Hartree multipole sum: apparent total charge = -0.983910E-15 Summing up the Hartree potential. Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s | RMS charge density error from multipole expansion : 0.634096E-02 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.052 s, elapsed 0.070 s => Consider using load balancing! + Time summed over all CPUs for integration: real work 0.045 s, elapsed 0.045 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.011 s 0.012 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -1352,6 +1493,21 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -0.91844090 eV + Writing Kohn-Sham eigenvalues. + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 2.00000 -18.798276 -511.52712 + 2 2.00000 -0.932158 -25.36531 + 3 2.00000 -0.484422 -13.18178 + 4 2.00000 -0.344997 -9.38784 + 5 2.00000 -0.266643 -7.25574 + 6 0.00000 -0.000063 -0.00172 + 7 0.00000 0.097198 2.64489 + 8 0.00000 0.294522 8.01435 + 9 0.00000 0.330309 8.98817 + 10 0.00000 0.366768 9.98027 + 11 0.00000 0.571555 15.55281 + Highest occupied state (VBM) at -7.25573676 eV | Occupation number: 2.00000000 @@ -1381,7 +1537,7 @@ | Total energy (T->0) per atom : -693.61182550 eV <-- do not rely on this value for anything but (periodic) metals | Electronic free energy per atom : -693.61182550 eV Evaluating new KS density. - Integration grid: deviation in total charge ( - N_e) = -5.329071E-15 + Integration grid: deviation in total charge ( - N_e) = 3.552714E-15 Self-consistency convergence accuracy: | Change of charge density : 0.2930E-01 @@ -1392,14 +1548,14 @@ ------------------------------------------------------------ End self-consistency iteration # 6 : max(cpu_time) wall_clock(cpu1) - | Time for this iteration : 0.038 s 0.038 s + | Time for this iteration : 0.030 s 0.030 s | Charge density update : 0.009 s 0.009 s | Density mixing : 0.002 s 0.002 s | Hartree multipole update : 0.001 s 0.001 s - | Hartree multipole summation : 0.006 s 0.007 s - | Integration : 0.018 s 0.017 s - | Solution of K.-S. eqns. : 0.001 s 0.001 s - | Total energy evaluation : 0.000 s 0.001 s + | Hartree multipole summation : 0.006 s 0.006 s + | Integration : 0.011 s 0.012 s + | Solution of K.-S. eqns. : 0.000 s 0.000 s + | Total energy evaluation : 0.000 s 0.000 s Partial memory accounting: | Current value for overall tracked memory usage: @@ -1421,10 +1577,19 @@ ------------------------------------------------------------ Begin self-consistency iteration # 7 - Date : 20240501, Time : 120539.335 + Date : 20241030, Time : 192638.918 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 54.95 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 0.338418E+01 + | N minus 2 -0.149346E+02 + | N minus 3 -0.243227E+00 + | N minus 4 0.155648E-01 + | N minus 5 0.256727E+00 + | N minus 6 -0.731650E+00 + Available memory per node after mixing [GB]: 51.16 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 @@ -1432,23 +1597,29 @@ | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.114134E-13 + | Original multipole sum: apparent total charge = 0.199734E-13 | Sum of charges compensated after spline to logarithmic grids = 0.161271E-03 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.126432E-13 + | Hartree multipole sum: apparent total charge = 0.212278E-13 Summing up the Hartree potential. Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s | RMS charge density error from multipole expansion : 0.645611E-02 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.046 s, elapsed 0.046 s + Time summed over all CPUs for integration: real work 0.044 s, elapsed 0.045 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.011 s 0.011 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem - | Time : 0.001 s - Finished solving standard eigenproblem | Time : 0.000 s + Finished solving standard eigenproblem + | Time : 0.001 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -1458,6 +1629,21 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -0.83028605 eV + Writing Kohn-Sham eigenvalues. + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 2.00000 -18.789474 -511.28761 + 2 2.00000 -0.925818 -25.19278 + 3 2.00000 -0.478974 -13.03354 + 4 2.00000 -0.338922 -9.22252 + 5 2.00000 -0.260472 -7.08779 + 6 0.00000 0.002238 0.06091 + 7 0.00000 0.100131 2.72469 + 8 0.00000 0.297878 8.10566 + 9 0.00000 0.333849 9.08450 + 10 0.00000 0.369406 10.05204 + 11 0.00000 0.574615 15.63608 + Highest occupied state (VBM) at -7.08779079 eV | Occupation number: 2.00000000 @@ -1471,7 +1657,7 @@ | XC energy correction : -9.23901937 Ha -251.40650847 eV | XC potential correction : 11.88397461 Ha 323.37940252 eV | Free-atom electrostatic energy: -35.73813987 Ha -972.48426533 eV - | Hartree energy correction : -1.78867887 Ha -48.67242860 eV + | Hartree energy correction : -1.78867887 Ha -48.67242859 eV | Entropy correction : -0.00000000 Ha -0.00000000 eV | --------------------------- | Total energy : -76.46918085 Ha -2080.83228260 eV @@ -1487,7 +1673,7 @@ | Total energy (T->0) per atom : -693.61076087 eV <-- do not rely on this value for anything but (periodic) metals | Electronic free energy per atom : -693.61076087 eV Evaluating new KS density. - Integration grid: deviation in total charge ( - N_e) = 1.776357E-15 + Integration grid: deviation in total charge ( - N_e) = -3.552714E-15 Self-consistency convergence accuracy: | Change of charge density : 0.1219E-01 @@ -1498,14 +1684,14 @@ ------------------------------------------------------------ End self-consistency iteration # 7 : max(cpu_time) wall_clock(cpu1) - | Time for this iteration : 0.033 s 0.033 s + | Time for this iteration : 0.031 s 0.031 s | Charge density update : 0.009 s 0.009 s - | Density mixing : 0.002 s 0.001 s + | Density mixing : 0.002 s 0.002 s | Hartree multipole update : 0.001 s 0.002 s - | Hartree multipole summation : 0.007 s 0.007 s - | Integration : 0.012 s 0.011 s - | Solution of K.-S. eqns. : 0.001 s 0.001 s - | Total energy evaluation : 0.000 s 0.001 s + | Hartree multipole summation : 0.006 s 0.006 s + | Integration : 0.011 s 0.011 s + | Solution of K.-S. eqns. : 0.000 s 0.001 s + | Total energy evaluation : 0.000 s 0.000 s Partial memory accounting: | Current value for overall tracked memory usage: @@ -1527,34 +1713,50 @@ ------------------------------------------------------------ Begin self-consistency iteration # 8 - Date : 20240501, Time : 120539.368 + Date : 20241030, Time : 192638.949 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 54.95 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 0.241571E+01 + | N minus 2 -0.787588E+01 + | N minus 3 0.354678E+02 + | N minus 4 0.338934E+00 + | N minus 5 0.710870E-01 + | N minus 6 -0.185790E+00 + | N minus 7 0.335801E+00 + Available memory per node after mixing [GB]: 51.16 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 - | Charge integration error : -0.0000000000 + | Charge integration error : 0.0000000000 | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.708415E-14 + | Original multipole sum: apparent total charge = 0.129876E-13 | Sum of charges compensated after spline to logarithmic grids = 0.164054E-03 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.915036E-14 + | Hartree multipole sum: apparent total charge = 0.145373E-13 Summing up the Hartree potential. - Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.007 s + Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s | RMS charge density error from multipole expansion : 0.647949E-02 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.046 s, elapsed 0.047 s + Time summed over all CPUs for integration: real work 0.045 s, elapsed 0.046 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.011 s 0.011 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -1564,6 +1766,21 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -0.81573494 eV + Writing Kohn-Sham eigenvalues. + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 2.00000 -18.788253 -511.25438 + 2 2.00000 -0.924819 -25.16560 + 3 2.00000 -0.478118 -13.01025 + 4 2.00000 -0.337985 -9.19703 + 5 2.00000 -0.259505 -7.06150 + 6 0.00000 0.002622 0.07136 + 7 0.00000 0.100606 2.73763 + 8 0.00000 0.298405 8.12002 + 9 0.00000 0.334410 9.09975 + 10 0.00000 0.369836 10.06376 + 11 0.00000 0.575128 15.65003 + Highest occupied state (VBM) at -7.06150083 eV | Occupation number: 2.00000000 @@ -1593,7 +1810,7 @@ | Total energy (T->0) per atom : -693.61075400 eV <-- do not rely on this value for anything but (periodic) metals | Electronic free energy per atom : -693.61075400 eV Evaluating new KS density. - Integration grid: deviation in total charge ( - N_e) = -3.552714E-15 + Integration grid: deviation in total charge ( - N_e) = 3.552714E-15 Self-consistency convergence accuracy: | Change of charge density : 0.1210E-02 @@ -1604,13 +1821,13 @@ ------------------------------------------------------------ End self-consistency iteration # 8 : max(cpu_time) wall_clock(cpu1) - | Time for this iteration : 0.036 s 0.036 s + | Time for this iteration : 0.031 s 0.031 s | Charge density update : 0.009 s 0.009 s - | Density mixing : 0.003 s 0.003 s - | Hartree multipole update : 0.003 s 0.003 s - | Hartree multipole summation : 0.007 s 0.008 s - | Integration : 0.012 s 0.012 s - | Solution of K.-S. eqns. : 0.001 s 0.000 s + | Density mixing : 0.002 s 0.003 s + | Hartree multipole update : 0.001 s 0.001 s + | Hartree multipole summation : 0.006 s 0.006 s + | Integration : 0.011 s 0.011 s + | Solution of K.-S. eqns. : 0.000 s 0.001 s | Total energy evaluation : 0.000 s 0.000 s Partial memory accounting: @@ -1633,10 +1850,21 @@ ------------------------------------------------------------ Begin self-consistency iteration # 9 - Date : 20240501, Time : 120539.406 + Date : 20241030, Time : 192638.980 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 55.00 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 0.511422E+00 + | N minus 2 -0.134422E+00 + | N minus 3 0.868613E-01 + | N minus 4 -0.569898E+00 + | N minus 5 0.247627E-02 + | N minus 6 -0.610933E-02 + | N minus 7 -0.563958E-02 + | N minus 8 0.172150E-01 + Available memory per node after mixing [GB]: 51.16 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 @@ -1644,23 +1872,29 @@ | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.351748E-14 + | Original multipole sum: apparent total charge = 0.558369E-14 | Sum of charges compensated after spline to logarithmic grids = 0.163130E-03 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.376345E-14 + | Hartree multipole sum: apparent total charge = 0.514093E-14 Summing up the Hartree potential. Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s | RMS charge density error from multipole expansion : 0.647154E-02 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.045 s, elapsed 0.046 s + Time summed over all CPUs for integration: real work 0.045 s, elapsed 0.045 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.011 s 0.011 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem - | Time : 0.001 s + | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -1670,6 +1904,21 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -0.82052283 eV + Writing Kohn-Sham eigenvalues. + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 2.00000 -18.788514 -511.26147 + 2 2.00000 -0.925110 -25.17353 + 3 2.00000 -0.478377 -13.01731 + 4 2.00000 -0.338253 -9.20432 + 5 2.00000 -0.259773 -7.06878 + 6 0.00000 0.002499 0.06800 + 7 0.00000 0.100456 2.73354 + 8 0.00000 0.298252 8.11585 + 9 0.00000 0.334253 9.09547 + 10 0.00000 0.369701 10.06007 + 11 0.00000 0.574955 15.64531 + Highest occupied state (VBM) at -7.06877794 eV | Occupation number: 2.00000000 @@ -1699,7 +1948,7 @@ | Total energy (T->0) per atom : -693.61075151 eV <-- do not rely on this value for anything but (periodic) metals | Electronic free energy per atom : -693.61075151 eV Evaluating new KS density. - Integration grid: deviation in total charge ( - N_e) = 0.000000E+00 + Integration grid: deviation in total charge ( - N_e) = -5.329071E-15 Self-consistency convergence accuracy: | Change of charge density : 0.4240E-03 @@ -1710,14 +1959,14 @@ ------------------------------------------------------------ End self-consistency iteration # 9 : max(cpu_time) wall_clock(cpu1) - | Time for this iteration : 0.032 s 0.032 s + | Time for this iteration : 0.030 s 0.031 s | Charge density update : 0.009 s 0.009 s - | Density mixing : 0.002 s 0.002 s + | Density mixing : 0.002 s 0.003 s | Hartree multipole update : 0.001 s 0.001 s - | Hartree multipole summation : 0.006 s 0.007 s - | Integration : 0.012 s 0.011 s - | Solution of K.-S. eqns. : 0.001 s 0.001 s - | Total energy evaluation : 0.000 s 0.001 s + | Hartree multipole summation : 0.006 s 0.006 s + | Integration : 0.011 s 0.011 s + | Solution of K.-S. eqns. : 0.000 s 0.001 s + | Total energy evaluation : 0.000 s 0.000 s Partial memory accounting: | Current value for overall tracked memory usage: @@ -1739,10 +1988,21 @@ ------------------------------------------------------------ Begin self-consistency iteration # 10 - Date : 20240501, Time : 120539.438 + Date : 20241030, Time : 192639.011 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 55.00 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 0.357806E+01 + | N minus 2 -0.179051E+01 + | N minus 3 0.311940E+00 + | N minus 4 0.248808E+00 + | N minus 5 -0.515802E+00 + | N minus 6 -0.169830E-01 + | N minus 7 0.936602E-02 + | N minus 8 0.620070E-02 + Available memory per node after mixing [GB]: 51.16 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 @@ -1750,23 +2010,29 @@ | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.137009E-13 + | Original multipole sum: apparent total charge = 0.235154E-13 | Sum of charges compensated after spline to logarithmic grids = 0.163039E-03 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.154474E-13 + | Hartree multipole sum: apparent total charge = 0.255571E-13 Summing up the Hartree potential. Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s | RMS charge density error from multipole expansion : 0.647113E-02 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.045 s, elapsed 0.046 s + Time summed over all CPUs for integration: real work 0.045 s, elapsed 0.045 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.011 s 0.011 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem - | Time : 0.000 s + | Time : 0.001 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -1776,6 +2042,21 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -0.82094518 eV + Writing Kohn-Sham eigenvalues. + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 2.00000 -18.788565 -511.26286 + 2 2.00000 -0.925144 -25.17444 + 3 2.00000 -0.478406 -13.01808 + 4 2.00000 -0.338286 -9.20523 + 5 2.00000 -0.259807 -7.06970 + 6 0.00000 0.002487 0.06768 + 7 0.00000 0.100441 2.73313 + 8 0.00000 0.298233 8.11534 + 9 0.00000 0.334233 9.09494 + 10 0.00000 0.369687 10.05969 + 11 0.00000 0.574940 15.64492 + Highest occupied state (VBM) at -7.06970430 eV | Occupation number: 2.00000000 @@ -1805,7 +2086,7 @@ | Total energy (T->0) per atom : -693.61075163 eV <-- do not rely on this value for anything but (periodic) metals | Electronic free energy per atom : -693.61075163 eV Evaluating new KS density. - Integration grid: deviation in total charge ( - N_e) = 1.421085E-14 + Integration grid: deviation in total charge ( - N_e) = 3.552714E-15 Self-consistency convergence accuracy: | Change of charge density : 0.3848E-04 @@ -1816,14 +2097,14 @@ ------------------------------------------------------------ End self-consistency iteration # 10 : max(cpu_time) wall_clock(cpu1) - | Time for this iteration : 0.032 s 0.032 s + | Time for this iteration : 0.031 s 0.031 s | Charge density update : 0.009 s 0.009 s - | Density mixing : 0.003 s 0.002 s - | Hartree multipole update : 0.001 s 0.002 s + | Density mixing : 0.002 s 0.003 s + | Hartree multipole update : 0.001 s 0.001 s | Hartree multipole summation : 0.006 s 0.006 s - | Integration : 0.012 s 0.011 s - | Solution of K.-S. eqns. : 0.001 s 0.001 s - | Total energy evaluation : 0.000 s 0.001 s + | Integration : 0.011 s 0.011 s + | Solution of K.-S. eqns. : 0.000 s 0.001 s + | Total energy evaluation : 0.000 s 0.000 s Partial memory accounting: | Current value for overall tracked memory usage: @@ -1845,10 +2126,21 @@ ------------------------------------------------------------ Begin self-consistency iteration # 11 - Date : 20240501, Time : 120539.471 + Date : 20241030, Time : 192639.042 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 55.00 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 -0.282874E-01 + | N minus 2 0.617907E-01 + | N minus 3 -0.226723E-01 + | N minus 4 0.135797E-01 + | N minus 5 -0.181515E-01 + | N minus 6 0.888483E-01 + | N minus 7 0.333617E-03 + | N minus 8 0.482156E-03 + Available memory per node after mixing [GB]: 51.16 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 @@ -1856,23 +2148,29 @@ | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.710875E-14 + | Original multipole sum: apparent total charge = 0.560828E-14 | Sum of charges compensated after spline to logarithmic grids = 0.163079E-03 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.730553E-14 + | Hartree multipole sum: apparent total charge = 0.602645E-14 Summing up the Hartree potential. - Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s + Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.007 s | RMS charge density error from multipole expansion : 0.647133E-02 Integrating Hamiltonian matrix: batch-based integration. Time summed over all CPUs for integration: real work 0.045 s, elapsed 0.046 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.012 s 0.011 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -1882,6 +2180,21 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -0.82076286 eV + Writing Kohn-Sham eigenvalues. + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 2.00000 -18.788544 -511.26229 + 2 2.00000 -0.925130 -25.17407 + 3 2.00000 -0.478394 -13.01776 + 4 2.00000 -0.338272 -9.20486 + 5 2.00000 -0.259793 -7.06933 + 6 0.00000 0.002492 0.06781 + 7 0.00000 0.100447 2.73330 + 8 0.00000 0.298241 8.11554 + 9 0.00000 0.334241 9.09515 + 10 0.00000 0.369692 10.05984 + 11 0.00000 0.574947 15.64509 + Highest occupied state (VBM) at -7.06933168 eV | Occupation number: 2.00000000 @@ -1922,14 +2235,14 @@ ------------------------------------------------------------ End self-consistency iteration # 11 : max(cpu_time) wall_clock(cpu1) - | Time for this iteration : 0.031 s 0.031 s - | Charge density update : 0.009 s 0.009 s - | Density mixing : 0.003 s 0.002 s - | Hartree multipole update : 0.001 s 0.002 s - | Hartree multipole summation : 0.006 s 0.006 s + | Time for this iteration : 0.032 s 0.033 s + | Charge density update : 0.009 s 0.008 s + | Density mixing : 0.003 s 0.003 s + | Hartree multipole update : 0.001 s 0.001 s + | Hartree multipole summation : 0.007 s 0.007 s | Integration : 0.012 s 0.011 s | Solution of K.-S. eqns. : 0.001 s 0.001 s - | Total energy evaluation : 0.000 s 0.000 s + | Total energy evaluation : 0.000 s 0.001 s Partial memory accounting: | Current value for overall tracked memory usage: @@ -1951,10 +2264,21 @@ ------------------------------------------------------------ Begin self-consistency iteration # 12 - Date : 20240501, Time : 120539.503 + Date : 20241030, Time : 192639.075 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 55.00 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 0.358623E+01 + | N minus 2 0.573705E-01 + | N minus 3 -0.268775E-01 + | N minus 4 -0.232231E-01 + | N minus 5 -0.942503E-02 + | N minus 6 0.427164E-02 + | N minus 7 -0.922216E-02 + | N minus 8 -0.206899E-04 + Available memory per node after mixing [GB]: 51.15 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 @@ -1962,23 +2286,29 @@ | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.676438E-14 + | Original multipole sum: apparent total charge = 0.332069E-14 | Sum of charges compensated after spline to logarithmic grids = 0.163078E-03 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.728093E-14 + | Hartree multipole sum: apparent total charge = 0.336989E-14 Summing up the Hartree potential. Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s | RMS charge density error from multipole expansion : 0.647132E-02 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.045 s, elapsed 0.046 s + Time summed over all CPUs for integration: real work 0.045 s, elapsed 0.045 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.011 s 0.011 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem - | Time : 0.000 s + | Time : 0.001 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -1988,6 +2318,21 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -0.82077051 eV + Writing Kohn-Sham eigenvalues. + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 2.00000 -18.788544 -511.26229 + 2 2.00000 -0.925130 -25.17408 + 3 2.00000 -0.478394 -13.01777 + 4 2.00000 -0.338273 -9.20487 + 5 2.00000 -0.259793 -7.06934 + 6 0.00000 0.002492 0.06781 + 7 0.00000 0.100447 2.73329 + 8 0.00000 0.298241 8.11554 + 9 0.00000 0.334241 9.09515 + 10 0.00000 0.369692 10.05984 + 11 0.00000 0.574946 15.64508 + Highest occupied state (VBM) at -7.06933705 eV | Occupation number: 2.00000000 @@ -2058,10 +2403,10 @@ End self-consistency iteration # 12 : max(cpu_time) wall_clock(cpu1) | Time for this iteration : 0.023 s 0.023 s | Charge density update : 0.000 s 0.000 s - | Density mixing : 0.003 s 0.002 s + | Density mixing : 0.002 s 0.002 s | Hartree multipole update : 0.001 s 0.001 s - | Hartree multipole summation : 0.006 s 0.006 s - | Integration : 0.012 s 0.012 s + | Hartree multipole summation : 0.006 s 0.007 s + | Integration : 0.011 s 0.011 s | Solution of K.-S. eqns. : 0.001 s 0.001 s | Total energy evaluation : 0.000 s 0.001 s @@ -2147,7 +2492,7 @@ The ELSI infrastructure was used in your run to solve the Kohn-Sham electronic structure. - Please check out http://elsi-interchange.org to learn more. + Please check out https://wordpress.elsi-interchange.org to learn more. If scalability is important for your project, please acknowledge ELSI by citing: V. W-z. Yu, F. Corsetti, A. Garcia, W. P. Huhn, M. Jacquelin, W. Jia, @@ -2172,26 +2517,26 @@ ------------------------------------------------------------ Leaving FHI-aims. - Date : 20240501, Time : 120539.531 + Date : 20241030, Time : 192639.102 Computational steps: | Number of self-consistency cycles : 12 | Number of SCF (re)initializations : 1 Detailed time accounting : max(cpu_time) wall_clock(cpu1) - | Total time : 0.604 s 0.644 s - | Preparation time : 0.089 s 0.093 s - | Boundary condition initalization : 0.017 s 0.020 s - | Grid partitioning : 0.008 s 0.009 s - | Preloading free-atom quantities on grid : 0.014 s 0.015 s - | Free-atom superposition energy : 0.007 s 0.008 s - | Total time for integrations : 0.181 s 0.184 s - | Total time for solution of K.-S. equations : 0.011 s 0.015 s - | Total time for density update : 0.120 s 0.121 s - | Total time for mixing : 0.025 s 0.020 s - | Total time for Hartree multipole update : 0.018 s 0.023 s - | Total time for Hartree multipole sum : 0.085 s 0.088 s - | Total time for total energy evaluation : 0.002 s 0.009 s + | Total time : 0.511 s 0.541 s + | Preparation time : 0.086 s 0.096 s + | Boundary condition initalization : 0.002 s 0.001 s + | Grid partitioning : 0.007 s 0.009 s + | Preloading free-atom quantities on grid : 0.006 s 0.006 s + | Free-atom superposition energy : 0.004 s 0.004 s + | Total time for integrations : 0.152 s 0.150 s + | Total time for solution of K.-S. equations : 0.006 s 0.011 s + | Total time for density update : 0.106 s 0.106 s + | Total time for mixing : 0.021 s 0.024 s + | Total time for Hartree multipole update : 0.013 s 0.013 s + | Total time for Hartree multipole sum : 0.076 s 0.077 s + | Total time for total energy evaluation : 0.001 s 0.003 s | Total time for scaled ZORA corrections : 0.000 s 0.000 s Partial memory accounting: diff --git a/tests/fixtures/aims_calculations/1/control.in b/tests/fixtures/default_aims_calcs/1/control.in similarity index 99% rename from tests/fixtures/aims_calculations/1/control.in rename to tests/fixtures/default_aims_calcs/1/control.in index b96e17e..1c3266b 100644 --- a/tests/fixtures/aims_calculations/1/control.in +++ b/tests/fixtures/default_aims_calcs/1/control.in @@ -1,4 +1,5 @@ xc pbe +output_level full ################################################################################ # # FHI-aims code project diff --git a/tests/fixtures/aims_calculations/1/geometry.in b/tests/fixtures/default_aims_calcs/1/geometry.in similarity index 100% rename from tests/fixtures/aims_calculations/1/geometry.in rename to tests/fixtures/default_aims_calcs/1/geometry.in diff --git a/tests/fixtures/aims_calculations/10/aims.out b/tests/fixtures/default_aims_calcs/10/aims.out similarity index 100% rename from tests/fixtures/aims_calculations/10/aims.out rename to tests/fixtures/default_aims_calcs/10/aims.out diff --git a/tests/fixtures/aims_calculations/10/control.in b/tests/fixtures/default_aims_calcs/10/control.in similarity index 100% rename from tests/fixtures/aims_calculations/10/control.in rename to tests/fixtures/default_aims_calcs/10/control.in diff --git a/tests/fixtures/aims_calculations/10/geometry.in b/tests/fixtures/default_aims_calcs/10/geometry.in similarity index 100% rename from tests/fixtures/aims_calculations/10/geometry.in rename to tests/fixtures/default_aims_calcs/10/geometry.in diff --git a/tests/fixtures/aims_calculations/2/aims.out b/tests/fixtures/default_aims_calcs/2/aims.out similarity index 77% rename from tests/fixtures/aims_calculations/2/aims.out rename to tests/fixtures/default_aims_calcs/2/aims.out index e5afb61..1770d67 100644 --- a/tests/fixtures/aims_calculations/2/aims.out +++ b/tests/fixtures/default_aims_calcs/2/aims.out @@ -40,24 +40,24 @@ - Date : 20240501, Time : 123203.094 - Time zero on CPU 1 : 0.230380000000000E-01 s. - Internal wall clock time zero : 483798723.094 s. + Date : 20241030, Time : 192708.465 + Time zero on CPU 1 : 0.142934000000000E+00 s. + Internal wall clock time zero : 499548428.465 s. FHI-aims created a unique identifier for this run for later identification - aims_uuid : A5C67360-2AE1-4AFD-AE62-3D06D8ECF81E + aims_uuid : 75AD3D62-509C-4593-A088-67A5DDB66310 Build configuration of the current instance of FHI-aims ------------------------------------------------------- - FHI-aims version : 240206 - Commit number : 2d3e5a79f - CMake host system : Linux-6.7.4-zen1-1-zen - CMake version : 3.28.3 - Fortran compiler : /usr/bin/mpifort (GNU) version 13.2.1 + FHI-aims version : 240507 + Commit number : f9a188a83 + CMake host system : Linux-6.9.1-zen1-1-zen + CMake version : 3.29.3 + Fortran compiler : /usr/bin/mpifort (GNU) version 14.1.1 Fortran compiler flags: -fallow-argument-mismatch -march=native -ffree-line-length-none -fallow-argument-mismatch -march=native -ffree-line-length-none - C compiler : /usr/bin/gcc (GNU) version 13.2.1 + C compiler : /usr/bin/gcc (GNU) version 14.1.1 C compiler flags : -march=native - C++ compiler : /usr/bin/g++ (GNU) version 13.2.1 + C++ compiler : /usr/bin/g++ (GNU) version 14.1.1 C++ compiler flags : -march=native HIP compiler : HIP compiler flags : @@ -90,6 +90,7 @@ xc pbe spin collinear default_initial_moment 1 + output_level full ################################################################################ # # FHI-aims code project @@ -276,6 +277,7 @@ XC: Using PBE gradient-corrected functionals. Spin treatment: Spin density functional theory - collinear spins. Initial spin moment per atom: 1.0000 + Requested output level: full Reading configuration options for species O . | Found nuclear charge : 8.0000 @@ -451,6 +453,11 @@ by explicit normalization and distribution of residual charges. Use the "compensate_multipole_errors" flag to change this behaviour. Set 'collect_eigenvectors' to be '.true.' for use_density_matrix .false. + Found no potential conflicts with setting 'use_local_index' for this calculation. + Flag 'use_local_index' has not been set. + Testing whether we classify this calculation as large-scale ... + The calculation contains less than 100 atoms. This is most likely not a large-scale calculation. + Not setting 'use_local_index'. Consistency checks for the contents of geometry.in are next. @@ -469,7 +476,7 @@ | Maximum number of basis functions : 24 | Number of Kohn-Sham states (occupied + empty): 11 ------------------------------------------------------------ - After read_input_data [GB]: 55.23 + After read_input_data [GB]: 51.12 Performing system and environment tests: *** Environment variable OMP_NUM_THREADS is not set @@ -477,7 +484,7 @@ | Checking for ScaLAPACK... | Testing pdtran()... | All pdtran() tests passed. - After prepare_system [GB]: 55.22 + After prepare_system [GB]: 51.12 ------------------------------------------------------------ Preparing all fixed parts of the calculation. @@ -608,10 +615,10 @@ Preparing densities etc. for the partition functions (integrals / Hartree potential). Preparations completed. - max(cpu_time) : 0.187 s. + max(cpu_time) : 0.186 s. Wall clock time (cpu1) : 0.189 s. ------------------------------------------------------------ - After prepare_scf [GB]: 55.13 + After prepare_scf [GB]: 51.11 Initializing index lists of integration centers etc. from given atomic structure: | Number of centers in hartree potential : 3 @@ -620,15 +627,15 @@ | Number of centers in basis integrals : 3 | Number of centers in integrals : 3 | Number of centers in hamiltonian : 3 - After initialize_bc_dependent_lists [GB]: 55.17 + After initialize_bc_dependent_lists [GB]: 51.11 ------------------------------------------------------------ Begin self-consistency loop: Initialization. - Date : 20240501, Time : 123203.301 + Date : 20241030, Time : 192708.667 ------------------------------------------------------------ - Available memory per node after initialize_hartree_non_periodic_ewald [GB]: 55.17 - Available memory per node after initialize_recip_hartree_potential [GB]: 55.17 + Available memory per node after initialize_hartree_non_periodic_ewald [GB]: 51.11 + Available memory per node after initialize_recip_hartree_potential [GB]: 51.11 * Using 4 tasks for Scalapack Eigenvalue solver. Detailed listing of tasks and assigned k-points: (for non-periodic systems, the "k-point" denotes an internal label only) @@ -643,9 +650,9 @@ Allocating 0.004 MB for ham Allocating 0.004 MB for eigenvec Required Scalapack workspace - INTEGER: 1 REAL: 1 - Available memory per node after initialize_scalapack [GB]: 55.17 - Available memory per node after aims_elsi_init_scf [GB]: 55.17 - Available memory per node after initialize_fixed_grids [GB]: 55.17 + Available memory per node after initialize_scalapack [GB]: 51.11 + Available memory per node after aims_elsi_init_scf [GB]: 51.11 + Available memory per node after initialize_fixed_grids [GB]: 51.11 Partitioning the integration grid into batches with parallel hashing+maxmin method. | Number of batches: 249 | Maximal batch size: 102 @@ -659,7 +666,7 @@ Task 1 has 3984 integration points. Task 2 has 3983 integration points. Task 3 has 4009 integration points. - Available memory per node after partition_grid [GB]: 55.17 + Available memory per node after partition_grid [GB]: 51.10 Initializing partition tables, free-atom densities, potentials, etc. across the integration grid (initialize_grid_storage). | initialize_grid_storage: Actual outermost partition radius vs. multipole_radius_free | (-- VB: in principle, multipole_radius_free should be larger, hence this output) @@ -671,7 +678,7 @@ | Using the partition_type stratmann_smoother will reduce your memory usage. | Net number of integration points: 15924 | of which are non-zero points : 14544 - Available memory per node after initialize_grid_storage_p1 [GB]: 55.17 + Available memory per node after initialize_grid_storage_p1 [GB]: 51.10 Renormalizing the initial density to the exact electron count on the 3D integration grid. | Initial density: Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 9.9999554951 @@ -689,7 +696,7 @@ | Maximal number of non-zero basis functions: 24 in task 3 Selecting the method for density update. Loop over occupied states selected for charge density update. - Available memory per node after get_n_compute_maxes_p1 [GB]: 55.17 + Available memory per node after get_n_compute_maxes_p1 [GB]: 51.10 Initialize hartree_potential_storage Max. number of atoms included in rho_multipole: 3 @@ -703,19 +710,23 @@ | RMS charge density error from multipole expansion : 0.453560E-03 Allocating 0.004 MB for KS_eigenvector - Available memory per node after allocate_matrices [GB]: 55.16 - Available memory per node after init_comm_sparse_local_matrix_scalapack [GB]: 55.16 + Available memory per node after allocate_matrices [GB]: 51.10 + Available memory per node after init_comm_sparse_local_matrix_scalapack [GB]: 51.10 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.055 s - Available memory per node after integrate hamiltonian matrix [GB]: 55.16 + Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.056 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.014 s 0.014 s + Available memory per node after integrate hamiltonian matrix [GB]: 51.10 Integrating overlap matrix. - Time summed over all CPUs for integration: real work 0.018 s, elapsed 0.018 s - Available memory per node after integrate ovlp matrix [GB]: 55.16 - Available memory per node after ASI_callbacks invoke [GB]: 55.16 + Time summed over all CPUs for integration: real work 0.019 s, elapsed 0.020 s + Available memory per node after integrate ovlp matrix [GB]: 51.10 + Available memory per node after ASI_callbacks invoke [GB]: 51.10 Deallocating overlap matrix. - Available memory per node after save_overlap_scalapack [GB]: 55.16 + Available memory per node after save_overlap_scalapack [GB]: 51.10 Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. + Allocating 0.002 MB for copy + Deallocating copy Overlap matrix is not singular | Lowest and highest eigenvalues : 0.1659E-01, 0.2705E+01 Finished singularity check of overlap matrix @@ -723,17 +734,25 @@ Starting ELPA eigensolver Finished Cholesky decomposition | Time : 0.000 s + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors - | Time : 0.000 s + | Time : 0.001 s Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem - | Time : 0.001 s - Finished solving standard eigenproblem | Time : 0.000 s + Finished solving standard eigenproblem + | Time : 0.001 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -743,7 +762,7 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -7.35856917 eV - Available memory per node after advance_KS_solution [GB]: 55.16 + Available memory per node after advance_KS_solution [GB]: 51.10 Writing Kohn-Sham eigenvalues. Spin-up eigenvalues: @@ -814,10 +833,10 @@ | Electronic free energy per atom : -693.45259683 eV End scf initialization - timings : max(cpu_time) wall_clock(cpu1) - | Time for scf. initialization : 0.050 s 0.051 s - | Boundary condition initialization : 0.008 s 0.008 s - | Integration : 0.018 s 0.019 s - | Solution of K.-S. eqns. : 0.001 s 0.001 s + | Time for scf. initialization : 0.053 s 0.053 s + | Boundary condition initialization : 0.002 s 0.002 s + | Integration : 0.019 s 0.019 s + | Solution of K.-S. eqns. : 0.002 s 0.002 s | Grid partitioning : 0.006 s 0.006 s | Preloading free-atom quantities on grid : 0.019 s 0.019 s | Free-atom superposition energy : 0.005 s 0.005 s @@ -839,23 +858,23 @@ Note: These values currently only include a subset of arrays which are explicitly tracked. The "true" memory usage will be greater. ------------------------------------------------------------ - Available memory after initialize_scf [GB]: 55.16 - Available memory after allocating mixing [GB]: 55.16 + Available memory after initialize_scf [GB]: 51.10 + Available memory after allocating mixing [GB]: 51.10 Evaluating new KS density. - Integration grid: deviation in total charge ( - N_e) = -7.105427E-15 - | = N_up-N_dn = 0.0000; <|rho_up-rho_dn|> = 0.2294 + Integration grid: deviation in total charge ( - N_e) = -1.243450E-14 + | = N_up-N_dn = -0.0000; <|rho_up-rho_dn|> = 0.2294 Time for density update prior : max(cpu_time) wall_clock(cpu1) - | self-consistency iterative process : 0.010 s 0.010 s - Available memory before start of SCF loop [GB]: 55.16 + | self-consistency iterative process : 0.011 s 0.011 s + Available memory before start of SCF loop [GB]: 51.10 ------------------------------------------------------------ Begin self-consistency iteration # 1 - Date : 20240501, Time : 123203.362 + Date : 20241030, Time : 192708.732 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 55.16 + Available memory per node after mixing [GB]: 51.09 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 @@ -863,30 +882,40 @@ | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.154136E-13 + | Original multipole sum: apparent total charge = 0.154981E-13 | Sum of charges compensated after spline to logarithmic grids = 0.770835E-04 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.153521E-13 + | Hartree multipole sum: apparent total charge = 0.154535E-13 Summing up the Hartree potential. Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s | RMS charge density error from multipole expansion : 0.641245E-03 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.055 s + Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.056 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.014 s 0.014 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem - | Time : 0.001 s + | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -976,13 +1005,13 @@ ------------------------------------------------------------ End self-consistency iteration # 1 : max(cpu_time) wall_clock(cpu1) - | Time for this iteration : 0.033 s 0.033 s + | Time for this iteration : 0.034 s 0.034 s | Charge density update : 0.010 s 0.010 s | Density mixing : 0.001 s 0.001 s | Hartree multipole update : 0.001 s 0.001 s | Hartree multipole summation : 0.006 s 0.006 s | Integration : 0.014 s 0.014 s - | Solution of K.-S. eqns. : 0.001 s 0.001 s + | Solution of K.-S. eqns. : 0.001 s 0.002 s | Total energy evaluation : 0.000 s 0.000 s Partial memory accounting: @@ -1005,10 +1034,14 @@ ------------------------------------------------------------ Begin self-consistency iteration # 2 - Date : 20240501, Time : 123203.395 + Date : 20241030, Time : 192708.766 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 55.15 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 0.791678E+01 + Available memory per node after mixing [GB]: 51.09 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 @@ -1016,32 +1049,42 @@ | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.900277E-14 + | Original multipole sum: apparent total charge = 0.119053E-13 | Sum of charges compensated after spline to logarithmic grids = 0.148576E-03 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.102327E-13 + | Hartree multipole sum: apparent total charge = 0.125202E-13 Summing up the Hartree potential. Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s | RMS charge density error from multipole expansion : 0.326123E-02 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.054 s, elapsed 0.055 s + Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.056 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.014 s 0.014 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem - | Time : 0.001 s + | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors - | Time : 0.000 s + | Time : 0.001 s Obtaining occupation numbers and electronic chemical potential using ELSI. | Note that, for insulating systems, the printed 'chemical potential' value is not uniquely defined. @@ -1049,6 +1092,38 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -3.39356730 eV + Writing Kohn-Sham eigenvalues. + + Spin-up eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.678123 -508.25758 + 2 1.00000 -0.941367 -25.61589 + 3 1.00000 -0.506022 -13.76957 + 4 1.00000 -0.350949 -9.54980 + 5 1.00000 -0.268001 -7.29267 + 6 0.00000 -0.020587 -0.56021 + 7 0.00000 0.074454 2.02599 + 8 0.00000 0.292103 7.94853 + 9 0.00000 0.331225 9.01309 + 10 0.00000 0.348287 9.47738 + 11 0.00000 0.524751 14.27921 + + Spin-down eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.666484 -507.94087 + 2 1.00000 -0.887571 -24.15203 + 3 1.00000 -0.434146 -11.81370 + 4 1.00000 -0.305316 -8.30806 + 5 1.00000 -0.232590 -6.32908 + 6 0.00000 0.027720 0.75431 + 7 0.00000 0.139138 3.78614 + 8 0.00000 0.315426 8.58317 + 9 0.00000 0.353899 9.63008 + 10 0.00000 0.381452 10.37983 + 11 0.00000 0.629492 17.12936 + Current spin moment of the entire structure : | N = N_up - N_down : 0.00 | S : 0.00 @@ -1089,8 +1164,8 @@ | Total energy (T->0) per atom : -693.41584228 eV <-- do not rely on this value for anything but (periodic) metals | Electronic free energy per atom : -693.41584228 eV Evaluating new KS density. - Integration grid: deviation in total charge ( - N_e) = 0.000000E+00 - | = N_up-N_dn = -0.0000; <|rho_up-rho_dn|> = 0.1851 + Integration grid: deviation in total charge ( - N_e) = -5.329071E-15 + | = N_up-N_dn = 0.0000; <|rho_up-rho_dn|> = 0.1851 Self-consistency convergence accuracy: | Change of charge/spin density : 0.2707E+00 0.4197E+00 @@ -1101,13 +1176,13 @@ ------------------------------------------------------------ End self-consistency iteration # 2 : max(cpu_time) wall_clock(cpu1) - | Time for this iteration : 0.033 s 0.033 s + | Time for this iteration : 0.036 s 0.036 s | Charge density update : 0.010 s 0.010 s - | Density mixing : 0.001 s 0.001 s - | Hartree multipole update : 0.001 s 0.002 s + | Density mixing : 0.001 s 0.002 s + | Hartree multipole update : 0.001 s 0.001 s | Hartree multipole summation : 0.006 s 0.006 s - | Integration : 0.014 s 0.013 s - | Solution of K.-S. eqns. : 0.001 s 0.001 s + | Integration : 0.014 s 0.014 s + | Solution of K.-S. eqns. : 0.001 s 0.002 s | Total energy evaluation : 0.000 s 0.000 s Partial memory accounting: @@ -1130,10 +1205,15 @@ ------------------------------------------------------------ Begin self-consistency iteration # 3 - Date : 20240501, Time : 123203.428 + Date : 20241030, Time : 192708.802 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 55.15 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 0.826335E+01 + | N minus 2 -0.677392E+02 + Available memory per node after mixing [GB]: 51.09 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 @@ -1141,30 +1221,40 @@ | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.127293E-13 + | Original multipole sum: apparent total charge = 0.554679E-14 | Sum of charges compensated after spline to logarithmic grids = 0.661723E-04 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.124957E-13 + | Hartree multipole sum: apparent total charge = 0.506713E-14 Summing up the Hartree potential. Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s | RMS charge density error from multipole expansion : 0.396062E-02 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.054 s, elapsed 0.055 s + Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.055 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.014 s 0.013 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -1174,6 +1264,38 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -5.11861032 eV + Writing Kohn-Sham eigenvalues. + + Spin-up eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.927394 -515.04061 + 2 1.00000 -1.026014 -27.91927 + 3 1.00000 -0.570315 -15.51907 + 4 1.00000 -0.435980 -11.86362 + 5 1.00000 -0.358432 -9.75342 + 6 0.00000 -0.037753 -1.02731 + 7 0.00000 0.047429 1.29060 + 8 0.00000 0.249670 6.79387 + 9 0.00000 0.283251 7.70765 + 10 0.00000 0.328706 8.94455 + 11 0.00000 0.513961 13.98558 + + Spin-down eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.920556 -514.85453 + 2 1.00000 -0.994926 -27.07332 + 3 1.00000 -0.529888 -14.41899 + 4 1.00000 -0.409327 -11.13836 + 5 1.00000 -0.336197 -9.14838 + 6 0.00000 -0.006974 -0.18978 + 7 0.00000 0.088047 2.39589 + 8 0.00000 0.262396 7.14015 + 9 0.00000 0.295679 8.04582 + 10 0.00000 0.346926 9.44033 + 11 0.00000 0.573654 15.60993 + Current spin moment of the entire structure : | N = N_up - N_down : 0.00 | S : 0.00 @@ -1210,7 +1332,7 @@ | Total energy (T->0) per atom : -693.70645580 eV <-- do not rely on this value for anything but (periodic) metals | Electronic free energy per atom : -693.70645580 eV Evaluating new KS density. - Integration grid: deviation in total charge ( - N_e) = -1.065814E-14 + Integration grid: deviation in total charge ( - N_e) = 0.000000E+00 | = N_up-N_dn = 0.0000; <|rho_up-rho_dn|> = 0.0983 Self-consistency convergence accuracy: @@ -1222,13 +1344,13 @@ ------------------------------------------------------------ End self-consistency iteration # 3 : max(cpu_time) wall_clock(cpu1) - | Time for this iteration : 0.033 s 0.034 s + | Time for this iteration : 0.036 s 0.036 s | Charge density update : 0.010 s 0.010 s - | Density mixing : 0.002 s 0.002 s + | Density mixing : 0.003 s 0.003 s | Hartree multipole update : 0.001 s 0.001 s - | Hartree multipole summation : 0.006 s 0.006 s + | Hartree multipole summation : 0.006 s 0.007 s | Integration : 0.014 s 0.014 s - | Solution of K.-S. eqns. : 0.001 s 0.001 s + | Solution of K.-S. eqns. : 0.001 s 0.000 s | Total energy evaluation : 0.000 s 0.000 s Partial memory accounting: @@ -1251,10 +1373,16 @@ ------------------------------------------------------------ Begin self-consistency iteration # 4 - Date : 20240501, Time : 123203.462 + Date : 20241030, Time : 192708.839 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 55.15 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 0.204655E+00 + | N minus 2 0.258569E+01 + | N minus 3 -0.161529E+02 + Available memory per node after mixing [GB]: 51.08 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 @@ -1262,30 +1390,40 @@ | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.902737E-14 + | Original multipole sum: apparent total charge = 0.351748E-14 | Sum of charges compensated after spline to logarithmic grids = 0.894778E-04 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.885519E-14 + | Hartree multipole sum: apparent total charge = 0.282874E-14 Summing up the Hartree potential. Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s | RMS charge density error from multipole expansion : 0.585014E-02 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.054 s, elapsed 0.055 s + Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.055 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.014 s 0.014 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem - | Time : 0.000 s - Finished solving standard eigenproblem | Time : 0.001 s + Finished solving standard eigenproblem + | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -1295,6 +1433,38 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -1.18209548 eV + Writing Kohn-Sham eigenvalues. + + Spin-up eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.835029 -512.52721 + 2 1.00000 -0.957748 -26.06166 + 3 1.00000 -0.508296 -13.83143 + 4 1.00000 -0.367826 -10.00905 + 5 1.00000 -0.290256 -7.89826 + 6 0.00000 -0.010810 -0.29415 + 7 0.00000 0.083150 2.26263 + 8 0.00000 0.283167 7.70537 + 9 0.00000 0.317384 8.63645 + 10 0.00000 0.357001 9.71449 + 11 0.00000 0.552388 15.03124 + + Spin-down eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.836557 -512.56880 + 2 1.00000 -0.959278 -26.10328 + 3 1.00000 -0.506742 -13.78916 + 4 1.00000 -0.369088 -10.04339 + 5 1.00000 -0.291476 -7.93146 + 6 0.00000 -0.008607 -0.23420 + 7 0.00000 0.086736 2.36020 + 8 0.00000 0.281542 7.66115 + 9 0.00000 0.316580 8.61457 + 10 0.00000 0.356973 9.71372 + 11 0.00000 0.562788 15.31425 + Current spin moment of the entire structure : | N = N_up - N_down : 0.00 | S : 0.00 @@ -1331,7 +1501,7 @@ | Total energy (T->0) per atom : -693.62968886 eV <-- do not rely on this value for anything but (periodic) metals | Electronic free energy per atom : -693.62968886 eV Evaluating new KS density. - Integration grid: deviation in total charge ( - N_e) = 0.000000E+00 + Integration grid: deviation in total charge ( - N_e) = 1.065814E-14 | = N_up-N_dn = -0.0000; <|rho_up-rho_dn|> = 0.0417 Self-consistency convergence accuracy: @@ -1343,13 +1513,13 @@ ------------------------------------------------------------ End self-consistency iteration # 4 : max(cpu_time) wall_clock(cpu1) - | Time for this iteration : 0.034 s 0.034 s + | Time for this iteration : 0.036 s 0.035 s | Charge density update : 0.010 s 0.010 s | Density mixing : 0.002 s 0.002 s | Hartree multipole update : 0.001 s 0.001 s | Hartree multipole summation : 0.006 s 0.006 s | Integration : 0.014 s 0.014 s - | Solution of K.-S. eqns. : 0.001 s 0.001 s + | Solution of K.-S. eqns. : 0.001 s 0.002 s | Total energy evaluation : 0.000 s 0.000 s Partial memory accounting: @@ -1372,10 +1542,17 @@ ------------------------------------------------------------ Begin self-consistency iteration # 5 - Date : 20240501, Time : 123203.496 + Date : 20241030, Time : 192708.875 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 55.15 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 0.186015E+01 + | N minus 2 -0.835625E+00 + | N minus 3 -0.652543E+00 + | N minus 4 -0.333167E+01 + Available memory per node after mixing [GB]: 51.07 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 @@ -1383,30 +1560,40 @@ | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = -0.110690E-14 + | Original multipole sum: apparent total charge = -0.221380E-15 | Sum of charges compensated after spline to logarithmic grids = 0.129872E-03 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = -0.154966E-14 + | Hartree multipole sum: apparent total charge = 0.147586E-15 Summing up the Hartree potential. Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s | RMS charge density error from multipole expansion : 0.610508E-02 Integrating Hamiltonian matrix: batch-based integration. Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.055 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.014 s 0.014 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem - | Time : 0.001 s + | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -1416,6 +1603,38 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -0.89050742 eV + Writing Kohn-Sham eigenvalues. + + Spin-up eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.787376 -511.23050 + 2 1.00000 -0.931378 -25.34407 + 3 1.00000 -0.485388 -13.20809 + 4 1.00000 -0.343829 -9.35607 + 5 1.00000 -0.265117 -7.21420 + 6 0.00000 -0.001673 -0.04552 + 7 0.00000 0.095354 2.59472 + 8 0.00000 0.295268 8.03466 + 9 0.00000 0.331021 9.00753 + 10 0.00000 0.365876 9.95598 + 11 0.00000 0.566171 15.40630 + + Spin-down eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.788549 -511.26244 + 2 1.00000 -0.932766 -25.38186 + 3 1.00000 -0.484776 -13.19142 + 4 1.00000 -0.344845 -9.38371 + 5 1.00000 -0.266143 -7.24212 + 6 0.00000 -0.000573 -0.01559 + 7 0.00000 0.097227 2.64569 + 8 0.00000 0.294100 8.00287 + 9 0.00000 0.330393 8.99045 + 10 0.00000 0.365781 9.95340 + 11 0.00000 0.572301 15.57310 + Current spin moment of the entire structure : | N = N_up - N_down : 0.00 | S : 0.00 @@ -1452,7 +1671,7 @@ | Total energy (T->0) per atom : -693.61041419 eV <-- do not rely on this value for anything but (periodic) metals | Electronic free energy per atom : -693.61041419 eV Evaluating new KS density. - Integration grid: deviation in total charge ( - N_e) = 0.000000E+00 + Integration grid: deviation in total charge ( - N_e) = 3.552714E-15 | = N_up-N_dn = 0.0000; <|rho_up-rho_dn|> = 0.0272 Self-consistency convergence accuracy: @@ -1464,13 +1683,13 @@ ------------------------------------------------------------ End self-consistency iteration # 5 : max(cpu_time) wall_clock(cpu1) - | Time for this iteration : 0.035 s 0.035 s - | Charge density update : 0.010 s 0.010 s - | Density mixing : 0.003 s 0.003 s - | Hartree multipole update : 0.001 s 0.001 s - | Hartree multipole summation : 0.006 s 0.006 s + | Time for this iteration : 0.036 s 0.036 s + | Charge density update : 0.010 s 0.011 s + | Density mixing : 0.003 s 0.002 s + | Hartree multipole update : 0.001 s 0.002 s + | Hartree multipole summation : 0.007 s 0.007 s | Integration : 0.014 s 0.014 s - | Solution of K.-S. eqns. : 0.001 s 0.001 s + | Solution of K.-S. eqns. : 0.001 s 0.000 s | Total energy evaluation : 0.000 s 0.000 s Partial memory accounting: @@ -1493,41 +1712,59 @@ ------------------------------------------------------------ Begin self-consistency iteration # 6 - Date : 20240501, Time : 123203.531 + Date : 20241030, Time : 192708.911 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 55.15 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 0.123187E+01 + | N minus 2 0.153283E-01 + | N minus 3 0.127637E+00 + | N minus 4 -0.221692E+00 + | N minus 5 0.106403E+01 + Available memory per node after mixing [GB]: 51.07 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 - | Charge integration error : 0.0000000000 + | Charge integration error : -0.0000000000 | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.176612E-13 + | Original multipole sum: apparent total charge = 0.123235E-13 | Sum of charges compensated after spline to logarithmic grids = 0.163886E-03 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.178334E-13 + | Hartree multipole sum: apparent total charge = 0.121021E-13 Summing up the Hartree potential. - Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s + Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.007 s | RMS charge density error from multipole expansion : 0.646699E-02 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.055 s + Time summed over all CPUs for integration: real work 0.056 s, elapsed 0.058 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.014 s 0.014 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem - | Time : 0.001 s + | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -1537,6 +1774,38 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -0.74554555 eV + Writing Kohn-Sham eigenvalues. + + Spin-up eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.784371 -511.14874 + 2 1.00000 -0.922657 -25.10678 + 3 1.00000 -0.476501 -12.96626 + 4 1.00000 -0.337440 -9.18220 + 5 1.00000 -0.258381 -7.03091 + 6 0.00000 0.003211 0.08738 + 7 0.00000 0.101208 2.75400 + 8 0.00000 0.298512 8.12292 + 9 0.00000 0.334909 9.11333 + 10 0.00000 0.369756 10.06157 + 11 0.00000 0.576040 15.67484 + + Spin-down eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.784757 -511.15924 + 2 1.00000 -0.922895 -25.11325 + 3 1.00000 -0.476207 -12.95825 + 4 1.00000 -0.337445 -9.18235 + 5 1.00000 -0.258431 -7.03228 + 6 0.00000 0.003941 0.10724 + 7 0.00000 0.102117 2.77874 + 8 0.00000 0.298627 8.12604 + 9 0.00000 0.335044 9.11702 + 10 0.00000 0.370248 10.07496 + 11 0.00000 0.577678 15.71941 + Current spin moment of the entire structure : | N = N_up - N_down : 0.00 | S : 0.00 @@ -1573,7 +1842,7 @@ | Total energy (T->0) per atom : -693.61094154 eV <-- do not rely on this value for anything but (periodic) metals | Electronic free energy per atom : -693.61094154 eV Evaluating new KS density. - Integration grid: deviation in total charge ( - N_e) = -1.776357E-15 + Integration grid: deviation in total charge ( - N_e) = 1.776357E-15 | = N_up-N_dn = 0.0000; <|rho_up-rho_dn|> = 0.0077 Self-consistency convergence accuracy: @@ -1585,14 +1854,14 @@ ------------------------------------------------------------ End self-consistency iteration # 6 : max(cpu_time) wall_clock(cpu1) - | Time for this iteration : 0.035 s 0.035 s + | Time for this iteration : 0.042 s 0.043 s | Charge density update : 0.010 s 0.010 s - | Density mixing : 0.003 s 0.003 s - | Hartree multipole update : 0.001 s 0.001 s - | Hartree multipole summation : 0.006 s 0.007 s - | Integration : 0.014 s 0.013 s - | Solution of K.-S. eqns. : 0.001 s 0.001 s - | Total energy evaluation : 0.000 s 0.000 s + | Density mixing : 0.005 s 0.005 s + | Hartree multipole update : 0.001 s 0.002 s + | Hartree multipole summation : 0.007 s 0.007 s + | Integration : 0.014 s 0.014 s + | Solution of K.-S. eqns. : 0.002 s 0.002 s + | Total energy evaluation : 0.000 s 0.001 s Partial memory accounting: | Current value for overall tracked memory usage: @@ -1614,41 +1883,60 @@ ------------------------------------------------------------ Begin self-consistency iteration # 7 - Date : 20240501, Time : 123203.566 + Date : 20241030, Time : 192708.954 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 55.15 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 0.205079E+01 + | N minus 2 -0.277119E+01 + | N minus 3 0.150955E+00 + | N minus 4 -0.338860E+00 + | N minus 5 0.253803E+00 + | N minus 6 -0.136811E+01 + Available memory per node after mixing [GB]: 51.07 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 - | Charge integration error : -0.0000000000 + | Charge integration error : 0.0000000000 | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.954392E-14 + | Original multipole sum: apparent total charge = 0.737932E-14 | Sum of charges compensated after spline to logarithmic grids = 0.159008E-03 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.969151E-14 + | Hartree multipole sum: apparent total charge = 0.769909E-14 Summing up the Hartree potential. - Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s + Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.007 s | RMS charge density error from multipole expansion : 0.642117E-02 Integrating Hamiltonian matrix: batch-based integration. Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.055 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.014 s 0.014 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem - | Time : 0.001 s + | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem - | Time : 0.000 s + | Time : 0.001 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -1658,6 +1946,38 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -0.82177597 eV + Writing Kohn-Sham eigenvalues. + + Spin-up eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.789224 -511.28080 + 2 1.00000 -0.926287 -25.20555 + 3 1.00000 -0.479619 -13.05110 + 4 1.00000 -0.339320 -9.23337 + 5 1.00000 -0.260899 -7.09943 + 6 0.00000 0.001699 0.04624 + 7 0.00000 0.099474 2.70682 + 8 0.00000 0.297647 8.09938 + 9 0.00000 0.333567 9.07681 + 10 0.00000 0.369002 10.04104 + 11 0.00000 0.573409 15.60326 + + Spin-down eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.789530 -511.28912 + 2 1.00000 -0.926525 -25.21204 + 3 1.00000 -0.479367 -13.04425 + 4 1.00000 -0.339420 -9.23609 + 5 1.00000 -0.261037 -7.10317 + 6 0.00000 0.002192 0.05965 + 7 0.00000 0.100155 2.72535 + 8 0.00000 0.297566 8.09718 + 9 0.00000 0.333557 9.07655 + 10 0.00000 0.369224 10.04709 + 11 0.00000 0.574940 15.64491 + Current spin moment of the entire structure : | N = N_up - N_down : 0.00 | S : 0.00 @@ -1694,8 +2014,8 @@ | Total energy (T->0) per atom : -693.61071083 eV <-- do not rely on this value for anything but (periodic) metals | Electronic free energy per atom : -693.61071083 eV Evaluating new KS density. - Integration grid: deviation in total charge ( - N_e) = 0.000000E+00 - | = N_up-N_dn = -0.0000; <|rho_up-rho_dn|> = 0.0067 + Integration grid: deviation in total charge ( - N_e) = -3.552714E-15 + | = N_up-N_dn = 0.0000; <|rho_up-rho_dn|> = 0.0067 Self-consistency convergence accuracy: | Change of charge/spin density : 0.5163E-02 0.3270E-02 @@ -1708,9 +2028,9 @@ End self-consistency iteration # 7 : max(cpu_time) wall_clock(cpu1) | Time for this iteration : 0.036 s 0.036 s | Charge density update : 0.010 s 0.010 s - | Density mixing : 0.004 s 0.004 s - | Hartree multipole update : 0.001 s 0.001 s - | Hartree multipole summation : 0.006 s 0.006 s + | Density mixing : 0.004 s 0.003 s + | Hartree multipole update : 0.001 s 0.002 s + | Hartree multipole summation : 0.007 s 0.006 s | Integration : 0.014 s 0.014 s | Solution of K.-S. eqns. : 0.001 s 0.001 s | Total energy evaluation : 0.000 s 0.000 s @@ -1735,41 +2055,61 @@ ------------------------------------------------------------ Begin self-consistency iteration # 8 - Date : 20240501, Time : 123203.602 + Date : 20241030, Time : 192708.991 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 55.15 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 0.290647E+00 + | N minus 2 0.215182E+00 + | N minus 3 0.898641E-01 + | N minus 4 -0.438335E-01 + | N minus 5 0.249214E-01 + | N minus 6 -0.490671E-01 + | N minus 7 0.598115E+00 + Available memory per node after mixing [GB]: 51.07 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 - | Charge integration error : 0.0000000000 + | Charge integration error : -0.0000000000 | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.114871E-13 + | Original multipole sum: apparent total charge = 0.649380E-14 | Sum of charges compensated after spline to logarithmic grids = 0.167013E-03 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.115609E-13 + | Hartree multipole sum: apparent total charge = 0.629702E-14 Summing up the Hartree potential. Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s | RMS charge density error from multipole expansion : 0.650141E-02 Integrating Hamiltonian matrix: batch-based integration. Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.056 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.014 s 0.014 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem - | Time : 0.000 s + | Time : 0.001 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -1779,6 +2119,38 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -0.79605870 eV + Writing Kohn-Sham eigenvalues. + + Spin-up eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.787067 -511.22209 + 2 1.00000 -0.923912 -25.14092 + 3 1.00000 -0.477283 -12.98752 + 4 1.00000 -0.337106 -9.17311 + 5 1.00000 -0.258699 -7.03957 + 6 0.00000 0.002885 0.07852 + 7 0.00000 0.100985 2.74795 + 8 0.00000 0.298830 8.13157 + 9 0.00000 0.334857 9.11191 + 10 0.00000 0.370147 10.07222 + 11 0.00000 0.575618 15.66337 + + Spin-down eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.787133 -511.22391 + 2 1.00000 -0.923879 -25.14004 + 3 1.00000 -0.477179 -12.98471 + 4 1.00000 -0.337008 -9.17045 + 5 1.00000 -0.258637 -7.03788 + 6 0.00000 0.003135 0.08530 + 7 0.00000 0.101249 2.75512 + 8 0.00000 0.299001 8.13622 + 9 0.00000 0.334978 9.11521 + 10 0.00000 0.370396 10.07899 + 11 0.00000 0.575838 15.66936 + Current spin moment of the entire structure : | N = N_up - N_down : 0.00 | S : 0.00 @@ -1815,8 +2187,8 @@ | Total energy (T->0) per atom : -693.61077806 eV <-- do not rely on this value for anything but (periodic) metals | Electronic free energy per atom : -693.61077806 eV Evaluating new KS density. - Integration grid: deviation in total charge ( - N_e) = 0.000000E+00 - | = N_up-N_dn = -0.0000; <|rho_up-rho_dn|> = 0.0013 + Integration grid: deviation in total charge ( - N_e) = 3.552714E-15 + | = N_up-N_dn = 0.0000; <|rho_up-rho_dn|> = 0.0013 Self-consistency convergence accuracy: | Change of charge/spin density : 0.1846E-02 0.3040E-02 @@ -1827,14 +2199,14 @@ ------------------------------------------------------------ End self-consistency iteration # 8 : max(cpu_time) wall_clock(cpu1) - | Time for this iteration : 0.036 s 0.037 s + | Time for this iteration : 0.037 s 0.036 s | Charge density update : 0.010 s 0.010 s | Density mixing : 0.004 s 0.004 s | Hartree multipole update : 0.001 s 0.001 s | Hartree multipole summation : 0.006 s 0.006 s | Integration : 0.014 s 0.014 s - | Solution of K.-S. eqns. : 0.001 s 0.000 s - | Total energy evaluation : 0.000 s 0.001 s + | Solution of K.-S. eqns. : 0.001 s 0.001 s + | Total energy evaluation : 0.000 s 0.000 s Partial memory accounting: | Current value for overall tracked memory usage: @@ -1856,10 +2228,21 @@ ------------------------------------------------------------ Begin self-consistency iteration # 9 - Date : 20240501, Time : 123203.639 + Date : 20241030, Time : 192709.028 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 55.15 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 0.402419E+01 + | N minus 2 -0.130090E+01 + | N minus 3 -0.663649E+00 + | N minus 4 -0.626759E+00 + | N minus 5 0.548872E-01 + | N minus 6 -0.541883E-01 + | N minus 7 0.147808E-02 + | N minus 8 -0.893717E-01 + Available memory per node after mixing [GB]: 51.07 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 @@ -1867,30 +2250,40 @@ | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.258276E-14 + | Original multipole sum: apparent total charge = 0.305012E-14 | Sum of charges compensated after spline to logarithmic grids = 0.162696E-03 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.216460E-14 + | Hartree multipole sum: apparent total charge = 0.346828E-14 Summing up the Hartree potential. Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s | RMS charge density error from multipole expansion : 0.646326E-02 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.055 s + Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.056 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.014 s 0.014 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.001 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -1900,6 +2293,38 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -0.82176965 eV + Writing Kohn-Sham eigenvalues. + + Spin-up eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.788494 -511.26094 + 2 1.00000 -0.925226 -25.17668 + 3 1.00000 -0.478541 -13.02176 + 4 1.00000 -0.338335 -9.20657 + 5 1.00000 -0.259841 -7.07064 + 6 0.00000 0.002379 0.06474 + 7 0.00000 0.100306 2.72946 + 8 0.00000 0.298213 8.11479 + 9 0.00000 0.334206 9.09421 + 10 0.00000 0.369621 10.05791 + 11 0.00000 0.574686 15.63800 + + Spin-down eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.788538 -511.26214 + 2 1.00000 -0.925261 -25.17764 + 3 1.00000 -0.478503 -13.02074 + 4 1.00000 -0.338355 -9.20712 + 5 1.00000 -0.259874 -7.07152 + 6 0.00000 0.002444 0.06650 + 7 0.00000 0.100398 2.73197 + 8 0.00000 0.298195 8.11430 + 9 0.00000 0.334197 9.09395 + 10 0.00000 0.369646 10.05859 + 11 0.00000 0.574908 15.64405 + Current spin moment of the entire structure : | N = N_up - N_down : 0.00 | S : 0.00 @@ -1936,7 +2361,7 @@ | Total energy (T->0) per atom : -693.61074867 eV <-- do not rely on this value for anything but (periodic) metals | Electronic free energy per atom : -693.61074867 eV Evaluating new KS density. - Integration grid: deviation in total charge ( - N_e) = 1.776357E-15 + Integration grid: deviation in total charge ( - N_e) = 0.000000E+00 | = N_up-N_dn = 0.0000; <|rho_up-rho_dn|> = 0.0010 Self-consistency convergence accuracy: @@ -1948,13 +2373,13 @@ ------------------------------------------------------------ End self-consistency iteration # 9 : max(cpu_time) wall_clock(cpu1) - | Time for this iteration : 0.036 s 0.036 s - | Charge density update : 0.010 s 0.010 s + | Time for this iteration : 0.037 s 0.037 s + | Charge density update : 0.010 s 0.011 s | Density mixing : 0.004 s 0.004 s | Hartree multipole update : 0.001 s 0.001 s | Hartree multipole summation : 0.006 s 0.006 s | Integration : 0.014 s 0.014 s - | Solution of K.-S. eqns. : 0.000 s 0.001 s + | Solution of K.-S. eqns. : 0.001 s 0.001 s | Total energy evaluation : 0.000 s 0.000 s Partial memory accounting: @@ -1977,10 +2402,21 @@ ------------------------------------------------------------ Begin self-consistency iteration # 10 - Date : 20240501, Time : 123203.675 + Date : 20241030, Time : 192709.065 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 55.15 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 0.909256E+00 + | N minus 2 -0.355779E+01 + | N minus 3 0.105056E+01 + | N minus 4 0.861062E+00 + | N minus 5 0.191235E+00 + | N minus 6 0.308533E-01 + | N minus 7 -0.183859E-01 + | N minus 8 -0.159677E-01 + Available memory per node after mixing [GB]: 51.07 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 @@ -1988,30 +2424,40 @@ | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.132090E-13 + | Original multipole sum: apparent total charge = 0.172430E-13 | Sum of charges compensated after spline to logarithmic grids = 0.163303E-03 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.141191E-13 + | Hartree multipole sum: apparent total charge = 0.177842E-13 Summing up the Hartree potential. Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s | RMS charge density error from multipole expansion : 0.647106E-02 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.056 s + Time summed over all CPUs for integration: real work 0.054 s, elapsed 0.055 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.014 s 0.013 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem - | Time : 0.000 s + | Time : 0.001 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -2021,6 +2467,38 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -0.81899132 eV + Writing Kohn-Sham eigenvalues. + + Spin-up eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.788301 -511.25569 + 2 1.00000 -0.925009 -25.17078 + 3 1.00000 -0.478316 -13.01565 + 4 1.00000 -0.338154 -9.20163 + 5 1.00000 -0.259662 -7.06577 + 6 0.00000 0.002502 0.06808 + 7 0.00000 0.100462 2.73370 + 8 0.00000 0.298305 8.11730 + 9 0.00000 0.334311 9.09706 + 10 0.00000 0.369721 10.06062 + 11 0.00000 0.574925 15.64450 + + Spin-down eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.788324 -511.25631 + 2 1.00000 -0.925028 -25.17128 + 3 1.00000 -0.478305 -13.01534 + 4 1.00000 -0.338162 -9.20186 + 5 1.00000 -0.259678 -7.06621 + 6 0.00000 0.002533 0.06892 + 7 0.00000 0.100501 2.73477 + 8 0.00000 0.298306 8.11731 + 9 0.00000 0.334310 9.09705 + 10 0.00000 0.369741 10.06116 + 11 0.00000 0.575007 15.64673 + Current spin moment of the entire structure : | N = N_up - N_down : 0.00 | S : 0.00 @@ -2057,7 +2535,7 @@ | Total energy (T->0) per atom : -693.61075110 eV <-- do not rely on this value for anything but (periodic) metals | Electronic free energy per atom : -693.61075110 eV Evaluating new KS density. - Integration grid: deviation in total charge ( - N_e) = 0.000000E+00 + Integration grid: deviation in total charge ( - N_e) = -3.552714E-15 | = N_up-N_dn = -0.0000; <|rho_up-rho_dn|> = 0.0004 Self-consistency convergence accuracy: @@ -2069,13 +2547,13 @@ ------------------------------------------------------------ End self-consistency iteration # 10 : max(cpu_time) wall_clock(cpu1) - | Time for this iteration : 0.036 s 0.036 s - | Charge density update : 0.010 s 0.010 s - | Density mixing : 0.005 s 0.005 s + | Time for this iteration : 0.037 s 0.037 s + | Charge density update : 0.010 s 0.011 s + | Density mixing : 0.004 s 0.004 s | Hartree multipole update : 0.001 s 0.001 s - | Hartree multipole summation : 0.006 s 0.006 s - | Integration : 0.014 s 0.014 s - | Solution of K.-S. eqns. : 0.000 s 0.000 s + | Hartree multipole summation : 0.006 s 0.007 s + | Integration : 0.014 s 0.013 s + | Solution of K.-S. eqns. : 0.001 s 0.001 s | Total energy evaluation : 0.000 s 0.000 s Partial memory accounting: @@ -2098,10 +2576,21 @@ ------------------------------------------------------------ Begin self-consistency iteration # 11 - Date : 20240501, Time : 123203.711 + Date : 20241030, Time : 192709.102 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 55.15 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 0.164193E+01 + | N minus 2 0.153804E+00 + | N minus 3 -0.369235E+00 + | N minus 4 0.104658E+00 + | N minus 5 0.618292E-01 + | N minus 6 0.220143E-01 + | N minus 7 -0.123540E-02 + | N minus 8 0.619569E-03 + Available memory per node after mixing [GB]: 51.07 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 @@ -2109,30 +2598,40 @@ | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.102081E-13 + | Original multipole sum: apparent total charge = 0.152506E-13 | Sum of charges compensated after spline to logarithmic grids = 0.163091E-03 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.100359E-13 + | Hartree multipole sum: apparent total charge = 0.147832E-13 Summing up the Hartree potential. - Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s + Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.007 s | RMS charge density error from multipole expansion : 0.647153E-02 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.055 s + Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.057 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.014 s 0.014 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem - | Time : 0.001 s + | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -2142,6 +2641,38 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -0.82068342 eV + Writing Kohn-Sham eigenvalues. + + Spin-up eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.788541 -511.26222 + 2 1.00000 -0.925128 -25.17402 + 3 1.00000 -0.478393 -13.01773 + 4 1.00000 -0.338272 -9.20484 + 5 1.00000 -0.259790 -7.06925 + 6 0.00000 0.002494 0.06787 + 7 0.00000 0.100449 2.73335 + 8 0.00000 0.298241 8.11555 + 9 0.00000 0.334243 9.09520 + 10 0.00000 0.369693 10.05986 + 11 0.00000 0.574950 15.64517 + + Spin-down eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.788541 -511.26221 + 2 1.00000 -0.925128 -25.17401 + 3 1.00000 -0.478392 -13.01772 + 4 1.00000 -0.338272 -9.20486 + 5 1.00000 -0.259792 -7.06931 + 6 0.00000 0.002492 0.06782 + 7 0.00000 0.100447 2.73331 + 8 0.00000 0.298240 8.11552 + 9 0.00000 0.334241 9.09517 + 10 0.00000 0.369692 10.05982 + 11 0.00000 0.574948 15.64514 + Current spin moment of the entire structure : | N = N_up - N_down : 0.00 | S : 0.00 @@ -2178,7 +2709,7 @@ | Total energy (T->0) per atom : -693.61075150 eV <-- do not rely on this value for anything but (periodic) metals | Electronic free energy per atom : -693.61075150 eV Evaluating new KS density. - Integration grid: deviation in total charge ( - N_e) = -3.552714E-15 + Integration grid: deviation in total charge ( - N_e) = 0.000000E+00 | = N_up-N_dn = -0.0000; <|rho_up-rho_dn|> = 0.0000 Self-consistency convergence accuracy: @@ -2190,13 +2721,13 @@ ------------------------------------------------------------ End self-consistency iteration # 11 : max(cpu_time) wall_clock(cpu1) - | Time for this iteration : 0.036 s 0.037 s - | Charge density update : 0.010 s 0.010 s - | Density mixing : 0.004 s 0.005 s - | Hartree multipole update : 0.001 s 0.001 s - | Hartree multipole summation : 0.006 s 0.006 s + | Time for this iteration : 0.040 s 0.041 s + | Charge density update : 0.011 s 0.011 s + | Density mixing : 0.004 s 0.004 s + | Hartree multipole update : 0.001 s 0.002 s + | Hartree multipole summation : 0.007 s 0.007 s | Integration : 0.014 s 0.014 s - | Solution of K.-S. eqns. : 0.000 s 0.001 s + | Solution of K.-S. eqns. : 0.001 s 0.001 s | Total energy evaluation : 0.000 s 0.000 s Partial memory accounting: @@ -2219,10 +2750,21 @@ ------------------------------------------------------------ Begin self-consistency iteration # 12 - Date : 20240501, Time : 123203.748 + Date : 20241030, Time : 192709.143 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 55.15 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 0.317161E+01 + | N minus 2 -0.530074E+01 + | N minus 3 -0.358219E+00 + | N minus 4 0.647612E+00 + | N minus 5 -0.172279E+00 + | N minus 6 -0.868448E-01 + | N minus 7 -0.188433E-01 + | N minus 8 0.209336E-02 + Available memory per node after mixing [GB]: 51.06 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 @@ -2230,30 +2772,40 @@ | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.755151E-14 + | Original multipole sum: apparent total charge = 0.538690E-14 | Sum of charges compensated after spline to logarithmic grids = 0.163077E-03 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.777289E-14 + | Hartree multipole sum: apparent total charge = 0.516553E-14 Summing up the Hartree potential. - Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s + Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.007 s | RMS charge density error from multipole expansion : 0.647133E-02 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.055 s + Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.057 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.014 s 0.015 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem - | Time : 0.000 s + | Time : 0.001 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -2263,6 +2815,38 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -0.82075832 eV + Writing Kohn-Sham eigenvalues. + + Spin-up eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.788546 -511.26235 + 2 1.00000 -0.925132 -25.17411 + 3 1.00000 -0.478395 -13.01780 + 4 1.00000 -0.338274 -9.20490 + 5 1.00000 -0.259795 -7.06937 + 6 0.00000 0.002491 0.06779 + 7 0.00000 0.100446 2.73327 + 8 0.00000 0.298240 8.11552 + 9 0.00000 0.334240 9.09513 + 10 0.00000 0.369692 10.05982 + 11 0.00000 0.574945 15.64505 + + Spin-down eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.788547 -511.26237 + 2 1.00000 -0.925132 -25.17412 + 3 1.00000 -0.478395 -13.01779 + 4 1.00000 -0.338274 -9.20491 + 5 1.00000 -0.259795 -7.06939 + 6 0.00000 0.002492 0.06780 + 7 0.00000 0.100446 2.73329 + 8 0.00000 0.298240 8.11551 + 9 0.00000 0.334240 9.09512 + 10 0.00000 0.369692 10.05983 + 11 0.00000 0.574947 15.64510 + Current spin moment of the entire structure : | N = N_up - N_down : 0.00 | S : 0.00 @@ -2299,7 +2883,7 @@ | Total energy (T->0) per atom : -693.61075150 eV <-- do not rely on this value for anything but (periodic) metals | Electronic free energy per atom : -693.61075150 eV Evaluating new KS density. - Integration grid: deviation in total charge ( - N_e) = 3.552714E-15 + Integration grid: deviation in total charge ( - N_e) = 1.776357E-15 | = N_up-N_dn = 0.0000; <|rho_up-rho_dn|> = 0.0000 Self-consistency convergence accuracy: @@ -2311,13 +2895,13 @@ ------------------------------------------------------------ End self-consistency iteration # 12 : max(cpu_time) wall_clock(cpu1) - | Time for this iteration : 0.036 s 0.036 s + | Time for this iteration : 0.044 s 0.045 s | Charge density update : 0.010 s 0.010 s - | Density mixing : 0.004 s 0.004 s - | Hartree multipole update : 0.001 s 0.001 s - | Hartree multipole summation : 0.006 s 0.007 s - | Integration : 0.014 s 0.013 s - | Solution of K.-S. eqns. : 0.000 s 0.001 s + | Density mixing : 0.005 s 0.006 s + | Hartree multipole update : 0.001 s 0.002 s + | Hartree multipole summation : 0.007 s 0.007 s + | Integration : 0.014 s 0.015 s + | Solution of K.-S. eqns. : 0.002 s 0.002 s | Total energy evaluation : 0.000 s 0.000 s Partial memory accounting: @@ -2340,10 +2924,21 @@ ------------------------------------------------------------ Begin self-consistency iteration # 13 - Date : 20240501, Time : 123203.784 + Date : 20241030, Time : 192709.189 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 55.15 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 0.163672E+00 + | N minus 2 0.112739E-01 + | N minus 3 -0.821138E-02 + | N minus 4 0.555234E-04 + | N minus 5 0.919433E-02 + | N minus 6 -0.222876E-02 + | N minus 7 -0.171323E-02 + | N minus 8 -0.377712E-03 + Available memory per node after mixing [GB]: 51.06 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 @@ -2351,30 +2946,40 @@ | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.346828E-14 + | Original multipole sum: apparent total charge = 0.132828E-14 | Sum of charges compensated after spline to logarithmic grids = 0.163078E-03 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.322230E-14 + | Hartree multipole sum: apparent total charge = 0.113150E-14 Summing up the Hartree potential. - Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s + Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.007 s | RMS charge density error from multipole expansion : 0.647133E-02 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.055 s + Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.057 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.014 s 0.015 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -2384,6 +2989,38 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -0.82077092 eV + Writing Kohn-Sham eigenvalues. + + Spin-up eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.788544 -511.26229 + 2 1.00000 -0.925130 -25.17408 + 3 1.00000 -0.478394 -13.01777 + 4 1.00000 -0.338273 -9.20487 + 5 1.00000 -0.259793 -7.06934 + 6 0.00000 0.002492 0.06781 + 7 0.00000 0.100447 2.73329 + 8 0.00000 0.298241 8.11554 + 9 0.00000 0.334241 9.09515 + 10 0.00000 0.369692 10.05984 + 11 0.00000 0.574946 15.64508 + + Spin-down eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.788544 -511.26229 + 2 1.00000 -0.925130 -25.17408 + 3 1.00000 -0.478394 -13.01777 + 4 1.00000 -0.338273 -9.20487 + 5 1.00000 -0.259794 -7.06934 + 6 0.00000 0.002492 0.06781 + 7 0.00000 0.100447 2.73329 + 8 0.00000 0.298240 8.11554 + 9 0.00000 0.334240 9.09515 + 10 0.00000 0.369692 10.05984 + 11 0.00000 0.574946 15.64508 + Current spin moment of the entire structure : | N = N_up - N_down : 0.00 | S : 0.00 @@ -2483,13 +3120,13 @@ ------------------------------------------------------------ End self-consistency iteration # 13 : max(cpu_time) wall_clock(cpu1) - | Time for this iteration : 0.026 s 0.027 s + | Time for this iteration : 0.033 s 0.034 s | Charge density update : 0.000 s 0.000 s - | Density mixing : 0.004 s 0.005 s + | Density mixing : 0.007 s 0.007 s | Hartree multipole update : 0.001 s 0.001 s - | Hartree multipole summation : 0.006 s 0.006 s - | Integration : 0.014 s 0.014 s - | Solution of K.-S. eqns. : 0.000 s 0.000 s + | Hartree multipole summation : 0.007 s 0.007 s + | Integration : 0.014 s 0.015 s + | Solution of K.-S. eqns. : 0.001 s 0.002 s | Total energy evaluation : 0.000 s 0.000 s Partial memory accounting: @@ -2574,7 +3211,7 @@ The ELSI infrastructure was used in your run to solve the Kohn-Sham electronic structure. - Please check out http://elsi-interchange.org to learn more. + Please check out https://wordpress.elsi-interchange.org to learn more. If scalability is important for your project, please acknowledge ELSI by citing: V. W-z. Yu, F. Corsetti, A. Garcia, W. P. Huhn, M. Jacquelin, W. Jia, @@ -2599,25 +3236,25 @@ ------------------------------------------------------------ Leaving FHI-aims. - Date : 20240501, Time : 123203.815 + Date : 20241030, Time : 192709.229 Computational steps: | Number of self-consistency cycles : 13 | Number of SCF (re)initializations : 1 Detailed time accounting : max(cpu_time) wall_clock(cpu1) - | Total time : 0.718 s 0.721 s - | Preparation time : 0.187 s 0.189 s - | Boundary condition initalization : 0.008 s 0.008 s + | Total time : 0.758 s 0.764 s + | Preparation time : 0.186 s 0.189 s + | Boundary condition initalization : 0.002 s 0.002 s | Grid partitioning : 0.006 s 0.006 s | Preloading free-atom quantities on grid : 0.019 s 0.019 s | Free-atom superposition energy : 0.005 s 0.005 s - | Total time for integrations : 0.199 s 0.198 s - | Total time for solution of K.-S. equations : 0.008 s 0.011 s - | Total time for density update : 0.127 s 0.130 s - | Total time for mixing : 0.042 s 0.043 s - | Total time for Hartree multipole update : 0.016 s 0.015 s - | Total time for Hartree multipole sum : 0.085 s 0.086 s + | Total time for integrations : 0.202 s 0.202 s + | Total time for solution of K.-S. equations : 0.016 s 0.019 s + | Total time for density update : 0.134 s 0.135 s + | Total time for mixing : 0.048 s 0.047 s + | Total time for Hartree multipole update : 0.017 s 0.020 s + | Total time for Hartree multipole sum : 0.091 s 0.092 s | Total time for total energy evaluation : 0.001 s 0.001 s | Total time for scaled ZORA corrections : 0.000 s 0.000 s diff --git a/tests/fixtures/aims_calculations/2/control.in b/tests/fixtures/default_aims_calcs/2/control.in similarity index 99% rename from tests/fixtures/aims_calculations/2/control.in rename to tests/fixtures/default_aims_calcs/2/control.in index 2273b45..0695f35 100644 --- a/tests/fixtures/aims_calculations/2/control.in +++ b/tests/fixtures/default_aims_calcs/2/control.in @@ -1,6 +1,7 @@ xc pbe spin collinear default_initial_moment 1 +output_level full ################################################################################ # # FHI-aims code project diff --git a/tests/fixtures/aims_calculations/2/geometry.in b/tests/fixtures/default_aims_calcs/2/geometry.in similarity index 100% rename from tests/fixtures/aims_calculations/2/geometry.in rename to tests/fixtures/default_aims_calcs/2/geometry.in diff --git a/tests/fixtures/aims_calculations/3/aims.out b/tests/fixtures/default_aims_calcs/3/aims.out similarity index 72% rename from tests/fixtures/aims_calculations/3/aims.out rename to tests/fixtures/default_aims_calcs/3/aims.out index b1fc7c3..75fd97b 100644 --- a/tests/fixtures/aims_calculations/3/aims.out +++ b/tests/fixtures/default_aims_calcs/3/aims.out @@ -40,24 +40,24 @@ - Date : 20240501, Time : 123432.116 - Time zero on CPU 1 : 0.215640000000000E-01 s. - Internal wall clock time zero : 483798872.116 s. + Date : 20241030, Time : 192722.601 + Time zero on CPU 1 : 0.140423000000000E+00 s. + Internal wall clock time zero : 499548442.601 s. FHI-aims created a unique identifier for this run for later identification - aims_uuid : FFF53D55-81D1-4BA4-AF33-D82F09529CD7 + aims_uuid : 4A454F27-4406-4E99-A0D5-EAE723B4FA56 Build configuration of the current instance of FHI-aims ------------------------------------------------------- - FHI-aims version : 240206 - Commit number : 2d3e5a79f - CMake host system : Linux-6.7.4-zen1-1-zen - CMake version : 3.28.3 - Fortran compiler : /usr/bin/mpifort (GNU) version 13.2.1 + FHI-aims version : 240507 + Commit number : f9a188a83 + CMake host system : Linux-6.9.1-zen1-1-zen + CMake version : 3.29.3 + Fortran compiler : /usr/bin/mpifort (GNU) version 14.1.1 Fortran compiler flags: -fallow-argument-mismatch -march=native -ffree-line-length-none -fallow-argument-mismatch -march=native -ffree-line-length-none - C compiler : /usr/bin/gcc (GNU) version 13.2.1 + C compiler : /usr/bin/gcc (GNU) version 14.1.1 C compiler flags : -march=native - C++ compiler : /usr/bin/g++ (GNU) version 13.2.1 + C++ compiler : /usr/bin/g++ (GNU) version 14.1.1 C++ compiler flags : -march=native HIP compiler : HIP compiler flags : @@ -91,6 +91,7 @@ spin collinear default_initial_moment 1 include_spin_orbit non_self_consistent + output_level full ################################################################################ # # FHI-aims code project @@ -280,6 +281,7 @@ Calculating non-self-consistent second-variational spin-orbit coupling after scf-cycle You have request a SOC run with spin-polarization. symmetry_reduced_k_grid will be turned off. + Requested output level: full Reading configuration options for species O . | Found nuclear charge : 8.0000 @@ -455,6 +457,11 @@ by explicit normalization and distribution of residual charges. Use the "compensate_multipole_errors" flag to change this behaviour. Set 'collect_eigenvectors' to be '.true.' for use_density_matrix .false. + Found no potential conflicts with setting 'use_local_index' for this calculation. + Flag 'use_local_index' has not been set. + Testing whether we classify this calculation as large-scale ... + The calculation contains less than 100 atoms. This is most likely not a large-scale calculation. + Not setting 'use_local_index'. Consistency checks for the contents of geometry.in are next. @@ -476,7 +483,7 @@ | Maximum number of basis functions : 24 | Number of Kohn-Sham states (occupied + empty): 26 ------------------------------------------------------------ - After read_input_data [GB]: 55.16 + After read_input_data [GB]: 50.91 Performing system and environment tests: *** Environment variable OMP_NUM_THREADS is not set @@ -484,7 +491,7 @@ | Checking for ScaLAPACK... | Testing pdtran()... | All pdtran() tests passed. - After prepare_system [GB]: 55.14 + After prepare_system [GB]: 50.90 ------------------------------------------------------------ Preparing all fixed parts of the calculation. @@ -616,10 +623,10 @@ Preparing densities etc. for the partition functions (integrals / Hartree potential). Preparations completed. - max(cpu_time) : 0.189 s. - Wall clock time (cpu1) : 0.190 s. + max(cpu_time) : 0.183 s. + Wall clock time (cpu1) : 0.184 s. ------------------------------------------------------------ - After prepare_scf [GB]: 55.05 + After prepare_scf [GB]: 50.90 Initializing index lists of integration centers etc. from given atomic structure: | Number of centers in hartree potential : 3 @@ -628,15 +635,15 @@ | Number of centers in basis integrals : 3 | Number of centers in integrals : 3 | Number of centers in hamiltonian : 3 - After initialize_bc_dependent_lists [GB]: 55.10 + After initialize_bc_dependent_lists [GB]: 50.90 ------------------------------------------------------------ Begin self-consistency loop: Initialization. - Date : 20240501, Time : 123432.323 + Date : 20241030, Time : 192722.798 ------------------------------------------------------------ - Available memory per node after initialize_hartree_non_periodic_ewald [GB]: 55.10 - Available memory per node after initialize_recip_hartree_potential [GB]: 55.10 + Available memory per node after initialize_hartree_non_periodic_ewald [GB]: 50.90 + Available memory per node after initialize_recip_hartree_potential [GB]: 50.90 * Using 4 tasks for Scalapack Eigenvalue solver. Detailed listing of tasks and assigned k-points: (for non-periodic systems, the "k-point" denotes an internal label only) @@ -651,9 +658,9 @@ Allocating 0.004 MB for ham Allocating 0.004 MB for eigenvec Required Scalapack workspace - INTEGER: 1 REAL: 1 - Available memory per node after initialize_scalapack [GB]: 55.10 - Available memory per node after aims_elsi_init_scf [GB]: 55.10 - Available memory per node after initialize_fixed_grids [GB]: 55.10 + Available memory per node after initialize_scalapack [GB]: 50.90 + Available memory per node after aims_elsi_init_scf [GB]: 50.90 + Available memory per node after initialize_fixed_grids [GB]: 50.90 Partitioning the integration grid into batches with parallel hashing+maxmin method. | Number of batches: 249 | Maximal batch size: 102 @@ -667,7 +674,7 @@ Task 1 has 3984 integration points. Task 2 has 3983 integration points. Task 3 has 4009 integration points. - Available memory per node after partition_grid [GB]: 55.10 + Available memory per node after partition_grid [GB]: 50.90 Initializing partition tables, free-atom densities, potentials, etc. across the integration grid (initialize_grid_storage). | initialize_grid_storage: Actual outermost partition radius vs. multipole_radius_free | (-- VB: in principle, multipole_radius_free should be larger, hence this output) @@ -679,7 +686,7 @@ | Using the partition_type stratmann_smoother will reduce your memory usage. | Net number of integration points: 15924 | of which are non-zero points : 14544 - Available memory per node after initialize_grid_storage_p1 [GB]: 55.10 + Available memory per node after initialize_grid_storage_p1 [GB]: 50.91 Renormalizing the initial density to the exact electron count on the 3D integration grid. | Initial density: Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 9.9999554951 @@ -697,7 +704,7 @@ | Maximal number of non-zero basis functions: 24 in task 3 Selecting the method for density update. Loop over occupied states selected for charge density update. - Available memory per node after get_n_compute_maxes_p1 [GB]: 55.10 + Available memory per node after get_n_compute_maxes_p1 [GB]: 50.91 Initialize hartree_potential_storage Max. number of atoms included in rho_multipole: 3 @@ -711,37 +718,49 @@ | RMS charge density error from multipole expansion : 0.453560E-03 Allocating 0.009 MB for KS_eigenvector - Available memory per node after allocate_matrices [GB]: 55.09 - Available memory per node after init_comm_sparse_local_matrix_scalapack [GB]: 55.09 + Available memory per node after allocate_matrices [GB]: 50.90 + Available memory per node after init_comm_sparse_local_matrix_scalapack [GB]: 50.90 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.054 s, elapsed 0.055 s - Available memory per node after integrate hamiltonian matrix [GB]: 55.09 + Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.056 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.014 s 0.014 s + Available memory per node after integrate hamiltonian matrix [GB]: 50.90 Integrating overlap matrix. - Time summed over all CPUs for integration: real work 0.018 s, elapsed 0.020 s - Available memory per node after integrate ovlp matrix [GB]: 55.09 - Available memory per node after ASI_callbacks invoke [GB]: 55.09 + Time summed over all CPUs for integration: real work 0.018 s, elapsed 0.018 s + Available memory per node after integrate ovlp matrix [GB]: 50.90 + Available memory per node after ASI_callbacks invoke [GB]: 50.90 Deallocating overlap matrix. - Available memory per node after save_overlap_scalapack [GB]: 55.09 + Available memory per node after save_overlap_scalapack [GB]: 50.90 Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. + Allocating 0.002 MB for copy + Deallocating copy Overlap matrix is not singular | Lowest and highest eigenvalues : 0.1659E-01, 0.2705E+01 Finished singularity check of overlap matrix - | Time : 0.000 s + | Time : 0.001 s Starting ELPA eigensolver Finished Cholesky decomposition | Time : 0.000 s + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -751,7 +770,7 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -8.10151093 eV - Available memory per node after advance_KS_solution [GB]: 55.09 + Available memory per node after advance_KS_solution [GB]: 50.90 Writing Kohn-Sham eigenvalues. Spin-up eigenvalues: @@ -848,12 +867,12 @@ | Electronic free energy per atom : -693.45259683 eV End scf initialization - timings : max(cpu_time) wall_clock(cpu1) - | Time for scf. initialization : 0.051 s 0.052 s - | Boundary condition initialization : 0.008 s 0.008 s - | Integration : 0.019 s 0.019 s + | Time for scf. initialization : 0.048 s 0.049 s + | Boundary condition initialization : 0.002 s 0.001 s + | Integration : 0.019 s 0.018 s | Solution of K.-S. eqns. : 0.001 s 0.002 s - | Grid partitioning : 0.007 s 0.006 s - | Preloading free-atom quantities on grid : 0.019 s 0.019 s + | Grid partitioning : 0.006 s 0.006 s + | Preloading free-atom quantities on grid : 0.016 s 0.017 s | Free-atom superposition energy : 0.005 s 0.005 s | Total energy evaluation : 0.000 s 0.000 s @@ -873,23 +892,23 @@ Note: These values currently only include a subset of arrays which are explicitly tracked. The "true" memory usage will be greater. ------------------------------------------------------------ - Available memory after initialize_scf [GB]: 55.09 - Available memory after allocating mixing [GB]: 55.09 + Available memory after initialize_scf [GB]: 50.90 + Available memory after allocating mixing [GB]: 50.89 Evaluating new KS density. - Integration grid: deviation in total charge ( - N_e) = -7.105427E-15 - | = N_up-N_dn = 0.0000; <|rho_up-rho_dn|> = 0.2294 + Integration grid: deviation in total charge ( - N_e) = -1.243450E-14 + | = N_up-N_dn = -0.0000; <|rho_up-rho_dn|> = 0.2294 Time for density update prior : max(cpu_time) wall_clock(cpu1) - | self-consistency iterative process : 0.010 s 0.010 s - Available memory before start of SCF loop [GB]: 55.09 + | self-consistency iterative process : 0.010 s 0.011 s + Available memory before start of SCF loop [GB]: 50.89 ------------------------------------------------------------ Begin self-consistency iteration # 1 - Date : 20240501, Time : 123432.385 + Date : 20241030, Time : 192722.858 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 55.09 + Available memory per node after mixing [GB]: 50.89 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 @@ -897,30 +916,40 @@ | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.154136E-13 + | Original multipole sum: apparent total charge = 0.154981E-13 | Sum of charges compensated after spline to logarithmic grids = 0.770835E-04 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.153521E-13 + | Hartree multipole sum: apparent total charge = 0.154535E-13 Summing up the Hartree potential. Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s | RMS charge density error from multipole expansion : 0.641245E-03 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.054 s, elapsed 0.055 s + Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.056 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.014 s 0.015 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -1036,13 +1065,13 @@ ------------------------------------------------------------ End self-consistency iteration # 1 : max(cpu_time) wall_clock(cpu1) - | Time for this iteration : 0.033 s 0.033 s + | Time for this iteration : 0.034 s 0.034 s | Charge density update : 0.010 s 0.010 s | Density mixing : 0.001 s 0.001 s | Hartree multipole update : 0.001 s 0.001 s | Hartree multipole summation : 0.006 s 0.006 s - | Integration : 0.014 s 0.014 s - | Solution of K.-S. eqns. : 0.001 s 0.001 s + | Integration : 0.014 s 0.015 s + | Solution of K.-S. eqns. : 0.001 s 0.000 s | Total energy evaluation : 0.000 s 0.000 s Partial memory accounting: @@ -1065,10 +1094,14 @@ ------------------------------------------------------------ Begin self-consistency iteration # 2 - Date : 20240501, Time : 123432.418 + Date : 20241030, Time : 192722.892 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 55.09 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 0.791678E+01 + Available memory per node after mixing [GB]: 50.88 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 @@ -1076,30 +1109,40 @@ | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.900277E-14 + | Original multipole sum: apparent total charge = 0.119053E-13 | Sum of charges compensated after spline to logarithmic grids = 0.148576E-03 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.102327E-13 + | Hartree multipole sum: apparent total charge = 0.125202E-13 Summing up the Hartree potential. Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s | RMS charge density error from multipole expansion : 0.326123E-02 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.055 s + Time summed over all CPUs for integration: real work 0.054 s, elapsed 0.055 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.014 s 0.014 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem - | Time : 0.000 s + | Time : 0.001 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -1109,6 +1152,64 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -4.52651207 eV + Writing Kohn-Sham eigenvalues. + + Spin-up eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.678123 -508.25758 + 2 1.00000 -0.941367 -25.61589 + 3 1.00000 -0.506022 -13.76957 + 4 1.00000 -0.350949 -9.54980 + 5 1.00000 -0.268001 -7.29267 + 6 0.00000 -0.020587 -0.56021 + 7 0.00000 0.074454 2.02599 + 8 0.00000 0.292103 7.94853 + 9 0.00000 0.331225 9.01309 + 10 0.00000 0.348287 9.47738 + 11 0.00000 0.524751 14.27921 + 12 0.00000 0.741434 20.17544 + 13 0.00000 0.847561 23.06330 + 14 0.00000 0.917225 24.95897 + 15 0.00000 1.074690 29.24380 + 16 0.00000 1.135000 30.88493 + 17 0.00000 1.459529 39.71581 + 18 0.00000 1.903886 51.80737 + 19 0.00000 1.994040 54.26060 + 20 0.00000 2.262581 61.56795 + 21 0.00000 2.373791 64.59414 + 22 0.00000 2.391623 65.07937 + 23 0.00000 2.878670 78.33259 + 24 0.00000 3.200499 87.09001 + + Spin-down eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.666484 -507.94087 + 2 1.00000 -0.887571 -24.15203 + 3 1.00000 -0.434146 -11.81370 + 4 1.00000 -0.305316 -8.30806 + 5 1.00000 -0.232590 -6.32908 + 6 0.00000 0.027720 0.75431 + 7 0.00000 0.139138 3.78614 + 8 0.00000 0.315426 8.58317 + 9 0.00000 0.353899 9.63008 + 10 0.00000 0.381452 10.37983 + 11 0.00000 0.629492 17.12936 + 12 0.00000 0.831666 22.63077 + 13 0.00000 0.918388 24.99062 + 14 0.00000 0.997979 27.15638 + 15 0.00000 1.149682 31.28444 + 16 0.00000 1.173628 31.93605 + 17 0.00000 1.562132 42.50777 + 18 0.00000 1.978264 53.83130 + 19 0.00000 2.079053 56.57390 + 20 0.00000 2.316521 63.03574 + 21 0.00000 2.427191 66.04723 + 22 0.00000 2.448263 66.62063 + 23 0.00000 2.945673 80.15585 + 24 0.00000 3.261760 88.75702 + Current spin moment of the entire structure : | N = N_up - N_down : 0.00 | S : 0.00 @@ -1149,8 +1250,8 @@ | Total energy (T->0) per atom : -693.41584228 eV <-- do not rely on this value for anything but (periodic) metals | Electronic free energy per atom : -693.41584228 eV Evaluating new KS density. - Integration grid: deviation in total charge ( - N_e) = 0.000000E+00 - | = N_up-N_dn = -0.0000; <|rho_up-rho_dn|> = 0.1851 + Integration grid: deviation in total charge ( - N_e) = -5.329071E-15 + | = N_up-N_dn = 0.0000; <|rho_up-rho_dn|> = 0.1851 Self-consistency convergence accuracy: | Change of charge/spin density : 0.2707E+00 0.4197E+00 @@ -1161,12 +1262,12 @@ ------------------------------------------------------------ End self-consistency iteration # 2 : max(cpu_time) wall_clock(cpu1) - | Time for this iteration : 0.033 s 0.033 s + | Time for this iteration : 0.034 s 0.034 s | Charge density update : 0.010 s 0.010 s | Density mixing : 0.001 s 0.001 s - | Hartree multipole update : 0.001 s 0.002 s + | Hartree multipole update : 0.001 s 0.001 s | Hartree multipole summation : 0.006 s 0.006 s - | Integration : 0.014 s 0.013 s + | Integration : 0.014 s 0.014 s | Solution of K.-S. eqns. : 0.001 s 0.001 s | Total energy evaluation : 0.000 s 0.000 s @@ -1190,10 +1291,15 @@ ------------------------------------------------------------ Begin self-consistency iteration # 3 - Date : 20240501, Time : 123432.451 + Date : 20241030, Time : 192722.926 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 55.09 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 0.826335E+01 + | N minus 2 -0.677392E+02 + Available memory per node after mixing [GB]: 50.88 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 @@ -1201,30 +1307,40 @@ | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.127293E-13 + | Original multipole sum: apparent total charge = 0.554679E-14 | Sum of charges compensated after spline to logarithmic grids = 0.661723E-04 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.124957E-13 + | Hartree multipole sum: apparent total charge = 0.506713E-14 Summing up the Hartree potential. Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s | RMS charge density error from multipole expansion : 0.396062E-02 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.054 s, elapsed 0.055 s + Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.055 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.014 s 0.014 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem - | Time : 0.000 s + | Time : 0.001 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -1234,6 +1350,64 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -7.89343374 eV + Writing Kohn-Sham eigenvalues. + + Spin-up eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.927394 -515.04061 + 2 1.00000 -1.026014 -27.91927 + 3 1.00000 -0.570315 -15.51907 + 4 1.00000 -0.435980 -11.86362 + 5 1.00000 -0.358432 -9.75342 + 6 0.00000 -0.037753 -1.02731 + 7 0.00000 0.047429 1.29060 + 8 0.00000 0.249670 6.79387 + 9 0.00000 0.283251 7.70765 + 10 0.00000 0.328706 8.94455 + 11 0.00000 0.513961 13.98558 + 12 0.00000 0.711208 19.35297 + 13 0.00000 0.822094 22.37032 + 14 0.00000 0.900283 24.49794 + 15 0.00000 1.051558 28.61434 + 16 0.00000 1.082553 29.45777 + 17 0.00000 1.456466 39.63247 + 18 0.00000 1.856816 50.52653 + 19 0.00000 1.955763 53.21903 + 20 0.00000 2.199825 59.86027 + 21 0.00000 2.307110 62.77965 + 22 0.00000 2.324565 63.25462 + 23 0.00000 2.812213 76.52421 + 24 0.00000 3.124697 85.02732 + + Spin-down eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.920556 -514.85453 + 2 1.00000 -0.994926 -27.07332 + 3 1.00000 -0.529888 -14.41899 + 4 1.00000 -0.409327 -11.13836 + 5 1.00000 -0.336197 -9.14838 + 6 0.00000 -0.006974 -0.18978 + 7 0.00000 0.088047 2.39589 + 8 0.00000 0.262396 7.14015 + 9 0.00000 0.295679 8.04582 + 10 0.00000 0.346926 9.44033 + 11 0.00000 0.573654 15.60993 + 12 0.00000 0.761687 20.72656 + 13 0.00000 0.863350 23.49295 + 14 0.00000 0.948759 25.81703 + 15 0.00000 1.096107 29.82658 + 16 0.00000 1.105606 30.08507 + 17 0.00000 1.518988 41.33377 + 18 0.00000 1.902355 51.76572 + 19 0.00000 2.007185 54.61828 + 20 0.00000 2.232857 60.75914 + 21 0.00000 2.339810 63.66946 + 22 0.00000 2.358315 64.17303 + 23 0.00000 2.852709 77.62616 + 24 0.00000 3.161276 86.02271 + Current spin moment of the entire structure : | N = N_up - N_down : 0.00 | S : 0.00 @@ -1270,7 +1444,7 @@ | Total energy (T->0) per atom : -693.70645580 eV <-- do not rely on this value for anything but (periodic) metals | Electronic free energy per atom : -693.70645580 eV Evaluating new KS density. - Integration grid: deviation in total charge ( - N_e) = -1.065814E-14 + Integration grid: deviation in total charge ( - N_e) = 0.000000E+00 | = N_up-N_dn = 0.0000; <|rho_up-rho_dn|> = 0.0983 Self-consistency convergence accuracy: @@ -1286,7 +1460,7 @@ | Charge density update : 0.010 s 0.010 s | Density mixing : 0.002 s 0.002 s | Hartree multipole update : 0.001 s 0.001 s - | Hartree multipole summation : 0.007 s 0.007 s + | Hartree multipole summation : 0.006 s 0.006 s | Integration : 0.014 s 0.014 s | Solution of K.-S. eqns. : 0.001 s 0.001 s | Total energy evaluation : 0.000 s 0.000 s @@ -1311,10 +1485,16 @@ ------------------------------------------------------------ Begin self-consistency iteration # 4 - Date : 20240501, Time : 123432.486 + Date : 20241030, Time : 192722.961 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 55.08 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 0.204655E+00 + | N minus 2 0.258569E+01 + | N minus 3 -0.161529E+02 + Available memory per node after mixing [GB]: 50.87 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 @@ -1322,30 +1502,40 @@ | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.902737E-14 + | Original multipole sum: apparent total charge = 0.351748E-14 | Sum of charges compensated after spline to logarithmic grids = 0.894778E-04 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.885519E-14 + | Hartree multipole sum: apparent total charge = 0.282874E-14 Summing up the Hartree potential. Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s | RMS charge density error from multipole expansion : 0.585014E-02 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.055 s + Time summed over all CPUs for integration: real work 0.054 s, elapsed 0.055 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.014 s 0.013 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem - | Time : 0.000 s - Finished solving standard eigenproblem | Time : 0.001 s + Finished solving standard eigenproblem + | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -1355,6 +1545,64 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -6.90423953 eV + Writing Kohn-Sham eigenvalues. + + Spin-up eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.835029 -512.52721 + 2 1.00000 -0.957748 -26.06166 + 3 1.00000 -0.508296 -13.83143 + 4 1.00000 -0.367826 -10.00905 + 5 1.00000 -0.290256 -7.89826 + 6 0.00000 -0.010810 -0.29415 + 7 0.00000 0.083150 2.26263 + 8 0.00000 0.283167 7.70537 + 9 0.00000 0.317384 8.63645 + 10 0.00000 0.357001 9.71449 + 11 0.00000 0.552388 15.03124 + 12 0.00000 0.751627 20.45282 + 13 0.00000 0.863930 23.50874 + 14 0.00000 0.941980 25.63258 + 15 0.00000 1.095207 29.80211 + 16 0.00000 1.130790 30.77037 + 17 0.00000 1.494471 40.66662 + 18 0.00000 1.910868 51.99735 + 19 0.00000 2.007227 54.61942 + 20 0.00000 2.259360 61.48030 + 21 0.00000 2.368055 64.43806 + 22 0.00000 2.384784 64.89328 + 23 0.00000 2.873639 78.19571 + 24 0.00000 3.187539 86.73734 + + Spin-down eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.836557 -512.56880 + 2 1.00000 -0.959278 -26.10328 + 3 1.00000 -0.506742 -13.78916 + 4 1.00000 -0.369088 -10.04339 + 5 1.00000 -0.291476 -7.93146 + 6 0.00000 -0.008607 -0.23420 + 7 0.00000 0.086736 2.36020 + 8 0.00000 0.281542 7.66115 + 9 0.00000 0.316580 8.61457 + 10 0.00000 0.356973 9.71372 + 11 0.00000 0.562788 15.31425 + 12 0.00000 0.759554 20.66851 + 13 0.00000 0.867707 23.61151 + 14 0.00000 0.947904 25.79378 + 15 0.00000 1.100740 29.95266 + 16 0.00000 1.129926 30.74685 + 17 0.00000 1.504055 40.92742 + 18 0.00000 1.915880 52.13375 + 19 0.00000 2.013482 54.78962 + 20 0.00000 2.260220 61.50371 + 21 0.00000 2.368391 64.44719 + 22 0.00000 2.384994 64.89899 + 23 0.00000 2.875240 78.23926 + 24 0.00000 3.187247 86.72941 + Current spin moment of the entire structure : | N = N_up - N_down : 0.00 | S : 0.00 @@ -1391,7 +1639,7 @@ | Total energy (T->0) per atom : -693.62968886 eV <-- do not rely on this value for anything but (periodic) metals | Electronic free energy per atom : -693.62968886 eV Evaluating new KS density. - Integration grid: deviation in total charge ( - N_e) = 0.000000E+00 + Integration grid: deviation in total charge ( - N_e) = 1.065814E-14 | = N_up-N_dn = -0.0000; <|rho_up-rho_dn|> = 0.0417 Self-consistency convergence accuracy: @@ -1403,12 +1651,12 @@ ------------------------------------------------------------ End self-consistency iteration # 4 : max(cpu_time) wall_clock(cpu1) - | Time for this iteration : 0.034 s 0.034 s - | Charge density update : 0.010 s 0.010 s + | Time for this iteration : 0.034 s 0.035 s + | Charge density update : 0.010 s 0.011 s | Density mixing : 0.002 s 0.002 s | Hartree multipole update : 0.001 s 0.001 s - | Hartree multipole summation : 0.006 s 0.006 s - | Integration : 0.014 s 0.014 s + | Hartree multipole summation : 0.006 s 0.007 s + | Integration : 0.014 s 0.013 s | Solution of K.-S. eqns. : 0.001 s 0.001 s | Total energy evaluation : 0.000 s 0.000 s @@ -1432,10 +1680,17 @@ ------------------------------------------------------------ Begin self-consistency iteration # 5 - Date : 20240501, Time : 123432.520 + Date : 20241030, Time : 192722.996 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 55.08 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 0.186015E+01 + | N minus 2 -0.835625E+00 + | N minus 3 -0.652543E+00 + | N minus 4 -0.333167E+01 + Available memory per node after mixing [GB]: 50.87 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 @@ -1443,30 +1698,40 @@ | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = -0.110690E-14 + | Original multipole sum: apparent total charge = -0.221380E-15 | Sum of charges compensated after spline to logarithmic grids = 0.129872E-03 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = -0.154966E-14 + | Hartree multipole sum: apparent total charge = 0.147586E-15 Summing up the Hartree potential. Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s | RMS charge density error from multipole expansion : 0.610508E-02 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.055 s + Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.056 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.014 s 0.014 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.001 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -1476,6 +1741,64 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -6.15792898 eV + Writing Kohn-Sham eigenvalues. + + Spin-up eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.787376 -511.23050 + 2 1.00000 -0.931378 -25.34407 + 3 1.00000 -0.485388 -13.20809 + 4 1.00000 -0.343829 -9.35607 + 5 1.00000 -0.265117 -7.21420 + 6 0.00000 -0.001673 -0.04552 + 7 0.00000 0.095354 2.59472 + 8 0.00000 0.295268 8.03466 + 9 0.00000 0.331021 9.00753 + 10 0.00000 0.365876 9.95598 + 11 0.00000 0.566171 15.40630 + 12 0.00000 0.766996 20.87102 + 13 0.00000 0.878273 23.89903 + 14 0.00000 0.955952 26.01279 + 15 0.00000 1.109879 30.20134 + 16 0.00000 1.147663 31.22949 + 17 0.00000 1.506772 41.00136 + 18 0.00000 1.930612 52.53462 + 19 0.00000 2.025885 55.12714 + 20 0.00000 2.280590 62.05801 + 21 0.00000 2.389703 65.02714 + 22 0.00000 2.406906 65.49525 + 23 0.00000 2.896010 78.80443 + 24 0.00000 3.211154 87.37994 + + Spin-down eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.788549 -511.26244 + 2 1.00000 -0.932766 -25.38186 + 3 1.00000 -0.484776 -13.19142 + 4 1.00000 -0.344845 -9.38371 + 5 1.00000 -0.266143 -7.24212 + 6 0.00000 -0.000573 -0.01559 + 7 0.00000 0.097227 2.64569 + 8 0.00000 0.294100 8.00287 + 9 0.00000 0.330393 8.99045 + 10 0.00000 0.365781 9.95340 + 11 0.00000 0.572301 15.57310 + 12 0.00000 0.771565 20.99536 + 13 0.00000 0.880434 23.95782 + 14 0.00000 0.959387 26.10626 + 15 0.00000 1.113124 30.28964 + 16 0.00000 1.146946 31.20999 + 17 0.00000 1.512388 41.15418 + 18 0.00000 1.933355 52.60926 + 19 0.00000 2.029370 55.22198 + 20 0.00000 2.280810 62.06399 + 21 0.00000 2.389592 65.02410 + 22 0.00000 2.406629 65.48771 + 23 0.00000 2.896516 78.81821 + 24 0.00000 3.210443 87.36059 + Current spin moment of the entire structure : | N = N_up - N_down : 0.00 | S : 0.00 @@ -1512,7 +1835,7 @@ | Total energy (T->0) per atom : -693.61041419 eV <-- do not rely on this value for anything but (periodic) metals | Electronic free energy per atom : -693.61041419 eV Evaluating new KS density. - Integration grid: deviation in total charge ( - N_e) = 0.000000E+00 + Integration grid: deviation in total charge ( - N_e) = 3.552714E-15 | = N_up-N_dn = 0.0000; <|rho_up-rho_dn|> = 0.0272 Self-consistency convergence accuracy: @@ -1524,10 +1847,10 @@ ------------------------------------------------------------ End self-consistency iteration # 5 : max(cpu_time) wall_clock(cpu1) - | Time for this iteration : 0.034 s 0.035 s + | Time for this iteration : 0.035 s 0.035 s | Charge density update : 0.010 s 0.010 s - | Density mixing : 0.003 s 0.003 s - | Hartree multipole update : 0.001 s 0.001 s + | Density mixing : 0.003 s 0.002 s + | Hartree multipole update : 0.001 s 0.002 s | Hartree multipole summation : 0.006 s 0.006 s | Integration : 0.014 s 0.014 s | Solution of K.-S. eqns. : 0.001 s 0.001 s @@ -1553,41 +1876,59 @@ ------------------------------------------------------------ Begin self-consistency iteration # 6 - Date : 20240501, Time : 123432.555 + Date : 20241030, Time : 192723.031 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 55.07 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 0.123187E+01 + | N minus 2 0.153283E-01 + | N minus 3 0.127637E+00 + | N minus 4 -0.221692E+00 + | N minus 5 0.106403E+01 + Available memory per node after mixing [GB]: 50.87 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 - | Charge integration error : 0.0000000000 + | Charge integration error : -0.0000000000 | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.176612E-13 + | Original multipole sum: apparent total charge = 0.123235E-13 | Sum of charges compensated after spline to logarithmic grids = 0.163886E-03 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.178334E-13 + | Hartree multipole sum: apparent total charge = 0.121021E-13 Summing up the Hartree potential. Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s | RMS charge density error from multipole expansion : 0.646699E-02 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.054 s, elapsed 0.055 s + Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.056 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.014 s 0.014 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem - | Time : 0.001 s + | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem - | Time : 0.000 s + | Time : 0.001 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -1597,6 +1938,64 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -5.96427555 eV + Writing Kohn-Sham eigenvalues. + + Spin-up eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.784371 -511.14874 + 2 1.00000 -0.922657 -25.10678 + 3 1.00000 -0.476501 -12.96626 + 4 1.00000 -0.337440 -9.18220 + 5 1.00000 -0.258381 -7.03091 + 6 0.00000 0.003211 0.08738 + 7 0.00000 0.101208 2.75400 + 8 0.00000 0.298512 8.12292 + 9 0.00000 0.334909 9.11333 + 10 0.00000 0.369756 10.06157 + 11 0.00000 0.576040 15.67484 + 12 0.00000 0.775309 21.09723 + 13 0.00000 0.885938 24.10760 + 14 0.00000 0.964681 26.25031 + 15 0.00000 1.118222 30.42836 + 16 0.00000 1.153242 31.38132 + 17 0.00000 1.516328 41.26140 + 18 0.00000 1.939681 52.78141 + 19 0.00000 2.035479 55.38820 + 20 0.00000 2.288148 62.26367 + 21 0.00000 2.396975 65.22501 + 22 0.00000 2.414680 65.70679 + 23 0.00000 2.904131 79.02543 + 24 0.00000 3.218866 87.58980 + + Spin-down eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.784757 -511.15924 + 2 1.00000 -0.922895 -25.11325 + 3 1.00000 -0.476207 -12.95825 + 4 1.00000 -0.337445 -9.18235 + 5 1.00000 -0.258431 -7.03228 + 6 0.00000 0.003941 0.10724 + 7 0.00000 0.102117 2.77874 + 8 0.00000 0.298627 8.12604 + 9 0.00000 0.335044 9.11702 + 10 0.00000 0.370248 10.07496 + 11 0.00000 0.577678 15.71941 + 12 0.00000 0.776612 21.13268 + 13 0.00000 0.886916 24.13422 + 14 0.00000 0.965867 26.28258 + 15 0.00000 1.119368 30.45956 + 16 0.00000 1.153544 31.38953 + 17 0.00000 1.518018 41.30738 + 18 0.00000 1.940540 52.80477 + 19 0.00000 2.036528 55.41674 + 20 0.00000 2.288488 62.27294 + 21 0.00000 2.397269 65.23300 + 22 0.00000 2.414828 65.71081 + 23 0.00000 2.904430 79.03356 + 24 0.00000 3.218886 87.59035 + Current spin moment of the entire structure : | N = N_up - N_down : 0.00 | S : 0.00 @@ -1633,7 +2032,7 @@ | Total energy (T->0) per atom : -693.61094154 eV <-- do not rely on this value for anything but (periodic) metals | Electronic free energy per atom : -693.61094154 eV Evaluating new KS density. - Integration grid: deviation in total charge ( - N_e) = -1.776357E-15 + Integration grid: deviation in total charge ( - N_e) = 1.776357E-15 | = N_up-N_dn = 0.0000; <|rho_up-rho_dn|> = 0.0077 Self-consistency convergence accuracy: @@ -1645,9 +2044,9 @@ ------------------------------------------------------------ End self-consistency iteration # 6 : max(cpu_time) wall_clock(cpu1) - | Time for this iteration : 0.035 s 0.035 s + | Time for this iteration : 0.036 s 0.036 s | Charge density update : 0.010 s 0.010 s - | Density mixing : 0.003 s 0.003 s + | Density mixing : 0.003 s 0.004 s | Hartree multipole update : 0.001 s 0.001 s | Hartree multipole summation : 0.006 s 0.006 s | Integration : 0.014 s 0.014 s @@ -1674,41 +2073,60 @@ ------------------------------------------------------------ Begin self-consistency iteration # 7 - Date : 20240501, Time : 123432.590 + Date : 20241030, Time : 192723.067 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 55.07 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 0.205079E+01 + | N minus 2 -0.277119E+01 + | N minus 3 0.150955E+00 + | N minus 4 -0.338860E+00 + | N minus 5 0.253803E+00 + | N minus 6 -0.136811E+01 + Available memory per node after mixing [GB]: 50.88 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 - | Charge integration error : -0.0000000000 + | Charge integration error : 0.0000000000 | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.954392E-14 + | Original multipole sum: apparent total charge = 0.737932E-14 | Sum of charges compensated after spline to logarithmic grids = 0.159008E-03 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.969151E-14 + | Hartree multipole sum: apparent total charge = 0.769909E-14 Summing up the Hartree potential. Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s | RMS charge density error from multipole expansion : 0.642117E-02 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.054 s, elapsed 0.055 s + Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.055 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.014 s 0.014 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem - | Time : 0.000 s + | Time : 0.001 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -1718,6 +2136,64 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -6.05192333 eV + Writing Kohn-Sham eigenvalues. + + Spin-up eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.789224 -511.28080 + 2 1.00000 -0.926287 -25.20555 + 3 1.00000 -0.479619 -13.05110 + 4 1.00000 -0.339320 -9.23337 + 5 1.00000 -0.260899 -7.09943 + 6 0.00000 0.001699 0.04624 + 7 0.00000 0.099474 2.70682 + 8 0.00000 0.297647 8.09938 + 9 0.00000 0.333567 9.07681 + 10 0.00000 0.369002 10.04104 + 11 0.00000 0.573409 15.60326 + 12 0.00000 0.773028 21.03517 + 13 0.00000 0.883701 24.04674 + 14 0.00000 0.962232 26.18367 + 15 0.00000 1.116006 30.36806 + 16 0.00000 1.151602 31.33669 + 17 0.00000 1.513813 41.19294 + 18 0.00000 1.936873 52.70499 + 19 0.00000 2.032716 55.31301 + 20 0.00000 2.285771 62.19900 + 21 0.00000 2.394750 65.16445 + 22 0.00000 2.411973 65.63313 + 23 0.00000 2.901584 78.95611 + 24 0.00000 3.215952 87.51052 + + Spin-down eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.789530 -511.28912 + 2 1.00000 -0.926525 -25.21204 + 3 1.00000 -0.479367 -13.04425 + 4 1.00000 -0.339420 -9.23609 + 5 1.00000 -0.261037 -7.10317 + 6 0.00000 0.002192 0.05965 + 7 0.00000 0.100155 2.72535 + 8 0.00000 0.297566 8.09718 + 9 0.00000 0.333557 9.07655 + 10 0.00000 0.369224 10.04709 + 11 0.00000 0.574940 15.64491 + 12 0.00000 0.774217 21.06751 + 13 0.00000 0.884443 24.06692 + 14 0.00000 0.963227 26.21075 + 15 0.00000 1.116951 30.39379 + 16 0.00000 1.151673 31.33862 + 17 0.00000 1.515305 41.23355 + 18 0.00000 1.937627 52.72551 + 19 0.00000 2.033659 55.33868 + 20 0.00000 2.285978 62.20462 + 21 0.00000 2.394899 65.16851 + 22 0.00000 2.412035 65.63482 + 23 0.00000 2.901819 78.96252 + 24 0.00000 3.215914 87.50948 + Current spin moment of the entire structure : | N = N_up - N_down : 0.00 | S : 0.00 @@ -1754,8 +2230,8 @@ | Total energy (T->0) per atom : -693.61071083 eV <-- do not rely on this value for anything but (periodic) metals | Electronic free energy per atom : -693.61071083 eV Evaluating new KS density. - Integration grid: deviation in total charge ( - N_e) = 0.000000E+00 - | = N_up-N_dn = -0.0000; <|rho_up-rho_dn|> = 0.0067 + Integration grid: deviation in total charge ( - N_e) = -3.552714E-15 + | = N_up-N_dn = 0.0000; <|rho_up-rho_dn|> = 0.0067 Self-consistency convergence accuracy: | Change of charge/spin density : 0.5163E-02 0.3270E-02 @@ -1766,13 +2242,13 @@ ------------------------------------------------------------ End self-consistency iteration # 7 : max(cpu_time) wall_clock(cpu1) - | Time for this iteration : 0.036 s 0.036 s - | Charge density update : 0.010 s 0.010 s + | Time for this iteration : 0.036 s 0.037 s + | Charge density update : 0.010 s 0.011 s | Density mixing : 0.004 s 0.004 s - | Hartree multipole update : 0.001 s 0.002 s + | Hartree multipole update : 0.001 s 0.001 s | Hartree multipole summation : 0.006 s 0.006 s | Integration : 0.014 s 0.014 s - | Solution of K.-S. eqns. : 0.001 s 0.000 s + | Solution of K.-S. eqns. : 0.001 s 0.001 s | Total energy evaluation : 0.000 s 0.000 s Partial memory accounting: @@ -1795,41 +2271,61 @@ ------------------------------------------------------------ Begin self-consistency iteration # 8 - Date : 20240501, Time : 123432.627 + Date : 20241030, Time : 192723.104 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 55.07 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 0.290647E+00 + | N minus 2 0.215182E+00 + | N minus 3 0.898641E-01 + | N minus 4 -0.438335E-01 + | N minus 5 0.249214E-01 + | N minus 6 -0.490671E-01 + | N minus 7 0.598115E+00 + Available memory per node after mixing [GB]: 50.88 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 - | Charge integration error : 0.0000000000 + | Charge integration error : -0.0000000000 | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.114871E-13 + | Original multipole sum: apparent total charge = 0.649380E-14 | Sum of charges compensated after spline to logarithmic grids = 0.167013E-03 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.115609E-13 + | Hartree multipole sum: apparent total charge = 0.629702E-14 Summing up the Hartree potential. Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s | RMS charge density error from multipole expansion : 0.650141E-02 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.055 s + Time summed over all CPUs for integration: real work 0.054 s, elapsed 0.055 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.014 s 0.014 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem - | Time : 0.000 s + | Time : 0.001 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -1839,6 +2335,64 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -5.98883233 eV + Writing Kohn-Sham eigenvalues. + + Spin-up eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.787067 -511.22209 + 2 1.00000 -0.923912 -25.14092 + 3 1.00000 -0.477283 -12.98752 + 4 1.00000 -0.337106 -9.17311 + 5 1.00000 -0.258699 -7.03957 + 6 0.00000 0.002885 0.07852 + 7 0.00000 0.100985 2.74795 + 8 0.00000 0.298830 8.13157 + 9 0.00000 0.334857 9.11191 + 10 0.00000 0.370147 10.07222 + 11 0.00000 0.575618 15.66337 + 12 0.00000 0.775124 21.09220 + 13 0.00000 0.885561 24.09733 + 14 0.00000 0.964222 26.23781 + 15 0.00000 1.118026 30.42303 + 16 0.00000 1.153331 31.38374 + 17 0.00000 1.515867 41.24885 + 18 0.00000 1.939187 52.76797 + 19 0.00000 2.035089 55.37760 + 20 0.00000 2.287968 62.25877 + 21 0.00000 2.396942 65.22412 + 22 0.00000 2.414171 65.69294 + 23 0.00000 2.903894 79.01897 + 24 0.00000 3.218162 87.57064 + + Spin-down eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.787133 -511.22391 + 2 1.00000 -0.923879 -25.14004 + 3 1.00000 -0.477179 -12.98471 + 4 1.00000 -0.337008 -9.17045 + 5 1.00000 -0.258637 -7.03788 + 6 0.00000 0.003135 0.08530 + 7 0.00000 0.101249 2.75512 + 8 0.00000 0.299001 8.13622 + 9 0.00000 0.334978 9.11521 + 10 0.00000 0.370396 10.07899 + 11 0.00000 0.575838 15.66936 + 12 0.00000 0.775325 21.09766 + 13 0.00000 0.885832 24.10471 + 14 0.00000 0.964476 26.24472 + 15 0.00000 1.118273 30.42975 + 16 0.00000 1.153544 31.38953 + 17 0.00000 1.516160 41.25682 + 18 0.00000 1.939336 52.77200 + 19 0.00000 2.035267 55.38244 + 20 0.00000 2.288112 62.26268 + 21 0.00000 2.397096 65.22831 + 22 0.00000 2.414279 65.69589 + 23 0.00000 2.904006 79.02202 + 24 0.00000 3.218257 87.57322 + Current spin moment of the entire structure : | N = N_up - N_down : 0.00 | S : 0.00 @@ -1875,8 +2429,8 @@ | Total energy (T->0) per atom : -693.61077806 eV <-- do not rely on this value for anything but (periodic) metals | Electronic free energy per atom : -693.61077806 eV Evaluating new KS density. - Integration grid: deviation in total charge ( - N_e) = 0.000000E+00 - | = N_up-N_dn = -0.0000; <|rho_up-rho_dn|> = 0.0013 + Integration grid: deviation in total charge ( - N_e) = 3.552714E-15 + | = N_up-N_dn = 0.0000; <|rho_up-rho_dn|> = 0.0013 Self-consistency convergence accuracy: | Change of charge/spin density : 0.1846E-02 0.3040E-02 @@ -1887,7 +2441,7 @@ ------------------------------------------------------------ End self-consistency iteration # 8 : max(cpu_time) wall_clock(cpu1) - | Time for this iteration : 0.036 s 0.036 s + | Time for this iteration : 0.037 s 0.036 s | Charge density update : 0.010 s 0.010 s | Density mixing : 0.004 s 0.004 s | Hartree multipole update : 0.001 s 0.001 s @@ -1916,10 +2470,21 @@ ------------------------------------------------------------ Begin self-consistency iteration # 9 - Date : 20240501, Time : 123432.663 + Date : 20241030, Time : 192723.141 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 55.07 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 0.402419E+01 + | N minus 2 -0.130090E+01 + | N minus 3 -0.663649E+00 + | N minus 4 -0.626759E+00 + | N minus 5 0.548872E-01 + | N minus 6 -0.541883E-01 + | N minus 7 0.147808E-02 + | N minus 8 -0.893717E-01 + Available memory per node after mixing [GB]: 50.88 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 @@ -1927,30 +2492,40 @@ | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.258276E-14 + | Original multipole sum: apparent total charge = 0.305012E-14 | Sum of charges compensated after spline to logarithmic grids = 0.162696E-03 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.216460E-14 + | Hartree multipole sum: apparent total charge = 0.346828E-14 Summing up the Hartree potential. Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s | RMS charge density error from multipole expansion : 0.646326E-02 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.055 s + Time summed over all CPUs for integration: real work 0.054 s, elapsed 0.055 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.014 s 0.014 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem - | Time : 0.000 s + | Time : 0.001 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -1960,6 +2535,64 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -6.02481121 eV + Writing Kohn-Sham eigenvalues. + + Spin-up eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.788494 -511.26094 + 2 1.00000 -0.925226 -25.17668 + 3 1.00000 -0.478541 -13.02176 + 4 1.00000 -0.338335 -9.20657 + 5 1.00000 -0.259841 -7.07064 + 6 0.00000 0.002379 0.06474 + 7 0.00000 0.100306 2.72946 + 8 0.00000 0.298213 8.11479 + 9 0.00000 0.334206 9.09421 + 10 0.00000 0.369621 10.05791 + 11 0.00000 0.574686 15.63800 + 12 0.00000 0.774176 21.06641 + 13 0.00000 0.884716 24.07436 + 14 0.00000 0.963344 26.21392 + 15 0.00000 1.117137 30.39884 + 16 0.00000 1.152463 31.36011 + 17 0.00000 1.515018 41.22573 + 18 0.00000 1.938089 52.73809 + 19 0.00000 2.033954 55.34672 + 20 0.00000 2.286885 62.22931 + 21 0.00000 2.395824 65.19369 + 22 0.00000 2.413035 65.66203 + 23 0.00000 2.902644 78.98495 + 24 0.00000 3.216950 87.53766 + + Spin-down eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.788538 -511.26214 + 2 1.00000 -0.925261 -25.17764 + 3 1.00000 -0.478503 -13.02074 + 4 1.00000 -0.338355 -9.20712 + 5 1.00000 -0.259874 -7.07152 + 6 0.00000 0.002444 0.06650 + 7 0.00000 0.100398 2.73197 + 8 0.00000 0.298195 8.11430 + 9 0.00000 0.334197 9.09395 + 10 0.00000 0.369646 10.05859 + 11 0.00000 0.574908 15.64405 + 12 0.00000 0.774347 21.07105 + 13 0.00000 0.884819 24.07715 + 14 0.00000 0.963486 26.21779 + 15 0.00000 1.117269 30.40244 + 16 0.00000 1.152466 31.36019 + 17 0.00000 1.515232 41.23157 + 18 0.00000 1.938190 52.74083 + 19 0.00000 2.034087 55.35033 + 20 0.00000 2.286907 62.22992 + 21 0.00000 2.395838 65.19408 + 22 0.00000 2.413040 65.66216 + 23 0.00000 2.902677 78.98585 + 24 0.00000 3.216942 87.53745 + Current spin moment of the entire structure : | N = N_up - N_down : 0.00 | S : 0.00 @@ -1996,7 +2629,7 @@ | Total energy (T->0) per atom : -693.61074867 eV <-- do not rely on this value for anything but (periodic) metals | Electronic free energy per atom : -693.61074867 eV Evaluating new KS density. - Integration grid: deviation in total charge ( - N_e) = 1.776357E-15 + Integration grid: deviation in total charge ( - N_e) = 0.000000E+00 | = N_up-N_dn = 0.0000; <|rho_up-rho_dn|> = 0.0010 Self-consistency convergence accuracy: @@ -2008,12 +2641,12 @@ ------------------------------------------------------------ End self-consistency iteration # 9 : max(cpu_time) wall_clock(cpu1) - | Time for this iteration : 0.036 s 0.036 s - | Charge density update : 0.010 s 0.010 s + | Time for this iteration : 0.037 s 0.037 s + | Charge density update : 0.010 s 0.011 s | Density mixing : 0.004 s 0.004 s | Hartree multipole update : 0.001 s 0.001 s - | Hartree multipole summation : 0.006 s 0.007 s - | Integration : 0.014 s 0.013 s + | Hartree multipole summation : 0.006 s 0.006 s + | Integration : 0.014 s 0.014 s | Solution of K.-S. eqns. : 0.001 s 0.001 s | Total energy evaluation : 0.000 s 0.000 s @@ -2037,10 +2670,21 @@ ------------------------------------------------------------ Begin self-consistency iteration # 10 - Date : 20240501, Time : 123432.699 + Date : 20241030, Time : 192723.178 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 55.07 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 0.909256E+00 + | N minus 2 -0.355779E+01 + | N minus 3 0.105056E+01 + | N minus 4 0.861062E+00 + | N minus 5 0.191235E+00 + | N minus 6 0.308533E-01 + | N minus 7 -0.183859E-01 + | N minus 8 -0.159677E-01 + Available memory per node after mixing [GB]: 50.88 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 @@ -2048,30 +2692,40 @@ | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.132090E-13 + | Original multipole sum: apparent total charge = 0.172430E-13 | Sum of charges compensated after spline to logarithmic grids = 0.163303E-03 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.141191E-13 + | Hartree multipole sum: apparent total charge = 0.177842E-13 Summing up the Hartree potential. Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s | RMS charge density error from multipole expansion : 0.647106E-02 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.055 s + Time summed over all CPUs for integration: real work 0.054 s, elapsed 0.055 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.014 s 0.014 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem - | Time : 0.000 s + | Time : 0.001 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -2081,6 +2735,64 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -6.01929339 eV + Writing Kohn-Sham eigenvalues. + + Spin-up eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.788301 -511.25569 + 2 1.00000 -0.925009 -25.17078 + 3 1.00000 -0.478316 -13.01565 + 4 1.00000 -0.338154 -9.20163 + 5 1.00000 -0.259662 -7.06577 + 6 0.00000 0.002502 0.06808 + 7 0.00000 0.100462 2.73370 + 8 0.00000 0.298305 8.11730 + 9 0.00000 0.334311 9.09706 + 10 0.00000 0.369721 10.06062 + 11 0.00000 0.574925 15.64450 + 12 0.00000 0.774393 21.07230 + 13 0.00000 0.884905 24.07950 + 14 0.00000 0.963552 26.21959 + 15 0.00000 1.117339 30.40435 + 16 0.00000 1.152611 31.36415 + 17 0.00000 1.515247 41.23196 + 18 0.00000 1.938313 52.74419 + 19 0.00000 2.034193 55.35320 + 20 0.00000 2.287076 62.23451 + 21 0.00000 2.396014 65.19886 + 22 0.00000 2.413230 65.66733 + 23 0.00000 2.902857 78.99075 + 24 0.00000 3.217150 87.54312 + + Spin-down eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.788324 -511.25631 + 2 1.00000 -0.925028 -25.17128 + 3 1.00000 -0.478305 -13.01534 + 4 1.00000 -0.338162 -9.20186 + 5 1.00000 -0.259678 -7.06621 + 6 0.00000 0.002533 0.06892 + 7 0.00000 0.100501 2.73477 + 8 0.00000 0.298306 8.11731 + 9 0.00000 0.334310 9.09705 + 10 0.00000 0.369741 10.06116 + 11 0.00000 0.575007 15.64673 + 12 0.00000 0.774455 21.07399 + 13 0.00000 0.884950 24.08072 + 14 0.00000 0.963610 26.22117 + 15 0.00000 1.117393 30.40582 + 16 0.00000 1.152620 31.36438 + 17 0.00000 1.515330 41.23424 + 18 0.00000 1.938347 52.74511 + 19 0.00000 2.034240 55.35449 + 20 0.00000 2.287085 62.23474 + 21 0.00000 2.396020 65.19903 + 22 0.00000 2.413230 65.66733 + 23 0.00000 2.902867 78.99103 + 24 0.00000 3.217145 87.54297 + Current spin moment of the entire structure : | N = N_up - N_down : 0.00 | S : 0.00 @@ -2117,7 +2829,7 @@ | Total energy (T->0) per atom : -693.61075110 eV <-- do not rely on this value for anything but (periodic) metals | Electronic free energy per atom : -693.61075110 eV Evaluating new KS density. - Integration grid: deviation in total charge ( - N_e) = 0.000000E+00 + Integration grid: deviation in total charge ( - N_e) = -3.552714E-15 | = N_up-N_dn = -0.0000; <|rho_up-rho_dn|> = 0.0004 Self-consistency convergence accuracy: @@ -2129,14 +2841,14 @@ ------------------------------------------------------------ End self-consistency iteration # 10 : max(cpu_time) wall_clock(cpu1) - | Time for this iteration : 0.036 s 0.036 s - | Charge density update : 0.010 s 0.009 s - | Density mixing : 0.004 s 0.005 s + | Time for this iteration : 0.037 s 0.037 s + | Charge density update : 0.010 s 0.010 s + | Density mixing : 0.004 s 0.004 s | Hartree multipole update : 0.001 s 0.001 s | Hartree multipole summation : 0.006 s 0.006 s | Integration : 0.014 s 0.014 s - | Solution of K.-S. eqns. : 0.001 s 0.000 s - | Total energy evaluation : 0.000 s 0.001 s + | Solution of K.-S. eqns. : 0.001 s 0.001 s + | Total energy evaluation : 0.000 s 0.000 s Partial memory accounting: | Current value for overall tracked memory usage: @@ -2158,10 +2870,21 @@ ------------------------------------------------------------ Begin self-consistency iteration # 11 - Date : 20240501, Time : 123432.735 + Date : 20241030, Time : 192723.215 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 55.07 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 0.164193E+01 + | N minus 2 0.153804E+00 + | N minus 3 -0.369235E+00 + | N minus 4 0.104658E+00 + | N minus 5 0.618292E-01 + | N minus 6 0.220143E-01 + | N minus 7 -0.123540E-02 + | N minus 8 0.619569E-03 + Available memory per node after mixing [GB]: 50.88 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 @@ -2169,30 +2892,40 @@ | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.102081E-13 + | Original multipole sum: apparent total charge = 0.152506E-13 | Sum of charges compensated after spline to logarithmic grids = 0.163091E-03 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.100359E-13 + | Hartree multipole sum: apparent total charge = 0.147832E-13 Summing up the Hartree potential. Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s | RMS charge density error from multipole expansion : 0.647153E-02 Integrating Hamiltonian matrix: batch-based integration. Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.055 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.014 s 0.013 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -2202,6 +2935,64 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -6.02255194 eV + Writing Kohn-Sham eigenvalues. + + Spin-up eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.788541 -511.26222 + 2 1.00000 -0.925128 -25.17402 + 3 1.00000 -0.478393 -13.01773 + 4 1.00000 -0.338272 -9.20484 + 5 1.00000 -0.259790 -7.06925 + 6 0.00000 0.002494 0.06787 + 7 0.00000 0.100449 2.73335 + 8 0.00000 0.298241 8.11555 + 9 0.00000 0.334243 9.09520 + 10 0.00000 0.369693 10.05986 + 11 0.00000 0.574950 15.64517 + 12 0.00000 0.774387 21.07214 + 13 0.00000 0.884890 24.07908 + 14 0.00000 0.963555 26.21965 + 15 0.00000 1.117329 30.40407 + 16 0.00000 1.152540 31.36221 + 17 0.00000 1.515283 41.23295 + 18 0.00000 1.938267 52.74292 + 19 0.00000 2.034165 55.35245 + 20 0.00000 2.286988 62.23211 + 21 0.00000 2.395923 65.19637 + 22 0.00000 2.413135 65.66474 + 23 0.00000 2.902775 78.98853 + 24 0.00000 3.217049 87.54035 + + Spin-down eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.788541 -511.26221 + 2 1.00000 -0.925128 -25.17401 + 3 1.00000 -0.478392 -13.01772 + 4 1.00000 -0.338272 -9.20486 + 5 1.00000 -0.259792 -7.06931 + 6 0.00000 0.002492 0.06782 + 7 0.00000 0.100447 2.73331 + 8 0.00000 0.298240 8.11552 + 9 0.00000 0.334241 9.09517 + 10 0.00000 0.369692 10.05982 + 11 0.00000 0.574948 15.64514 + 12 0.00000 0.774386 21.07211 + 13 0.00000 0.884888 24.07904 + 14 0.00000 0.963554 26.21963 + 15 0.00000 1.117328 30.40403 + 16 0.00000 1.152539 31.36218 + 17 0.00000 1.515281 41.23291 + 18 0.00000 1.938265 52.74287 + 19 0.00000 2.034164 55.35243 + 20 0.00000 2.286987 62.23207 + 21 0.00000 2.395921 65.19633 + 22 0.00000 2.413134 65.66472 + 23 0.00000 2.902775 78.98853 + 24 0.00000 3.217049 87.54035 + Current spin moment of the entire structure : | N = N_up - N_down : 0.00 | S : 0.00 @@ -2238,7 +3029,7 @@ | Total energy (T->0) per atom : -693.61075150 eV <-- do not rely on this value for anything but (periodic) metals | Electronic free energy per atom : -693.61075150 eV Evaluating new KS density. - Integration grid: deviation in total charge ( - N_e) = -3.552714E-15 + Integration grid: deviation in total charge ( - N_e) = 0.000000E+00 | = N_up-N_dn = -0.0000; <|rho_up-rho_dn|> = 0.0000 Self-consistency convergence accuracy: @@ -2250,12 +3041,12 @@ ------------------------------------------------------------ End self-consistency iteration # 11 : max(cpu_time) wall_clock(cpu1) - | Time for this iteration : 0.036 s 0.037 s + | Time for this iteration : 0.037 s 0.037 s | Charge density update : 0.010 s 0.010 s - | Density mixing : 0.004 s 0.005 s + | Density mixing : 0.004 s 0.004 s | Hartree multipole update : 0.001 s 0.001 s - | Hartree multipole summation : 0.006 s 0.006 s - | Integration : 0.014 s 0.014 s + | Hartree multipole summation : 0.006 s 0.007 s + | Integration : 0.014 s 0.013 s | Solution of K.-S. eqns. : 0.001 s 0.000 s | Total energy evaluation : 0.000 s 0.000 s @@ -2279,10 +3070,21 @@ ------------------------------------------------------------ Begin self-consistency iteration # 12 - Date : 20240501, Time : 123432.772 + Date : 20241030, Time : 192723.252 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 55.07 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 0.317161E+01 + | N minus 2 -0.530074E+01 + | N minus 3 -0.358219E+00 + | N minus 4 0.647612E+00 + | N minus 5 -0.172279E+00 + | N minus 6 -0.868448E-01 + | N minus 7 -0.188433E-01 + | N minus 8 0.209336E-02 + Available memory per node after mixing [GB]: 50.88 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 @@ -2290,30 +3092,40 @@ | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.755151E-14 + | Original multipole sum: apparent total charge = 0.538690E-14 | Sum of charges compensated after spline to logarithmic grids = 0.163077E-03 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.777289E-14 + | Hartree multipole sum: apparent total charge = 0.516553E-14 Summing up the Hartree potential. Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s | RMS charge density error from multipole expansion : 0.647133E-02 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.055 s + Time summed over all CPUs for integration: real work 0.054 s, elapsed 0.055 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.014 s 0.014 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -2323,6 +3135,64 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -6.02262900 eV + Writing Kohn-Sham eigenvalues. + + Spin-up eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.788546 -511.26235 + 2 1.00000 -0.925132 -25.17411 + 3 1.00000 -0.478395 -13.01780 + 4 1.00000 -0.338274 -9.20490 + 5 1.00000 -0.259795 -7.06937 + 6 0.00000 0.002491 0.06779 + 7 0.00000 0.100446 2.73327 + 8 0.00000 0.298240 8.11552 + 9 0.00000 0.334240 9.09513 + 10 0.00000 0.369692 10.05982 + 11 0.00000 0.574945 15.64505 + 12 0.00000 0.774383 21.07204 + 13 0.00000 0.884887 24.07899 + 14 0.00000 0.963551 26.21955 + 15 0.00000 1.117325 30.40396 + 16 0.00000 1.152537 31.36213 + 17 0.00000 1.515279 41.23283 + 18 0.00000 1.938262 52.74280 + 19 0.00000 2.034162 55.35236 + 20 0.00000 2.286984 62.23201 + 21 0.00000 2.395919 65.19628 + 22 0.00000 2.413132 65.66466 + 23 0.00000 2.902773 78.98846 + 24 0.00000 3.217046 87.54029 + + Spin-down eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.788547 -511.26237 + 2 1.00000 -0.925132 -25.17412 + 3 1.00000 -0.478395 -13.01779 + 4 1.00000 -0.338274 -9.20491 + 5 1.00000 -0.259795 -7.06939 + 6 0.00000 0.002492 0.06780 + 7 0.00000 0.100446 2.73329 + 8 0.00000 0.298240 8.11551 + 9 0.00000 0.334240 9.09512 + 10 0.00000 0.369692 10.05983 + 11 0.00000 0.574947 15.64510 + 12 0.00000 0.774385 21.07208 + 13 0.00000 0.884887 24.07901 + 14 0.00000 0.963552 26.21958 + 15 0.00000 1.117326 30.40399 + 16 0.00000 1.152537 31.36213 + 17 0.00000 1.515281 41.23288 + 18 0.00000 1.938263 52.74282 + 19 0.00000 2.034163 55.35239 + 20 0.00000 2.286984 62.23201 + 21 0.00000 2.395919 65.19627 + 22 0.00000 2.413132 65.66466 + 23 0.00000 2.902773 78.98847 + 24 0.00000 3.217046 87.54028 + Current spin moment of the entire structure : | N = N_up - N_down : 0.00 | S : 0.00 @@ -2359,7 +3229,7 @@ | Total energy (T->0) per atom : -693.61075150 eV <-- do not rely on this value for anything but (periodic) metals | Electronic free energy per atom : -693.61075150 eV Evaluating new KS density. - Integration grid: deviation in total charge ( - N_e) = 3.552714E-15 + Integration grid: deviation in total charge ( - N_e) = 1.776357E-15 | = N_up-N_dn = 0.0000; <|rho_up-rho_dn|> = 0.0000 Self-consistency convergence accuracy: @@ -2377,7 +3247,7 @@ | Hartree multipole update : 0.001 s 0.002 s | Hartree multipole summation : 0.006 s 0.006 s | Integration : 0.014 s 0.014 s - | Solution of K.-S. eqns. : 0.001 s 0.000 s + | Solution of K.-S. eqns. : 0.001 s 0.001 s | Total energy evaluation : 0.000 s 0.000 s Partial memory accounting: @@ -2400,10 +3270,21 @@ ------------------------------------------------------------ Begin self-consistency iteration # 13 - Date : 20240501, Time : 123432.809 + Date : 20241030, Time : 192723.289 ------------------------------------------------------------ Pulay mixing of updated and previous charge densities. - Available memory per node after mixing [GB]: 55.07 + Diagnostic output of the density mixing factors determined by the Pulay scheme: + | Note that these factors are applied to density residuals, i.e., to density differences that are normalized to zero. + | Iteration Mixing factor + | N minus 1 0.163672E+00 + | N minus 2 0.112739E-01 + | N minus 3 -0.821138E-02 + | N minus 4 0.555234E-04 + | N minus 5 0.919433E-02 + | N minus 6 -0.222876E-02 + | N minus 7 -0.171323E-02 + | N minus 8 -0.377712E-03 + Available memory per node after mixing [GB]: 50.88 Renormalizing the density to the exact electron count on the 3D integration grid. | Formal number of electrons (from input files) : 10.0000000000 | Integrated number of electrons on 3D grid : 10.0000000000 @@ -2411,30 +3292,40 @@ | Normalization factor for density and gradient : 1.0000000000 Evaluating partitioned Hartree potential by multipole expansion. - | Original multipole sum: apparent total charge = 0.346828E-14 + | Original multipole sum: apparent total charge = 0.132828E-14 | Sum of charges compensated after spline to logarithmic grids = 0.163078E-03 | Analytical far-field extrapolation by fixed multipoles: - | Hartree multipole sum: apparent total charge = 0.322230E-14 + | Hartree multipole sum: apparent total charge = 0.113150E-14 Summing up the Hartree potential. Time summed over all CPUs for potential: real work 0.006 s, elapsed 0.006 s | RMS charge density error from multipole expansion : 0.647133E-02 Integrating Hamiltonian matrix: batch-based integration. - Time summed over all CPUs for integration: real work 0.054 s, elapsed 0.055 s + Time summed over all CPUs for integration: real work 0.055 s, elapsed 0.055 s + Integrate hamiltonian matrix : max(cpu_time) wall_clock(cpu1) + | Total time : 0.014 s 0.014 s Updating Kohn-Sham eigenvalues and eigenvectors using ELSI and the ELPA eigensolver. Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem | Time : 0.000 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s Starting ELPA eigensolver + Allocating 0.004 MB for tmp + Deallocating tmp Finished transformation to standard eigenproblem | Time : 0.000 s Finished solving standard eigenproblem - | Time : 0.000 s + | Time : 0.001 s + Allocating 0.002 MB for tmp + Deallocating tmp Finished back-transformation of eigenvectors | Time : 0.000 s @@ -2444,6 +3335,64 @@ | In systems with a gap, the physically relevant chemical potential is the VBM or HOMO. | Chemical potential (Fermi level): -6.02258760 eV + Writing Kohn-Sham eigenvalues. + + Spin-up eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.788544 -511.26229 + 2 1.00000 -0.925130 -25.17408 + 3 1.00000 -0.478394 -13.01777 + 4 1.00000 -0.338273 -9.20487 + 5 1.00000 -0.259793 -7.06934 + 6 0.00000 0.002492 0.06781 + 7 0.00000 0.100447 2.73329 + 8 0.00000 0.298241 8.11554 + 9 0.00000 0.334241 9.09515 + 10 0.00000 0.369692 10.05984 + 11 0.00000 0.574946 15.64508 + 12 0.00000 0.774384 21.07207 + 13 0.00000 0.884888 24.07901 + 14 0.00000 0.963552 26.21958 + 15 0.00000 1.117326 30.40399 + 16 0.00000 1.152538 31.36216 + 17 0.00000 1.515280 41.23286 + 18 0.00000 1.938264 52.74284 + 19 0.00000 2.034163 55.35239 + 20 0.00000 2.286986 62.23204 + 21 0.00000 2.395920 65.19631 + 22 0.00000 2.413133 65.66469 + 23 0.00000 2.902774 78.98849 + 24 0.00000 3.217048 87.54032 + + Spin-down eigenvalues: + + State Occupation Eigenvalue [Ha] Eigenvalue [eV] + 1 1.00000 -18.788544 -511.26229 + 2 1.00000 -0.925130 -25.17408 + 3 1.00000 -0.478394 -13.01777 + 4 1.00000 -0.338273 -9.20487 + 5 1.00000 -0.259794 -7.06934 + 6 0.00000 0.002492 0.06781 + 7 0.00000 0.100447 2.73329 + 8 0.00000 0.298240 8.11554 + 9 0.00000 0.334240 9.09515 + 10 0.00000 0.369692 10.05984 + 11 0.00000 0.574946 15.64508 + 12 0.00000 0.774384 21.07207 + 13 0.00000 0.884887 24.07901 + 14 0.00000 0.963552 26.21958 + 15 0.00000 1.117326 30.40399 + 16 0.00000 1.152538 31.36216 + 17 0.00000 1.515280 41.23286 + 18 0.00000 1.938264 52.74283 + 19 0.00000 2.034163 55.35239 + 20 0.00000 2.286986 62.23204 + 21 0.00000 2.395920 65.19631 + 22 0.00000 2.413133 65.66469 + 23 0.00000 2.902774 78.98849 + 24 0.00000 3.217048 87.54032 + Current spin moment of the entire structure : | N = N_up - N_down : 0.00 | S : 0.00 @@ -2571,12 +3520,12 @@ End self-consistency iteration # 13 : max(cpu_time) wall_clock(cpu1) | Time for this iteration : 0.027 s 0.027 s | Charge density update : 0.000 s 0.000 s - | Density mixing : 0.005 s 0.004 s - | Hartree multipole update : 0.001 s 0.002 s + | Density mixing : 0.004 s 0.005 s + | Hartree multipole update : 0.001 s 0.001 s | Hartree multipole summation : 0.006 s 0.006 s | Integration : 0.014 s 0.014 s - | Solution of K.-S. eqns. : 0.001 s 0.000 s - | Total energy evaluation : 0.000 s 0.001 s + | Solution of K.-S. eqns. : 0.001 s 0.001 s + | Total energy evaluation : 0.000 s 0.000 s Partial memory accounting: | Current value for overall tracked memory usage: @@ -2780,12 +3729,12 @@ Overall HOMO-LUMO gap: 7.13711287 eV. Spin-orbit coupling : max(cpu_time) wall_clock(cpu1) - | Computing matrix elements for SOC operator : 0.014 0.014 + | Computing matrix elements for SOC operator : 0.017 0.017 | Constructing second-variational Hamiltonian : 0.000 0.000 | Diagonalizing second-variational Hamiltonian : 0.001 0.001 | Syncing data and calculating occupations : 0.000 0.000 - | Writing out data, calculating band gaps, etc. : 0.000 0.000 - | Total SOC time : 0.016 0.016 + | Writing out data, calculating band gaps, etc. : 0.000 0.001 + | Total SOC time : 0.019 0.020 Partial memory accounting: | Current value for overall tracked memory usage: @@ -2854,7 +3803,7 @@ The ELSI infrastructure was used in your run to solve the Kohn-Sham electronic structure. - Please check out http://elsi-interchange.org to learn more. + Please check out https://wordpress.elsi-interchange.org to learn more. If scalability is important for your project, please acknowledge ELSI by citing: V. W-z. Yu, F. Corsetti, A. Garcia, W. P. Huhn, M. Jacquelin, W. Jia, @@ -2879,28 +3828,28 @@ ------------------------------------------------------------ Leaving FHI-aims. - Date : 20240501, Time : 123432.857 + Date : 20241030, Time : 192723.340 Computational steps: | Number of self-consistency cycles : 13 | Number of SCF (re)initializations : 1 Detailed time accounting : max(cpu_time) wall_clock(cpu1) - | Total time : 0.737 s 0.741 s - | Preparation time : 0.189 s 0.190 s - | Boundary condition initalization : 0.008 s 0.008 s - | Grid partitioning : 0.007 s 0.006 s - | Preloading free-atom quantities on grid : 0.019 s 0.019 s + | Total time : 0.734 s 0.739 s + | Preparation time : 0.183 s 0.184 s + | Boundary condition initalization : 0.002 s 0.001 s + | Grid partitioning : 0.006 s 0.006 s + | Preloading free-atom quantities on grid : 0.016 s 0.017 s | Free-atom superposition energy : 0.005 s 0.005 s | Total time for integrations : 0.199 s 0.199 s - | Total time for solution of K.-S. equations : 0.008 s 0.010 s - | Total time for density update : 0.127 s 0.129 s - | Total time for mixing : 0.042 s 0.042 s - | Total time for Hartree multipole update : 0.016 s 0.018 s + | Total time for solution of K.-S. equations : 0.011 s 0.013 s + | Total time for density update : 0.133 s 0.134 s + | Total time for mixing : 0.042 s 0.041 s + | Total time for Hartree multipole update : 0.015 s 0.016 s | Total time for Hartree multipole sum : 0.086 s 0.086 s - | Total time for total energy evaluation : 0.001 s 0.002 s + | Total time for total energy evaluation : 0.001 s 0.000 s | Total time for scaled ZORA corrections : 0.000 s 0.000 s - | Total time for perturbative SOC : 0.016 s 0.016 s + | Total time for perturbative SOC : 0.019 s 0.020 s Partial memory accounting: | Residual value for overall tracked memory usage across tasks: 0.000000 MB (should be 0.000000 MB) diff --git a/tests/fixtures/aims_calculations/3/control.in b/tests/fixtures/default_aims_calcs/3/control.in similarity index 99% rename from tests/fixtures/aims_calculations/3/control.in rename to tests/fixtures/default_aims_calcs/3/control.in index c74ad4a..67eeabc 100644 --- a/tests/fixtures/aims_calculations/3/control.in +++ b/tests/fixtures/default_aims_calcs/3/control.in @@ -2,6 +2,7 @@ xc pbe spin collinear default_initial_moment 1 include_spin_orbit non_self_consistent +output_level full ################################################################################ # # FHI-aims code project diff --git a/tests/fixtures/aims_calculations/3/geometry.in b/tests/fixtures/default_aims_calcs/3/geometry.in similarity index 100% rename from tests/fixtures/aims_calculations/3/geometry.in rename to tests/fixtures/default_aims_calcs/3/geometry.in diff --git a/tests/fixtures/aims_calculations/4/aims.out b/tests/fixtures/default_aims_calcs/4/aims.out similarity index 100% rename from tests/fixtures/aims_calculations/4/aims.out rename to tests/fixtures/default_aims_calcs/4/aims.out diff --git a/tests/fixtures/aims_calculations/4/control.in b/tests/fixtures/default_aims_calcs/4/control.in similarity index 100% rename from tests/fixtures/aims_calculations/4/control.in rename to tests/fixtures/default_aims_calcs/4/control.in diff --git a/tests/fixtures/aims_calculations/4/geometry.in b/tests/fixtures/default_aims_calcs/4/geometry.in similarity index 100% rename from tests/fixtures/aims_calculations/4/geometry.in rename to tests/fixtures/default_aims_calcs/4/geometry.in diff --git a/tests/fixtures/aims_calculations/5/aims.out b/tests/fixtures/default_aims_calcs/5/aims.out similarity index 100% rename from tests/fixtures/aims_calculations/5/aims.out rename to tests/fixtures/default_aims_calcs/5/aims.out diff --git a/tests/fixtures/aims_calculations/5/control.in b/tests/fixtures/default_aims_calcs/5/control.in similarity index 100% rename from tests/fixtures/aims_calculations/5/control.in rename to tests/fixtures/default_aims_calcs/5/control.in diff --git a/tests/fixtures/aims_calculations/5/geometry.in b/tests/fixtures/default_aims_calcs/5/geometry.in similarity index 100% rename from tests/fixtures/aims_calculations/5/geometry.in rename to tests/fixtures/default_aims_calcs/5/geometry.in diff --git a/tests/fixtures/aims_calculations/5/geometry.in.next_step b/tests/fixtures/default_aims_calcs/5/geometry.in.next_step similarity index 100% rename from tests/fixtures/aims_calculations/5/geometry.in.next_step rename to tests/fixtures/default_aims_calcs/5/geometry.in.next_step diff --git a/tests/fixtures/aims_calculations/5/hessian.aims b/tests/fixtures/default_aims_calcs/5/hessian.aims similarity index 100% rename from tests/fixtures/aims_calculations/5/hessian.aims rename to tests/fixtures/default_aims_calcs/5/hessian.aims diff --git a/tests/fixtures/aims_calculations/6/aims.out b/tests/fixtures/default_aims_calcs/6/aims.out similarity index 100% rename from tests/fixtures/aims_calculations/6/aims.out rename to tests/fixtures/default_aims_calcs/6/aims.out diff --git a/tests/fixtures/aims_calculations/6/control.in b/tests/fixtures/default_aims_calcs/6/control.in similarity index 100% rename from tests/fixtures/aims_calculations/6/control.in rename to tests/fixtures/default_aims_calcs/6/control.in diff --git a/tests/fixtures/aims_calculations/6/geometry.in b/tests/fixtures/default_aims_calcs/6/geometry.in similarity index 100% rename from tests/fixtures/aims_calculations/6/geometry.in rename to tests/fixtures/default_aims_calcs/6/geometry.in diff --git a/tests/fixtures/aims_calculations/6/geometry.in.next_step b/tests/fixtures/default_aims_calcs/6/geometry.in.next_step similarity index 100% rename from tests/fixtures/aims_calculations/6/geometry.in.next_step rename to tests/fixtures/default_aims_calcs/6/geometry.in.next_step diff --git a/tests/fixtures/aims_calculations/6/hessian.aims b/tests/fixtures/default_aims_calcs/6/hessian.aims similarity index 100% rename from tests/fixtures/aims_calculations/6/hessian.aims rename to tests/fixtures/default_aims_calcs/6/hessian.aims diff --git a/tests/fixtures/aims_calculations/7/aims.out b/tests/fixtures/default_aims_calcs/7/aims.out similarity index 100% rename from tests/fixtures/aims_calculations/7/aims.out rename to tests/fixtures/default_aims_calcs/7/aims.out diff --git a/tests/fixtures/aims_calculations/7/control.in b/tests/fixtures/default_aims_calcs/7/control.in similarity index 100% rename from tests/fixtures/aims_calculations/7/control.in rename to tests/fixtures/default_aims_calcs/7/control.in diff --git a/tests/fixtures/aims_calculations/7/geometry.in b/tests/fixtures/default_aims_calcs/7/geometry.in similarity index 100% rename from tests/fixtures/aims_calculations/7/geometry.in rename to tests/fixtures/default_aims_calcs/7/geometry.in diff --git a/tests/fixtures/aims_calculations/7/geometry.in.next_step b/tests/fixtures/default_aims_calcs/7/geometry.in.next_step similarity index 100% rename from tests/fixtures/aims_calculations/7/geometry.in.next_step rename to tests/fixtures/default_aims_calcs/7/geometry.in.next_step diff --git a/tests/fixtures/aims_calculations/7/hessian.aims b/tests/fixtures/default_aims_calcs/7/hessian.aims similarity index 100% rename from tests/fixtures/aims_calculations/7/hessian.aims rename to tests/fixtures/default_aims_calcs/7/hessian.aims diff --git a/tests/fixtures/aims_calculations/8/aims.out b/tests/fixtures/default_aims_calcs/8/aims.out similarity index 100% rename from tests/fixtures/aims_calculations/8/aims.out rename to tests/fixtures/default_aims_calcs/8/aims.out diff --git a/tests/fixtures/aims_calculations/8/control.in b/tests/fixtures/default_aims_calcs/8/control.in similarity index 100% rename from tests/fixtures/aims_calculations/8/control.in rename to tests/fixtures/default_aims_calcs/8/control.in diff --git a/tests/fixtures/aims_calculations/8/geometry.in b/tests/fixtures/default_aims_calcs/8/geometry.in similarity index 100% rename from tests/fixtures/aims_calculations/8/geometry.in rename to tests/fixtures/default_aims_calcs/8/geometry.in diff --git a/tests/fixtures/aims_calculations/9/aims.out b/tests/fixtures/default_aims_calcs/9/aims.out similarity index 100% rename from tests/fixtures/aims_calculations/9/aims.out rename to tests/fixtures/default_aims_calcs/9/aims.out diff --git a/tests/fixtures/aims_calculations/9/control.in b/tests/fixtures/default_aims_calcs/9/control.in similarity index 100% rename from tests/fixtures/aims_calculations/9/control.in rename to tests/fixtures/default_aims_calcs/9/control.in diff --git a/tests/fixtures/aims_calculations/9/geometry.in b/tests/fixtures/default_aims_calcs/9/geometry.in similarity index 100% rename from tests/fixtures/aims_calculations/9/geometry.in rename to tests/fixtures/default_aims_calcs/9/geometry.in diff --git a/tests/run_aims.sh b/tests/run_aims.sh new file mode 100755 index 0000000..041dad5 --- /dev/null +++ b/tests/run_aims.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + +# Parse args +binary=$1 +run_aims=$2 + +if [[ -f "tests/fixtures/custom_bin_aims_calcs/1/aims.out" && "$run_aims" == "change_bin" ]]; then + rm -rf fixtures/custom_bin_aims_calcs +elif [[ -f "tests/fixtures/custom_bin_aims_calcs/1/aims.out" && "$run_aims" == "True" ]]; then + exit 1 +fi + +for i in {1..10}; do ( + # Copy the aims input files to a new directory + mkdir -p tests/fixtures/custom_bin_aims_calcs/"$i" + cp tests/fixtures/default_aims_calcs/"$i"/*.in tests/fixtures/custom_bin_aims_calcs/"$i" + + # Run the binary in each of the directories + cd tests/fixtures/custom_bin_aims_calcs/"$i" || exit 1 + mpirun -n 4 "$binary" >aims.out +); done diff --git a/tests/test_benchmarking.py b/tests/test_benchmarking.py index e69de29..8e31409 100644 --- a/tests/test_benchmarking.py +++ b/tests/test_benchmarking.py @@ -0,0 +1,2 @@ +# TODO +# class TestBenchmarking() diff --git a/tests/test_geometry.py b/tests/test_geometry.py index 254d7f2..8b8e87d 100644 --- a/tests/test_geometry.py +++ b/tests/test_geometry.py @@ -1,86 +1,79 @@ import pytest -import os import numpy as np from dfttools.geometry import AimsGeometry -@pytest.fixture -def get_geometry(): - geometry = AimsGeometry() - geometry.add_atoms( - cartesian_coords=[ - [0, 0, 0], - [1, 0, 0], - ], - species=["H", "H"], - constrain_relax=[np.array([False, False, False]), - np.array([True, True, True])] - ) +class TestAimsGeometry: - return geometry + @pytest.fixture(autouse=True) + def geometry(self): + self.geom = AimsGeometry() + self.geom.add_atoms( + cartesian_coords=[ + [0, 0, 0], + [1, 0, 0], + ], + species=["H", "H"], + constrain_relax=[ + np.array([False, False, False]), + np.array([True, True, True]), + ], + ) -@pytest.fixture -def get_geometry_periodic(): - geometry = AimsGeometry() - - geometry.lattice_vectors = np.array([[1.27349850, 2.20576400, 0.00000000], - [-1.27349850, 2.20576400, 0.00000000], - [0.00000000, 0.00000000, 68.33693789]]) - - geometry.add_atoms( - cartesian_coords=[ - [-0.00000002, 1.47049920, 0.00000000], - [0.00000000, 0.00000000, 2.07961400], - [0.00000000, 2.94102000, 4.15922800], - [-0.00000002, 1.47049920, 6.23160806], - [0.00000002, -0.00000809, 8.30498122], - ], - species=["Cu", "Cu", "Cu", "Cu", "Cu",], - constrain_relax=[np.array([True, True, True]), - np.array([True, True, True]), - np.array([True, True, True]), - np.array([False, False, False]), - np.array([False, False, False]), - ] - ) + @pytest.fixture(autouse=True) + def geometry_periodic(self): + self.ap_geom = AimsGeometry() - return geometry + self.ap_geom.lattice_vectors = np.array( + [ + [1.27349850, 2.20576400, 0.00000000], + [-1.27349850, 2.20576400, 0.00000000], + [0.00000000, 0.00000000, 68.33693789], + ] + ) -def test_save_and_read_file(get_geometry): - geometry = get_geometry - geometry.save_to_file('temp/geometry.in') + self.ap_geom.add_atoms( + cartesian_coords=[ + [-0.00000002, 1.47049920, 0.00000000], + [0.00000000, 0.00000000, 2.07961400], + [0.00000000, 2.94102000, 4.15922800], + [-0.00000002, 1.47049920, 6.23160806], + [0.00000002, -0.00000809, 8.30498122], + ], + species=[ + "Cu", + "Cu", + "Cu", + "Cu", + "Cu", + ], + constrain_relax=[ + np.array([True, True, True]), + np.array([True, True, True]), + np.array([True, True, True]), + np.array([False, False, False]), + np.array([False, False, False]), + ], + ) - geometry_read = AimsGeometry('temp/geometry.in') - os.remove('temp/geometry.in') + def test_save_and_read_file(self, tmp_path): + # pytest method of creating a temporary directory + d = tmp_path / "tmp" + d.mkdir() - assert geometry == geometry_read + geom_path = str(d / "geometry.in") + self.geom.save_to_file(geom_path) -def test_get_displaced_atoms(get_geometry): - geometry = get_geometry - geometry_new = geometry.get_displaced_atoms(1) - - assert not np.allclose( geometry.coords[0], geometry_new.coords[0] ) - assert np.allclose( geometry.coords[1], geometry_new.coords[1] ) - - -def test_get_symmetries(get_geometry_periodic): - geometry = get_geometry_periodic - - symmetries = geometry.get_symmetries(symmetry_precision=1e-03) - - assert len(symmetries['rotations']) == 6 - - - - - - - - - - - - - - - \ No newline at end of file + geometry_read = AimsGeometry(geom_path) + + assert self.geom == geometry_read + + def test_get_displaced_atoms(self): + new_geom = self.geom.get_displaced_atoms(1) + assert not np.allclose(self.geom.coords[0], new_geom.coords[0]) + assert np.allclose(self.geom.coords[1], new_geom.coords[1]) + + def test_get_symmetries(self): + symmetries = self.ap_geom.get_symmetries(symmetry_precision=1e-03) + assert len(symmetries[0]) == 6 + assert len(symmetries[1]) == 6 diff --git a/tests/test_output.py b/tests/test_output.py index e67aef9..1dfd2b7 100644 --- a/tests/test_output.py +++ b/tests/test_output.py @@ -1,532 +1,282 @@ -import pathlib +import os +import subprocess +import numpy as np import pytest +import yaml from dfttools.output import AimsOutput - - -@pytest.fixture -def aims_out_1(): - """ - Completed, cluster, w/o spin - - Stats - ----- - exit_normal=True - - Parameters - ---------- - xc=pbe - """ - - return AimsOutput(aims_out="fixtures/aims_calculations/1/aims.out") - - -@pytest.fixture -def aims_out_2(): - """ - Completed, cluster, w/ spin - - Stats - ----- - exit_normal=True - - Parameters - ---------- - xc=pbe - spin=collinear - default_initial_moment=1 - """ - - return AimsOutput(aims_out="fixtures/aims_calculations/2/aims.out") - - -@pytest.fixture -def aims_out_3(): - """ - Completed, cluster, w/ spin, w/ spin-orbit - - Stats - ----- - exit_normal=True - - Parameters - ---------- - xc=pbe - spin=collinear - default_initial_moment=1 - include_spin_orbit=non_self_consistent - """ - - return AimsOutput(aims_out="fixtures/aims_calculations/3/aims.out") - - -@pytest.fixture -def aims_out_4(): - """ - Completed, PBC, gamma point - - Stats - ----- - exit_normal=True - - Parameters - ---------- - xc=pbe - k_grid=(1, 1, 1) - """ - - return AimsOutput(aims_out="fixtures/aims_calculations/4/aims.out") - - -@pytest.fixture -def aims_out_5(): - """ - Completed, cluster, w/ geometry relaxation - - Stats - ----- - exit_normal=True - - Parameters - ---------- - xc=pbe - relax_geometry=bfgs 5e-3 - """ - - return AimsOutput(aims_out="fixtures/aims_calculations/5/aims.out") - - -@pytest.fixture -def aims_out_6(): - """ - Completed, PBC, w/ geometry relaxation, 8x8x8 - - Stats - ----- - exit_normal=True - - Parameters - ---------- - relax_geometry=bfgs 5e-3 - relax_unit_cell=full - k_grid=(8, 8, 8) - """ - - return AimsOutput(aims_out="fixtures/aims_calculations/6/aims.out") - - -@pytest.fixture -def aims_out_7(): - """ - Failed, cluster - - Stats - ----- - exit_normal=False - - Parameters - ---------- - sc_iter_limit=10 - sc_accuracy_rho=1e-10 - sc_accuracy_eev=1e-6 - sc_accuracy_etot=1e-12 - sc_accuracy_forces=1e-8 - """ - - return AimsOutput(aims_out="fixtures/aims_calculations/7/aims.out") - - -@pytest.fixture -def aims_out_8(): - """ - Failed, PBC, gamma point - - Stats - ----- - exit_normal=False - - Parameters - ---------- - k_grid=(1, 1, 1) - sc_iter_limit=10 - sc_accuracy_rho=1e-10 - sc_accuracy_eev=1e-6 - sc_accuracy_etot=1e-12 - sc_accuracy_forces=1e-8 - """ - - return AimsOutput(aims_out="fixtures/aims_calculations/8/aims.out") - - -@pytest.fixture -def aims_out_9(): - """ - Completed, cluster, hybrid functional - - Stats - ----- - exit_normal=True - - Parameters - ---------- - xc=hse06 - sc_accuracy_rho=1e-5 - sc_accuracy_eev=1e-3 - sc_accuracy_etot=1e-6 - sc_accuracy_forces=1e-4 - """ - - return AimsOutput(aims_out="fixtures/aims_calculations/9/aims.out") - - -@pytest.fixture -def aims_out_10(): - """ - Completed, PBC, hybrid functional, 8x8x8 - - Stats - ----- - exit_normal=True - - Parameters - ---------- - xc=hse06 0.11 - k_grid=(8, 8, 8) - sc_accuracy_rho=1e-5 - sc_accuracy_eev=1e-3 - sc_accuracy_etot=1e-6 - sc_accuracy_forces=1e-4 - """ - - ao = AimsOutput( - f"{pathlib.Path(__file__).parent.resolve()}/fixtures/aims_calculations/10/" - "aims.out" - ) - return ao.check_exit_normal() - - -def test_check_exit_normal(aims_out_10): - assert aims_out_10 is True - - -def test_get_number_of_atoms(aims_out_9): - aims = aims_out_9 - - n_atoms = aims.get_number_of_atoms() - - assert n_atoms == 3 - - -# TODO: currently a palceholder -def test_all_output_functions(aims_out_9): - aims = aims_out_9 - - aims.get_geometry() - aims.get_parameters() - aims.check_exit_normal() - aims.get_change_of_total_energy() - #aims.get_change_of_forces() - aims.get_change_of_sum_of_eigenvalues() - #aims.get_maximum_force() - aims.get_final_energy() - aims.get_energy_corrected() - aims.get_total_energy_T0() - aims.get_energy_uncorrected() - #aims.get_energy_without_vdw() - aims.get_HOMO_energy() - aims.get_LUMO_energy() - #aims.get_vdw_energy() - aims.get_exchange_correlation_energy() - aims.get_electrostatic_energy() - aims.get_kinetic_energy() - aims.get_sum_of_eigenvalues() - aims.get_cx_potential_correction() - aims.get_free_atom_electrostatic_energy() - aims.get_entropy_correction() - aims.get_hartree_energy_correction() - #aims.get_ionic_embedding_energy() - #aims.get_density_embedding_energy() - #aims.get_nonlocal_embedding_energy() - #aims.get_external_embedding_energy() - #aims.get_forces() - aims.check_spin_polarised() - aims.get_conv_params() - aims.get_n_relaxation_steps() - aims.get_n_scf_iters() - aims.get_i_scf_conv_acc() - aims.get_n_initial_ks_states() - #aims.get_all_ks_eigenvalues()# -> functionality does not work - aims.get_final_ks_eigenvalues() - #aims.get_pert_soc_ks_eigenvalues()# -> not great but may work if that output is there - - - - - -# @pytest.mark.parametrize( -# "aims_out, expected", -# [ -# (aims_out_1, True), -# (aims_out_2, True), -# (aims_out_3, True), -# (aims_out_4, True), -# (aims_out_5, True), -# (aims_out_6, True), -# (aims_out_7, False), -# (aims_out_8, False), -# (aims_out_9, True), -# (aims_out_10, True), -# ], -# ) -# def test_check_exit_normal(aims_out, expected): -# assert aims_out is expected - - -# @pytest.mark.parametrize( -# "aims_out, expected", -# [ -# (aims_out_1, False), -# (aims_out_2, True), -# (aims_out_3, True), -# (aims_out_4, False), -# (aims_out_5, False), -# (aims_out_6, False), -# (aims_out_7, False), -# (aims_out_8, False), -# (aims_out_9, False), -# (aims_out_10, False), -# ], -# ) -# def test_check_spin_polarised(aims_out, expected): -# assert aims_out.check_spin_polarised() == expected - - -# @pytest.mark.parametrize( -# "aims_out, expected", -# [ -# ( -# aims_out_1, -# { -# "charge_density": 0.0, -# "sum_eigenvalues": 0.0, -# "total_energy": 0.0, -# "total_force": 0.0, -# }, -# ), -# ( -# aims_out_2, -# { -# "charge_density": 0.0, -# "sum_eigenvalues": 0.0, -# "total_energy": 0.0, -# "total_force": 0.0, -# }, -# ), -# ( -# aims_out_3, -# { -# "charge_density": 0.0, -# "sum_eigenvalues": 0.0, -# "total_energy": 0.0, -# "total_force": 0.0, -# }, -# ), -# ( -# aims_out_4, -# { -# "charge_density": 0.0, -# "sum_eigenvalues": 0.0, -# "total_energy": 0.0, -# "total_force": 0.0, -# }, -# ), -# ( -# aims_out_5, -# { -# "charge_density": 0.0, -# "sum_eigenvalues": 0.0, -# "total_energy": 0.0, -# "total_force": 0.0, -# }, -# ), -# ( -# aims_out_6, -# { -# "charge_density": 0.0, -# "sum_eigenvalues": 0.0, -# "total_energy": 0.0, -# "total_force": 0.0, -# }, -# ), -# ( -# aims_out_7, -# { -# "charge_density": 1e-10, -# "sum_eigenvalues": 1e-06, -# "total_energy": 1e-12, -# "total_force": 1e-08, -# }, -# ), -# ( -# aims_out_8, -# { -# "charge_density": 1e-10, -# "sum_eigenvalues": 1e-06, -# "total_energy": 1e-12, -# "total_force": 1e-08, -# }, -# ), -# ( -# aims_out_9, -# { -# "charge_density": 0.0, -# "sum_eigenvalues": 0.0, -# "total_energy": 0.0, -# "total_force": 0.0, -# }, -# ), -# ( -# aims_out_10, -# { -# "charge_density": 0.0, -# "sum_eigenvalues": 0.0, -# "total_energy": 0.0, -# "total_force": 0.0, -# }, -# ), -# ], -# ) -# def test_get_conv_params(aims_out, expected): -# assert aims_out.get_conv_params() == expected - - -# @pytest.mark.parametrize( -# "aims_out, expected", -# [ -# (aims_out_1, -2080.832254505), -# (aims_out_2, -2080.832254498), -# (aims_out_3, -2080.832254498), -# (aims_out_4, -15785.832821011), -# (aims_out_5, -2080.832254506), -# (aims_out_6, -15802.654211961), -# (aims_out_7, None), -# (aims_out_8, None), -# (aims_out_9, -2081.000809207), -# (aims_out_10, -15804.824029071), -# ], -# ) -# def test_get_final_energy(aims_out, expected): -# assert aims_out.get_final_energy() == expected - - -# @pytest.mark.parametrize( -# "aims_out, expected", -# [ -# (aims_out_1, 1), -# (aims_out_2, 1), -# (aims_out_3, 1), -# (aims_out_4, 1), -# (aims_out_5, 4), -# (aims_out_6, 2), -# (aims_out_7, 3), -# (aims_out_8, 0), -# (aims_out_9, 1), -# (aims_out_10, 1), -# ], -# ) -# def get_n_relaxation_steps_test(aims_out, expected): -# assert aims_out.get_n_relaxation_steps == expected - - -# @pytest.mark.parametrize( -# "aims_out, expected", -# [ -# (aims_out_1, 12), -# (aims_out_2, 13), -# (aims_out_3, 13), -# (aims_out_4, 10), -# (aims_out_5, 42), -# (aims_out_6, 27), -# (aims_out_7, 56), -# (aims_out_8, 8), -# (aims_out_9, 14), -# (aims_out_10, 11), -# ], -# ) -# def test_get_n_scf_iters(aims_out, expected): -# assert aims_out.get_n_scf_iters() == expected - - -# @pytest.mark.parametrize( -# "aims_out, expected", -# [ -# (aims_out_1, None), -# (aims_out_2, None), -# (aims_out_3, None), -# (aims_out_4, None), -# (aims_out_5, None), -# (aims_out_6, None), -# (aims_out_7, None), -# (aims_out_8, None), -# (aims_out_9, None), -# (aims_out_10, None), -# ], -# ) -# def get_i_scf_conv_acc_test(aims_out, expected): -# assert aims_out.get_i_scf_conv_acc() == expected - - -# @pytest.mark.parametrize( -# "aims_out, expected", -# [ -# (aims_out_1, None), -# (aims_out_2, None), -# (aims_out_3, None), -# (aims_out_4, None), -# (aims_out_7, None), -# ], -# ) -# def get_n_initial_ks_states_test(aims_out, expected): -# assert aims_out.get_n_initial_ks_states() == expected - - -# @pytest.mark.parametrize( -# "aims_out, expected", -# [ -# (aims_out_1, None), -# (aims_out_2, None), -# (aims_out_3, None), -# (aims_out_4, None), -# (aims_out_7, None), -# ], -# ) -# def get_all_ks_eigenvalues_test(aims_out, expected): -# assert aims_out.get_all_ks_eigenvalues() == expected - - -# @pytest.mark.parametrize( -# "aims_out, expected", -# [ -# (aims_out_1, None), -# (aims_out_2, None), -# (aims_out_3, None), -# (aims_out_4, None), -# (aims_out_7, None), -# ], -# ) -# def get_final_ks_eigenvalues_test(aims_out, expected): -# assert aims_out.get_final_ks_eigenvalues() == expected - - -# @pytest.mark.parametrize( -# "aims_out, expected", -# [ -# (aims_out_1, None), -# (aims_out_2, None), -# (aims_out_3, None), -# (aims_out_4, None), -# (aims_out_7, None), -# ], -# ) -# def get_pert_soc_ks_eigenvalues_test(aims_out, expected): -# assert aims_out.get_pert_soc_ks_eigenvalues() == expected +from dfttools.utils.file_utils import aims_bin_path_prompt + + +class TestAimsOutput: + + @pytest.fixture(params=range(1, 11), autouse=True) + def aims_out(self, request, run_aims): + + cwd = os.path.dirname(os.path.realpath(__file__)) + + # Run the FHI-aims calculations if the run_aims option is specified but not if + # they already exist. + # Force it to run if the run_aims option is "change_bin" + # run_aims fixture is defined in conftest.py + if request.param == 1 and run_aims is not False: + binary = aims_bin_path_prompt(run_aims, cwd) + subprocess.run(["bash", f"{cwd}/run_aims.sh", binary, str(run_aims)]) + aims_out_dir = "custom_bin_aims_calcs" + elif run_aims is not False: + aims_out_dir = "custom_bin_aims_calcs" + else: + aims_out_dir = "default_aims_calcs" + + self.ao = AimsOutput( + aims_out=f"{cwd}/fixtures/{aims_out_dir}/{str(request.param)}/aims.out" + ) + + with open(f"{cwd}/test_references.yaml", "r") as references: + self.ref_data = yaml.safe_load(references) + + @property + def _aims_fixture_no(self) -> int: + return int(self.ao.path.split("/")[-2]) + + def test_get_number_of_atoms(self): + if self._aims_fixture_no in [4, 6, 8, 10]: + assert self.ao.get_number_of_atoms() == 2 + else: + assert self.ao.get_number_of_atoms() == 3 + + # TODO + # def test_get_geometry(self): + + # TODO + # def test_get_parameters(self): + + def test_check_exit_normal(self): + if self._aims_fixture_no in [7, 8]: + assert self.ao.check_exit_normal() is False + else: + assert self.ao.check_exit_normal() is True + + def test_get_time_per_scf(self): + # Fail if the absolute tolerance between any values in test vs. reference array is + # greater than 2e-3 + assert np.allclose( + self.ao.get_time_per_scf(), + self.ref_data["timings"][self._aims_fixture_no - 1], + atol=2e-3, + ) + + def test_get_change_of_total_energy_1(self): + """Using default args (final energy change)""" + + final_energies = np.array( + [ + 1.599e-08, + 1.611e-09, + 1.611e-09, + -1.492e-07, + -5.833e-09, + 3.703e-09, + 1.509e-05, + -0.0001144, + 6.018e-06, + 7.119e-06, + ] + ) + + assert ( + abs( + self.ao.get_change_of_total_energy() + - final_energies[self._aims_fixture_no - 1] + ) + < 1e-8 + ) + + def test_get_change_of_total_energy_2(self): + """Get every energy change""" + + # Fail if the absolute tolerance between any values in test vs. reference array is + # greater than 1e-10 + assert np.allclose( + self.ao.get_change_of_total_energy(n_occurrence=None), + self.ref_data["energy_diffs"][self._aims_fixture_no - 1], + atol=1e-8, + ) + + def test_get_change_of_total_energy_3(self): + """Get the 1st energy change""" + + first_energies = [ + 1.408, + -0.1508, + -0.1508, + 0.871, + 1.277, + 0.1063, + 1.19, + 0.871, + -5.561, + -0.07087, + ] + + assert ( + abs( + self.ao.get_change_of_total_energy(n_occurrence=1) + - first_energies[self._aims_fixture_no - 1] + ) + < 1e-8 + ) + + # TODO + # def test_get_change_of_total_energy_4(self): + # """ + # Use an energy invalid indicator + # """ + + # assert np.allclose( + # self.ao.get_change_of_total_energy(n_occurrence=1), + # self.ref_data['all_energies'][self.aims_fixture_no(self.ao) - 1], + # atol=1e-10, + # ) + + # Not necessary to include every possible function argument in the next tests as all + # of the following functions wrap around _get_energy(), which have all been tested in + # the previous 4 tests + + def test_get_change_of_forces(self): + forces = [0.4728, 8.772e-09, 6.684e-12] + + if self._aims_fixture_no in [5, 6, 7]: + assert ( + abs(self.ao.get_change_of_forces() - forces[self._aims_fixture_no - 5]) + < 1e-8 + ) + + else: + with pytest.raises(ValueError): + self.ao.get_change_of_forces() + + # TODO + # def get_change_of_sum_of_eigenvalues(self): + + def test_check_spin_polarised(self): + if self._aims_fixture_no in [2, 3]: + assert self.ao.check_spin_polarised() is True + else: + assert self.ao.check_spin_polarised() is False + + def test_get_convergence_parameters(self): + if self._aims_fixture_no in [7, 8]: + assert ( + self.ao.get_convergence_parameters() == self.ref_data["conv_params"][1] + ) + else: + assert ( + self.ao.get_convergence_parameters() == self.ref_data["conv_params"][0] + ) + + def test_get_final_energy(self): + final_energies = [ + -2080.832254505, + -2080.832254498, + -2080.832254498, + -15785.832821011, + -2080.832254506, + -15802.654211961, + None, + None, + -2081.000809207, + -15804.824029071, + ] + + final_energy = self.ao.get_final_energy() + + if self._aims_fixture_no in [7, 8]: + assert final_energy is None + + else: + assert abs(final_energy - final_energies[self._aims_fixture_no - 1]) < 1e-8 + + def get_n_relaxation_steps_test(self): + n_relaxation_steps = [1, 1, 1, 1, 4, 2, 3, 0, 1, 1] + assert ( + self.ao.get_n_relaxation_steps() + == n_relaxation_steps[self._aims_fixture_no - 1] + ) + + def test_get_n_scf_iters(self): + n_scf_iters = [12, 13, 13, 10, 42, 27, 56, 8, 14, 11] + assert self.ao.get_n_scf_iters() == n_scf_iters[self._aims_fixture_no - 1] + + # TODO + # def get_i_scf_conv_acc_test(self): + + def test_get_n_initial_ks_states(self): + n_initial_ks_states = [11, 22, 48, 20, 11, 20, 11, 20, 11, 20] + + def compare_n_initial_ks_states(): + assert ( + self.ao.get_n_initial_ks_states() + == n_initial_ks_states[self._aims_fixture_no - 1] + ) + + if self._aims_fixture_no in [2, 3]: + compare_n_initial_ks_states() + else: + with pytest.warns(UserWarning): + compare_n_initial_ks_states() + + # TODO + # def test_get_all_ks_eigenvalues(self): + # if self._aims_fixture_no == 1: + # for key in self.ref_data["eigenvalues"].keys(): + # # Check the values are within tolerance and that keys match + # assert np.allclose( + # self.ao.get_all_ks_eigenvalues()[key], + # self.ref_data["eigenvalues"][key], + # atol=1e-8, + # ) + + # elif self._aims_fixture_no in [2, 3]: + # spin_up, spin_down = self.ao.get_all_ks_eigenvalues() + + # for key in self.ref_data["su_eigenvalues"].keys(): + # # Check the values are within tolerance and that keys match + # assert np.allclose( + # spin_up[key], self.ref_data["su_eigenvalues"][key], atol=1e-8 + # ) + # # Repeat for spin_down + # assert np.allclose( + # spin_down[key], self.ref_data["sd_eigenvalues"][key], atol=1e-8 + # ) + + # else: + # with pytest.raises(ValueError): + # self.ao.get_all_ks_eigenvalues() + + # TODO + # def get_final_ks_eigenvalues_test(self): + + def test_get_pert_soc_ks_eigenvalues(self): + if self._aims_fixture_no == 3: + for key in self.ref_data["pert_soc_eigenvalues"].keys(): + # Check the values are within tolerance and that keys match + assert np.allclose( + self.ao.get_pert_soc_ks_eigenvalues()[key], + self.ref_data["pert_soc_eigenvalues"][key], + atol=1e-8, + ) + + elif self._aims_fixture_no == 2: + with pytest.raises(ValueError): + self.ao.get_pert_soc_ks_eigenvalues() + + else: + # Check that it warns and then raises an error + with pytest.warns(UserWarning): + with pytest.raises(ValueError): + self.ao.get_pert_soc_ks_eigenvalues() + + +# TODO +# class TestELSIOutput: diff --git a/tests/test_references.yaml b/tests/test_references.yaml new file mode 100644 index 0000000..6bc4c34 --- /dev/null +++ b/tests/test_references.yaml @@ -0,0 +1,302 @@ +all_energies: +- [0.4663, 1.408, -0.4107, 0.5095, 0.004077, 0.01574, 0.003194, 2.061e-05, 7.458e-06, + -3.721e-07, 3.822e-07, 1.599e-08] +- [0.2611, -0.1508, -0.8718, 0.2303, 0.05782, -0.001582, 0.0006921, -0.0002017, 8.818e-05, + -7.301e-06, -1.198e-06, -5.717e-09, 1.611e-09] +- [0.2611, -0.1508, -0.8718, 0.2303, 0.05782, -0.001582, 0.0006921, -0.0002017, 8.818e-05, + -7.301e-06, -1.198e-06, -5.717e-09, 1.611e-09] +- [0.1202, 0.871, 0.02343, 0.005611, -0.0003911, 0.0002121, -0.0001144, 1.971e-05, + -3.046e-06, -1.492e-07] +- [0.4426, 1.277, -0.3396, 0.453, -0.001744, 0.01792, 0.0002052, 8.435e-06, 1.013e-06, + -2.988e-08, 1.168e-07, 0.002236, 0.0004654, 1.558e-05, 5.188e-09, -8.163e-07, -1.626e-07, + -6.659e-09, -3.078e-10, 0.00177, 0.0003977, 2.452e-05, 3.896e-07, -7.184e-07, -3.316e-07, + -9.563e-09, 3.674e-11, 3.323e-05, 9.511e-06, -1.416e-06, 1.403e-07, -3.84e-07, -1.012e-09, + 6.632e-07, 2.993e-07, -2.037e-07, 1.171e-08, -5.833e-09] +- [0.01644, 0.1063, 0.006359, 0.002794, 0.0001406, 2.873e-05, 5.028e-06, 4.511e-06, + -8.154e-07, -3.882e-08, -2.815e-10, 6.156e-10, -5.771e-06, -2.262e-05, -6.403e-06, + -1.75e-07, -2.497e-08, -4.832e-09, -9.886e-06, -4.329e-05, -1.378e-05, -1.58e-07, + -1.163e-07, -4.241e-08, 3.703e-09] +- [0.4295, 1.19, -0.3077, 0.4194, 0.004835, 0.01161, 0.001319, -2.423e-05, 2.34e-05, + -7.693e-09, 1.223e-07, -8.323e-09, 4.424e-10, 2.738e-10, 1.856e-11, 2.32e-12, 7.734e-13, + 0.0, 0.0, 0.00942, 0.002121, 0.0002073, 1.587e-05, -7.203e-07, -1.062e-06, 1.538e-08, + 1.902e-09, -1.001e-09, -1.868e-10, 8.082e-11, -3.867e-12, 0.0, 0.0, -3.867e-13, + 0.004698, 0.001127, 8.39e-05, 7.677e-06, -7.438e-07, -8.215e-07, 9.776e-09, -2.514e-11, + -2.224e-10, -8.314e-11, 2.243e-11, -3.48e-12, -3.867e-13, 3.867e-13, -3.867e-13, + 0.0001081, 2.93e-05, 1.509e-05] +- [0.1202, 0.871, 0.02343, 0.005611, -0.0003911, 0.0002121, -0.0001144] +- [-0.03058, -5.561, 6.612, 0.601, 0.1137, 0.0394, 0.03515, 0.006006, -0.0006064, + 0.01499, -0.002865, 0.0002206, 7.186e-05, 6.018e-06] +- [-2.158, -0.07087, 0.04834, 0.1184, -0.003943, 0.0103, -0.001032, 0.004801, 0.002519, + 0.001141, 7.119e-06] +conv_params: +- {charge_density: 0.0, sum_eigenvalues: 0.0, total_energy: 0.0, total_force: 0.0} +- {charge_density: 1.0e-10, sum_eigenvalues: 1.0e-06, total_energy: 1.0e-12, total_force: 1.0e-08} +eigenvalues: + eigenvalue_eV: + - [-517.86899, -29.76884, -16.97123, -13.81016, -11.83018, -1.35898, 0.86956, 5.87767, + 6.78809, 8.24353, 13.76122] + - [-516.80985, -29.25115, -16.5258, -13.28054, -11.27807, -1.23398, 1.0433, 6.10722, + 7.0287, 8.40693, 13.91174] + - [-510.781, -26.29177, -14.04123, -10.29043, -8.16828, -0.4706, 2.11215, 7.52221, + 8.53643, 9.3769, 14.83419] + - [-514.79495, -27.52028, -15.02285, -11.51816, -9.45562, -0.69193, 1.73433, 6.94484, + 7.86959, 9.13777, 14.63923] + - [-511.97296, -25.69845, -13.46772, -9.69448, -7.57379, -0.12274, 2.49243, 7.8492, + 8.81138, 9.84746, 15.38738] + - [-511.90237, -25.65042, -13.42673, -9.65082, -7.5282, -0.10606, 2.51358, 7.87239, + 8.8366, 9.8654, 15.41017] + - [-511.52712, -25.36531, -13.18178, -9.38784, -7.25574, -0.00172, 2.64489, 8.01435, + 8.98817, 9.98027, 15.55281] + - [-511.28761, -25.19278, -13.03354, -9.22252, -7.08779, 0.06091, 2.72469, 8.10566, + 9.0845, 10.05204, 15.63608] + - [-511.25438, -25.1656, -13.01025, -9.19703, -7.0615, 0.07136, 2.73763, 8.12002, + 9.09975, 10.06376, 15.65003] + - [-511.26147, -25.17353, -13.01731, -9.20432, -7.06878, 0.068, 2.73354, 8.11585, + 9.09547, 10.06007, 15.64531] + - [-511.26286, -25.17444, -13.01808, -9.20523, -7.0697, 0.06768, 2.73313, 8.11534, + 9.09494, 10.05969, 15.64492] + - [-511.26229, -25.17407, -13.01776, -9.20486, -7.06933, 0.06781, 2.7333, 8.11554, + 9.09515, 10.05984, 15.64509] + - [-511.26229, -25.17408, -13.01777, -9.20487, -7.06934, 0.06781, 2.73329, 8.11554, + 9.09515, 10.05984, 15.64508] + - [-511.26229, -25.17408, -13.01777, -9.20487, -7.06934, 0.06781, 2.73329, 8.11554, + 9.09515, 10.05984, 15.64508] + occupation: + - [2.0, 2.0, 2.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + - [2.0, 2.0, 2.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + - [2.0, 2.0, 2.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + - [2.0, 2.0, 2.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + - [2.0, 2.0, 2.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + - [2.0, 2.0, 2.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + - [2.0, 2.0, 2.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + - [2.0, 2.0, 2.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + - [2.0, 2.0, 2.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + - [2.0, 2.0, 2.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + - [2.0, 2.0, 2.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + - [2.0, 2.0, 2.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + - [2.0, 2.0, 2.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + - [2.0, 2.0, 2.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + state: + - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] + - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] + - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] + - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] + - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] + - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] + - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] + - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] + - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] + - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] + - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] + - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] + - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] + - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] +energy_diffs: +- [0.4663, 1.408, -0.4107, 0.5095, 0.004077, 0.01574, 0.003194, 2.061e-05, 7.458e-06, + -3.721e-07, 3.822e-07, 1.599e-08] +- [0.2611, -0.1508, -0.8718, 0.2303, 0.05782, -0.001582, 0.0006921, -0.0002017, 8.818e-05, + -7.301e-06, -1.198e-06, -5.717e-09, 1.611e-09] +- [0.2611, -0.1508, -0.8718, 0.2303, 0.05782, -0.001582, 0.0006921, -0.0002017, 8.818e-05, + -7.301e-06, -1.198e-06, -5.717e-09, 1.611e-09] +- [0.1202, 0.871, 0.02343, 0.005611, -0.0003911, 0.0002121, -0.0001144, 1.971e-05, + -3.046e-06, -1.492e-07] +- [0.4426, 1.277, -0.3396, 0.453, -0.001744, 0.01792, 0.0002052, 8.435e-06, 1.013e-06, + -2.988e-08, 1.168e-07, -2081.0, 0.002236, 0.0004654, 1.558e-05, 5.188e-09, -8.163e-07, + -1.626e-07, -6.659e-09, -3.078e-10, -2081.0, 0.00177, 0.0003977, 2.452e-05, 3.896e-07, + -7.184e-07, -3.316e-07, -9.563e-09, 3.674e-11, -2081.0, 3.323e-05, 9.511e-06, -1.416e-06, + 1.403e-07, -3.84e-07, -1.012e-09, -2081.0, 6.632e-07, 2.993e-07, -2.037e-07, 1.171e-08, + -5.833e-09] +- [0.01644, 0.1063, 0.006359, 0.002794, 0.0001406, 2.873e-05, 5.028e-06, 4.511e-06, + -8.154e-07, -3.882e-08, -2.815e-10, 6.156e-10, -15800.0, -5.771e-06, -2.262e-05, + -6.403e-06, -1.75e-07, -2.497e-08, -4.832e-09, -15800.0, -9.886e-06, -4.329e-05, + -1.378e-05, -1.58e-07, -1.163e-07, -4.241e-08, 3.703e-09] +- [0.4295, 1.19, -0.3077, 0.4194, 0.004835, 0.01161, 0.001319, -2.423e-05, 2.34e-05, + -7.693e-09, 1.223e-07, -8.323e-09, 4.424e-10, 2.738e-10, 1.856e-11, 2.32e-12, 7.734e-13, + 0.0, 0.0, -2081.0, 0.00942, 0.002121, 0.0002073, 1.587e-05, -7.203e-07, -1.062e-06, + 1.538e-08, 1.902e-09, -1.001e-09, -1.868e-10, 8.082e-11, -3.867e-12, 0.0, 0.0, -3.867e-13, + -2081.0, 0.004698, 0.001127, 8.39e-05, 7.677e-06, -7.438e-07, -8.215e-07, 9.776e-09, + -2.514e-11, -2.224e-10, -8.314e-11, 2.243e-11, -3.48e-12, -3.867e-13, 3.867e-13, + -3.867e-13, -2081.0, 0.0001081, 2.93e-05, 1.509e-05] +- [0.1202, 0.871, 0.02343, 0.005611, -0.0003911, 0.0002121, -0.0001144] +- [-0.03058, -5.561, 6.612, 0.601, 0.1137, 0.0394, 0.03515, 0.006006, -0.0006064, + 0.01499, -0.002865, 0.0002206, 7.186e-05, 6.018e-06] +- [-2.158, -0.07087, 0.04834, 0.1184, -0.003943, 0.0103, -0.001032, 0.004801, 0.002519, + 0.001141, 7.119e-06] +pert_soc_eigenvalues: + eigenvalue_eV: [-511.262291, -511.262291, -25.174078, -25.174077, -13.017798, -13.017797, + -9.204901, -9.2049, -7.069313, -7.069308, 0.067805, 0.067807, 2.733286, 2.733288, + 8.11545, 8.115453, 9.095212, 9.095215, 10.059874, 10.059877, 15.645085, 15.645085, + 21.072085, 21.072085, 24.079014, 24.079016, 26.219576, 26.219577, 30.403992, 30.403994, + 31.362158, 31.362159, 41.232863, 41.232865, 52.742833, 52.742835, 55.352395, 55.352395, + 62.232037, 62.23204, 65.196308, 65.196311, 65.664698, 65.6647, 78.988497, 78.988497, + 87.540326, 87.540326] + level_spacing_eV: [0.0, 0.0, 486.088213, 1.0e-06, 12.156279, 1.0e-06, 3.812896, + 2.0e-06, 2.135587, 5.0e-06, 7.137113, 2.0e-06, 2.665478, 2.0e-06, 5.382162, 2.0e-06, + 0.979759, 3.0e-06, 0.96466, 3.0e-06, 5.585208, 0.0, 5.427, 0.0, 3.006929, 2.0e-06, + 2.14056, 1.0e-06, 4.184415, 2.0e-06, 0.958164, 1.0e-06, 9.870704, 1.0e-06, 11.509968, + 2.0e-06, 2.609559, 0.0, 6.879642, 2.0e-06, 2.964268, 3.0e-06, 0.468387, 1.0e-06, + 13.323797, 0.0, 8.551829, 0.0] + occupation: [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0] + state: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 44, 45, 46, 47, 48] + unperturbed_eigenvalue_eV: [-511.262291, -511.262291, -25.174077, -25.174076, -13.017766, + -13.017765, -9.204869, -9.204868, -7.069342, -7.069337, 0.067807, 0.067809, 2.733291, + 2.733293, 8.115536, 8.115538, 9.095146, 9.095149, 10.059839, 10.059842, 15.645084, + 15.645085, 21.072073, 21.072073, 24.079012, 24.079015, 26.219576, 26.219577, 30.403992, + 30.403994, 31.362156, 31.362157, 41.232863, 41.232865, 52.742834, 52.742836, 55.352393, + 55.352393, 62.232042, 62.232045, 65.196308, 65.196311, 65.664693, 65.664694, 78.988493, + 78.988494, 87.54032, 87.54032] +# sd_eigenvalues: +# eigenvalue_eV: +# - [-516.99626, -27.6931, -14.43195, -12.05831, -10.37048, 0.54454, 3.43369, 6.78259, +# 7.62782, 9.45321, 17.73824] +# - [-515.94456, -27.27757, -14.10768, -11.61468, -9.88909, 0.55882, 3.45285, 6.97129, +# 7.83592, 9.55327, 17.62883] +# - [-507.94087, -24.15203, -11.8137, -8.30806, -6.32908, 0.75431, 3.78614, 8.58317, +# 9.63008, 10.37983, 17.12936] +# - [-514.85453, -27.07332, -14.41899, -11.13836, -9.14838, -0.18978, 2.39589, 7.14015, +# 8.04582, 9.44033, 15.60993] +# - [-512.5688, -26.10328, -13.78916, -10.04339, -7.93146, -0.2342, 2.3602, 7.66115, +# 8.61457, 9.71372, 15.31425] +# - [-511.26244, -25.38186, -13.19142, -9.38371, -7.24212, -0.01559, 2.64569, 8.00287, +# 8.99045, 9.9534, 15.5731] +# - [-511.15924, -25.11325, -12.95825, -9.18235, -7.03228, 0.10724, 2.77874, 8.12604, +# 9.11702, 10.07496, 15.71941] +# - [-511.28912, -25.21204, -13.04425, -9.23609, -7.10317, 0.05965, 2.72535, 8.09718, +# 9.07655, 10.04709, 15.64491] +# - [-511.22391, -25.14004, -12.98471, -9.17045, -7.03788, 0.0853, 2.75512, 8.13622, +# 9.11521, 10.07899, 15.66936] +# - [-511.26214, -25.17764, -13.02074, -9.20712, -7.07152, 0.0665, 2.73197, 8.1143, +# 9.09395, 10.05859, 15.64405] +# - [-511.25631, -25.17128, -13.01534, -9.20186, -7.06621, 0.06892, 2.73477, 8.11731, +# 9.09705, 10.06116, 15.64673] +# - [-511.26221, -25.17401, -13.01772, -9.20486, -7.06931, 0.06782, 2.73331, 8.11552, +# 9.09517, 10.05982, 15.64514] +# - [-511.26237, -25.17412, -13.01779, -9.20491, -7.06939, 0.0678, 2.73329, 8.11551, +# 9.09512, 10.05983, 15.6451] +# - [-511.26229, -25.17408, -13.01777, -9.20487, -7.06934, 0.06781, 2.73329, 8.11554, +# 9.09515, 10.05984, 15.64508] +# - [-511.26229, -25.17408, -13.01777, -9.20487, -7.06934, 0.06781, 2.73329, 8.11554, +# 9.09515, 10.05984, 15.64508] +# occupation: +# - [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] +# - [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] +# - [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] +# - [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] +# - [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] +# - [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] +# - [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] +# - [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] +# - [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] +# - [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] +# - [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] +# - [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] +# - [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] +# - [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] +# - [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] +# state: +# - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] +# - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] +# - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] +# - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] +# - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] +# - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] +# - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] +# - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] +# - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] +# - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] +# - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] +# - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] +# - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] +# - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] +# - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] +# su_eigenvalues: +# eigenvalue_eV: +# - [-517.6604, -30.45955, -17.83482, -14.48079, -12.38289, -1.9008, 0.15183, 5.59143, +# 6.51097, 7.84369, 12.69308] +# - [-516.5708, -29.90038, -17.35373, -13.90306, -11.78314, -1.76025, 0.34759, 5.83883, +# 6.76864, 8.02295, 12.85688] +# - [-508.25758, -25.61589, -13.76957, -9.5498, -7.29267, -0.56021, 2.02599, 7.94853, +# 9.01309, 9.47738, 14.27921] +# - [-515.04061, -27.91927, -15.51907, -11.86362, -9.75342, -1.02731, 1.2906, 6.79387, +# 7.70765, 8.94455, 13.98558] +# - [-512.52721, -26.06166, -13.83143, -10.00905, -7.89826, -0.29415, 2.26263, 7.70537, +# 8.63645, 9.71449, 15.03124] +# - [-511.2305, -25.34407, -13.20809, -9.35607, -7.2142, -0.04552, 2.59472, 8.03466, +# 9.00753, 9.95598, 15.4063] +# - [-511.14874, -25.10678, -12.96626, -9.1822, -7.03091, 0.08738, 2.754, 8.12292, +# 9.11333, 10.06157, 15.67484] +# - [-511.2808, -25.20555, -13.0511, -9.23337, -7.09943, 0.04624, 2.70682, 8.09938, +# 9.07681, 10.04104, 15.60326] +# - [-511.22209, -25.14092, -12.98752, -9.17311, -7.03957, 0.07852, 2.74795, 8.13157, +# 9.11191, 10.07222, 15.66337] +# - [-511.26094, -25.17668, -13.02176, -9.20657, -7.07064, 0.06474, 2.72946, 8.11479, +# 9.09421, 10.05791, 15.638] +# - [-511.25569, -25.17078, -13.01565, -9.20163, -7.06577, 0.06808, 2.7337, 8.1173, +# 9.09706, 10.06062, 15.6445] +# - [-511.26222, -25.17402, -13.01773, -9.20484, -7.06925, 0.06787, 2.73335, 8.11555, +# 9.0952, 10.05986, 15.64517] +# - [-511.26235, -25.17411, -13.0178, -9.2049, -7.06937, 0.06779, 2.73327, 8.11552, +# 9.09513, 10.05982, 15.64505] +# - [-511.26229, -25.17408, -13.01777, -9.20487, -7.06934, 0.06781, 2.73329, 8.11554, +# 9.09515, 10.05984, 15.64508] +# - [-511.26229, -25.17408, -13.01777, -9.20487, -7.06934, 0.06781, 2.73329, 8.11554, +# 9.09515, 10.05984, 15.64508] +# occupation: +# - [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] +# - [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] +# - [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] +# - [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] +# - [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] +# - [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] +# - [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] +# - [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] +# - [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] +# - [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] +# - [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] +# - [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] +# - [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] +# - [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] +# - [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] +# state: +# - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] +# - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] +# - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] +# - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] +# - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] +# - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] +# - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] +# - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] +# - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] +# - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] +# - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] +# - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] +# - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] +# - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] +# - [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] +timings: +- [0.029, 0.031, 0.029, 0.03, 0.03, 0.03, 0.031, 0.031, 0.03, 0.031, 0.032, 0.023] +- [0.034, 0.036, 0.036, 0.036, 0.036, 0.042, 0.036, 0.037, 0.037, 0.037, 0.04, 0.044, 0.033] +- [0.033, 0.033, 0.034, 0.034, 0.034, 0.035, 0.036, 0.036, 0.036, 0.036, 0.036, 0.037, + 0.027] +- [0.649, 0.666, 0.667, 0.666, 0.667, 0.667, 0.667, 0.665, 0.666, 0.326] +- [0.028, 0.028, 0.029, 0.029, 0.029, 0.029, 0.029, 0.029, 0.03, 0.03, 0.072, 0.028, + 0.028, 0.028, 0.028, 0.029, 0.029, 0.03, 0.03, 0.073, 0.028, 0.028, 0.028, 0.028, + 0.028, 0.029, 0.029, 0.03, 0.073, 0.028, 0.028, 0.029, 0.028, 0.029, 0.029, 0.072, + 0.028, 0.028, 0.028, 0.029, 0.028, 0.072] +- [0.785, 0.801, 0.803, 0.808, 0.802, 0.803, 0.802, 0.802, 0.801, 0.803, 2.276, 9.297, + 0.797, 0.79, 0.793, 0.792, 0.794, 2.248, 9.114, 0.797, 0.794, 0.793, 0.793, 0.793, + 0.793, 2.248, 9.248] +- [0.028, 0.028, 0.029, 0.029, 0.029, 0.029, 0.03, 0.03, 0.03, 0.03, 0.03, 0.03, 0.03, + 0.03, 0.03, 0.03, 0.03, 0.073, 0.073, 0.028, 0.028, 0.029, 0.029, 0.029, 0.029, + 0.029, 0.03, 0.03, 0.03, 0.03, 0.03, 0.03, 0.03, 0.073, 0.073, 0.028, 0.028, 0.028, + 0.029, 0.029, 0.029, 0.029, 0.029, 0.031, 0.03, 0.03, 0.03, 0.03, 0.03, 0.073, 0.073, + 0.028, 0.028, 0.028, 0.029, 0.0] +- [0.636, 0.653, 0.652, 0.652, 0.657, 0.65, 0.65, 0.0] +- [0.048, 0.046, 0.046, 0.046, 0.049, 0.047, 0.048, 0.047, 0.047, 0.047, 0.047, 0.047, + 0.047, 0.039] +- [34.786, 33.136, 33.081, 33.97, 33.873, 33.9, 33.933, 33.921, 33.945, 33.936, 33.575]