minushalf.interfaces package

Submodules

minushalf.interfaces.band_projection_file module

Interfaces for files thar contain band projections

class minushalf.interfaces.band_projection_file.BandProjectionFile

Bases: ABC

Class to handle files containing informations about projections of the atoms in bands.

abstract get_band_projection(kpoint: int, band_number: int) dict

Abstract method for return the contribution of each atom orbital in a specific band of an specific kpoint.

minushalf.interfaces.correction module

Correction interface

class minushalf.interfaces.correction.Correction

Bases: ABC

Interface to correction algorithms

abstract execute()

Execute the correction

minushalf.interfaces.potential_file module

Interface for classes that handles with fourier transforms of the potential

class minushalf.interfaces.potential_file.PotentialFile

Bases: ABC

Interface for defining common methods between classes that handles with potential files of different softwares

abstract get_maximum_module_wave_vector() float

Abstract methods returns the maximum modulus of the wave vector in reciprocal space

abstract get_name() float

Abstract methods returns the name of the potential file

abstract get_potential_fourier_transform() list

Abstract methods returns the fourier transform of the potential

abstract to_file(filename: str) None

Abstract methods that output a potential file with a specific filename

abstract to_stringlist() list

Abstract methods that returns a list containing the lines of the potential file

minushalf.interfaces.runner module

Runner abstract class

class minushalf.interfaces.runner.Runner

Bases: ABC

Run softwares that realizes ab initio calculations

abstract run(cwd: str)

Create command and run the subprocess for it

minushalf.interfaces.software_abstract_factory module

Software abstract Factory

class minushalf.interfaces.software_abstract_factory.SoftwaresAbstractFactory

Bases: ABC

Abstract Factory for create instances for each supported software.

abstract get_atoms_map(filename: str, base_path: Optional[str] = None) dict

Abstract method for returns a map of the atomic symbol to its index.

abstract get_band_projection_class(filename: str, base_path: Optional[str] = None) BandProjectionFile

Abstract method for returns the class that handles with the projections of atoms orbitals in the bands.

abstract get_eigenvalues(filename: str, base_path: Optional[str] = None) dict

Abstract method for returns eigenvalues for each band and each kpoint

abstract get_fermi_energy(filename: str, base_path: Optional[str] = None) float

Abstract method for returna energy of the fermi level.

abstract get_nearest_neighbor_distance(ion_index: str, filename: str, base_path: Optional[str] = None) float

Abstract method for returns the nearest neighbor distance for an ion in the solid.

abstract get_number_of_bands(filename: str, base_path: Optional[str] = None) int

Abstract method for returns the number of bands used in the calculation

abstract get_number_of_equal_neighbors(atoms_map: dict, symbol: str, filename: str = 'OUTCAR', base_path: Optional[str] = None) float

Given an map that links atoms symbols with it’s index this function returns the number of neighbors of the atom with equal symbol but different indexes.

Args:

atoms_map (dict): Map the atoms index to their symbol. symbom (str): The symbol of the target atom.

Returns:
number_equal_neighbors (int): Returns the number of neighbors with

same symbol but different indexes.

abstract get_number_of_kpoints(filename: str, base_path: Optional[str] = None) int

Abstract method for returns the number of kpoints used in the calculation

abstract get_potential_class(filename: str, base_path: Optional[str] = None) PotentialFile

Abstract method for returns the potential class

abstract get_runner(command: List[str])

Get a class that run the software for ab initio calculations

Module contents

Init file for interfaces