pymatgen.io.lobster package — pymatgen 2026.3.9 documentation

# pymatgen.io.lobster package

This package implements modules for input and output to and from LOBSTER. It imports the key classes form both lobster.inputs and lobster.outputs to allow most classes to be simply called as pymatgen.io.lobster.Lobsterin for example, to retain backwards compatibility.

## Subpackages

- pymatgen.io.lobster.future package
  - `BWDF`
    - `BWDF.centers`
    - `BWDF.bwdf`
    - `BWDF.bin_width`
    - `BWDF.from_dict()`
    - `BWDF.get_default_filename()`
    - `BWDF.is_cohp`
    - `BWDF.parse_file()`
    - `BWDF.process_data_into_bwdf_centers()`
    - `BWDF.version_processors`
  - `BandOverlaps`
    - `BandOverlaps.band_overlaps`
    - `BandOverlaps.from_dict()`
    - `BandOverlaps.get_default_filename()`
    - `BandOverlaps.has_good_quality_check_occupied_bands()`
    - `BandOverlaps.has_good_quality_max_deviation()`
    - `BandOverlaps.parse_file()`
    - `BandOverlaps.parse_file_v3_2_legacy()`
    - `BandOverlaps.parse_file_v4_0()`
    - `BandOverlaps.version_processors`
  - `CHARGE`
    - `CHARGE.is_lcfo`
    - `CHARGE.centers`
    - `CHARGE.mulliken`
    - `CHARGE.loewdin`
    - `CHARGE.charge_regex`
    - `CHARGE.get_default_filename()`
    - `CHARGE.is_lcfo`
    - `CHARGE.parse_file()`
    - `CHARGE.version_processors`
  - `CHARGE_LCFO`
    - `CHARGE_LCFO.is_lcfo`
    - `CHARGE_LCFO.charge_regex`
    - `CHARGE_LCFO.is_lcfo`
    - `CHARGE_LCFO.version_processors`
  - `COBICAR`
    - `COBICAR.coxxcar_type`
    - `COBICAR.is_lcfo`
    - `COBICAR.coxxcar_type`
    - `COBICAR.get_default_filename()`
    - `COBICAR.is_lcfo`
    - `COBICAR.version_processors`
  - `COBICAR_LCFO`
    - `COBICAR_LCFO.is_lcfo`
    - `COBICAR_LCFO.is_lcfo`
    - `COBICAR_LCFO.version_processors`
  - `COHPCAR`
    - `COHPCAR.coxxcar_type`
    - `COHPCAR.is_lcfo`
    - `COHPCAR.coxxcar_type`
    - `COHPCAR.get_default_filename()`
    - `COHPCAR.is_lcfo`
    - `COHPCAR.version_processors`
  - `COHPCAR_LCFO`
    - `COHPCAR_LCFO.is_lcfo`
    - `COHPCAR_LCFO.is_lcfo`
    - `COHPCAR_LCFO.version_processors`
  - `COOPCAR`
    - `COOPCAR.coxxcar_type`
    - `COOPCAR.coxxcar_type`
    - `COOPCAR.get_default_filename()`
    - `COOPCAR.version_processors`
  - `DOSCAR`
    - `DOSCAR.completedos`
    - `DOSCAR.pdos`
    - `DOSCAR.tdos`
    - `DOSCAR.energies`
    - `DOSCAR.tdensities`
    - `DOSCAR.itdensities`
    - `DOSCAR.is_spin_polarized`
    - `DOSCAR.efermi`
    - `DOSCAR.energies`
    - `DOSCAR.get_default_filename()`
    - `DOSCAR.is_lcfo`
    - `DOSCAR.is_spin_polarized`
    - `DOSCAR.process()`
    - `DOSCAR.version_processors`
  - `DOSCAR_LCFO`
    - `DOSCAR_LCFO.is_lcfo`
    - `DOSCAR_LCFO.is_lcfo`
    - `DOSCAR_LCFO.version_processors`
  - `Fatband`
    - `Fatband.convert_to_numpy_arrays()`
    - `Fatband.from_dict()`
    - `Fatband.get_default_filename()`
    - `Fatband.parse_file()`
    - `Fatband.version_processors`
  - `Fatbands`
    - `Fatbands.efermi`
    - `Fatbands.spins`
    - `Fatbands.kpoints`
    - `Fatbands.filenames`
    - `Fatbands.structure`
    - `Fatbands.reciprocal_lattice`
    - `Fatbands.lobster_version`
    - `Fatbands.fatbands`
    - `Fatbands.as_dict()`
    - `Fatbands.fatbands`
    - `Fatbands.has_spin`
    - `Fatbands.is_spin_polarized`
    - `Fatbands.process()`
  - `GROSSPOP`
    - `GROSSPOP.is_lcfo`
    - `GROSSPOP.populations`
    - `GROSSPOP.spins`
    - `GROSSPOP.get_default_filename()`
    - `GROSSPOP.is_lcfo`
    - `GROSSPOP.parse_file()`
    - `GROSSPOP.version_processors`
  - `GROSSPOP_LCFO`
    - `GROSSPOP_LCFO.is_lcfo`
    - `GROSSPOP_LCFO.populations`
    - `GROSSPOP_LCFO.is_lcfo`
    - `GROSSPOP_LCFO.version_processors`
  - `ICOBILIST`
    - `ICOBILIST.icoxxlist_type`
    - `ICOBILIST.is_lcfo`
    - `ICOBILIST.get_default_filename()`
    - `ICOBILIST.icoxxlist_type`
    - `ICOBILIST.is_lcfo`
    - `ICOBILIST.version_processors`
  - `ICOBILIST_LCFO`
    - `ICOBILIST_LCFO.is_lcfo`
    - `ICOBILIST_LCFO.is_lcfo`
    - `ICOBILIST_LCFO.version_processors`
  - `ICOHPLIST`
    - `ICOHPLIST.icoxxlist_type`
    - `ICOHPLIST.is_lcfo`
    - `ICOHPLIST.get_default_filename()`
    - `ICOHPLIST.icoxxlist_type`
    - `ICOHPLIST.is_lcfo`
    - `ICOHPLIST.version_processors`
  - `ICOHPLIST_LCFO`
    - `ICOHPLIST_LCFO.is_lcfo`
    - `ICOHPLIST_LCFO.is_lcfo`
    - `ICOHPLIST_LCFO.version_processors`
  - `ICOOPLIST`
    - `ICOOPLIST.icoxxlist_type`
    - `ICOOPLIST.get_default_filename()`
    - `ICOOPLIST.icoxxlist_type`
    - `ICOOPLIST.version_processors`
  - `ICOXXLIST`
    - `ICOXXLIST.interactions`
    - `ICOXXLIST.spins`
    - `ICOXXLIST.data`
    - `ICOXXLIST.icoxxlist_type`
    - `ICOXXLIST.is_lcfo`
    - `ICOXXLIST.get_data_by_properties()`
    - `ICOXXLIST.icoxxlist_type`
    - `ICOXXLIST.interactions_regex`
    - `ICOXXLIST.parse_file()`
    - `ICOXXLIST.parse_file_legacy()`
    - `ICOXXLIST.process_data_into_interactions()`
    - `ICOXXLIST.version_processors`
  - `LobsterIn`
    - `LobsterIn.FLOAT_KEYWORDS`
    - `LobsterIn.STRING_KEYWORDS`
    - `LobsterIn.BOOLEAN_KEYWORDS`
    - `LobsterIn.LIST_KEYWORDS`
    - `LobsterIn.AVAILABLE_KEYWORDS`
    - `LobsterIn.AVAILABLE_KEYWORDS`
    - `LobsterIn.BOOLEAN_KEYWORDS`
    - `LobsterIn.FLOAT_KEYWORDS`
    - `LobsterIn.LIST_KEYWORDS`
    - `LobsterIn.STRING_KEYWORDS`
    - `LobsterIn.as_dict()`
    - `LobsterIn.diff()`
    - `LobsterIn.from_dict()`
    - `LobsterIn.from_file()`
    - `LobsterIn.get_all_possible_basis_functions()`
    - `LobsterIn.get_basis()`
    - `LobsterIn.standard_calculations_from_vasp_files()`
    - `LobsterIn.write_INCAR()`
    - `LobsterIn.write_KPOINTS()`
    - `LobsterIn.write_POSCAR_with_standard_primitive()`
    - `LobsterIn.write_lobsterin()`
  - `LobsterMatrices`
    - `LobsterMatrices.matrix_type`
    - `LobsterMatrices.centers`
    - `LobsterMatrices.orbitals`
    - `LobsterMatrices.matrices`
    - `LobsterMatrices.efermi`
    - `LobsterMatrices.as_dict()`
    - `LobsterMatrices.centers`
    - `LobsterMatrices.from_dict()`
    - `LobsterMatrices.get_default_filename()`
    - `LobsterMatrices.get_matrix_type()`
    - `LobsterMatrices.get_onsite_values()`
    - `LobsterMatrices.matrices`
    - `LobsterMatrices.matrix_types`
    - `LobsterMatrices.orbitals`
    - `LobsterMatrices.parse_file()`
    - `LobsterMatrices.version_processors`
  - `LobsterOut`
    - `LobsterOut.basis_functions`
    - `LobsterOut.basis_type`
    - `LobsterOut.charge_spilling`
    - `LobsterOut.dft_program`
    - `LobsterOut.elements`
    - `LobsterOut.has_charge`
    - `LobsterOut.has_cohpcar`
    - `LobsterOut.has_madelung`
    - `LobsterOut.has_coopcar`
    - `LobsterOut.has_cobicar`
    - `LobsterOut.has_doscar`
    - `LobsterOut.has_doscar_lso`
    - `LobsterOut.has_projection`
    - `LobsterOut.has_bandoverlaps`
    - `LobsterOut.has_density_of_energies`
    - `LobsterOut.has_fatbands`
    - `LobsterOut.has_grosspopulation`
    - `LobsterOut.has_polarization`
    - `LobsterOut.info_lines`
    - `LobsterOut.info_orthonormalization`
    - `LobsterOut.is_restart_from_projection`
    - `LobsterOut.lobster_version`
    - `LobsterOut.number_of_spins`
    - `LobsterOut.number_of_threads`
    - `LobsterOut.timing`
    - `LobsterOut.total_spilling`
    - `LobsterOut.warning_lines`
    - `LobsterOut.get_default_filename()`
    - `LobsterOut.get_lobster_version()`
    - `LobsterOut.process()`
    - `LobsterOut.version_processors`
  - `MadelungEnergies`
    - `MadelungEnergies.madelung_energies_mulliken`
    - `MadelungEnergies.madelung_energies_loewdin`
    - `MadelungEnergies.ewald_splitting`
    - `MadelungEnergies.get_default_filename()`
    - `MadelungEnergies.parse_file()`
    - `MadelungEnergies.version_processors`
  - `NcICOBILIST`
    - `NcICOBILIST.interactions`
    - `NcICOBILIST.spins`
    - `NcICOBILIST.data`
    - `NcICOBILIST.get_data_by_properties()`
    - `NcICOBILIST.get_default_filename()`
    - `NcICOBILIST.interactions_regex`
    - `NcICOBILIST.parse_file()`
    - `NcICOBILIST.process_data_into_interactions()`
    - `NcICOBILIST.version_processors`
  - `POLARIZATION`
    - `POLARIZATION.rel_mulliken_pol_vector`
    - `POLARIZATION.rel_loewdin_pol_vector`
    - `POLARIZATION.get_default_filename()`
    - `POLARIZATION.parse_file()`
    - `POLARIZATION.version_processors`
  - `SitePotentials`
    - `SitePotentials.centers`
    - `SitePotentials.site_potentials_mulliken`
    - `SitePotentials.site_potentials_loewdin`
    - `SitePotentials.madelung_energies_mulliken`
    - `SitePotentials.madelung_energies_loewdin`
    - `SitePotentials.ewald_splitting`
    - `SitePotentials.get_default_filename()`
    - `SitePotentials.parse_file()`
    - `SitePotentials.version_processors`
  - `Wavefunction`
    - `Wavefunction.grid`
    - `Wavefunction.points`
    - `Wavefunction.reals`
    - `Wavefunction.imaginaries`
    - `Wavefunction.distances`
    - `Wavefunction.structure`
    - `Wavefunction.from_dict()`
    - `Wavefunction.get_volumetricdata_density()`
    - `Wavefunction.get_volumetricdata_imaginary()`
    - `Wavefunction.get_volumetricdata_real()`
    - `Wavefunction.parse_file()`
    - `Wavefunction.set_volumetric_data()`
    - `Wavefunction.version_processors`
    - `Wavefunction.write_file()`
  - Subpackages
    - pymatgen.io.lobster.future.outputs package
      - `BWDF`
        - `BWDF.centers`
        - `BWDF.bwdf`
        - `BWDF.bin_width`
        - `BWDF.from_dict()`
        - `BWDF.get_default_filename()`
        - `BWDF.is_cohp`
        - `BWDF.parse_file()`
        - `BWDF.process_data_into_bwdf_centers()`
        - `BWDF.version_processors`
      - `BWDFCOHP`
        - `BWDFCOHP.get_default_filename()`
        - `BWDFCOHP.version_processors`
      - `BandOverlaps`
        - `BandOverlaps.band_overlaps`
        - `BandOverlaps.from_dict()`
        - `BandOverlaps.get_default_filename()`
        - `BandOverlaps.has_good_quality_check_occupied_bands()`
        - `BandOverlaps.has_good_quality_max_deviation()`
        - `BandOverlaps.parse_file()`
        - `BandOverlaps.parse_file_v3_2_legacy()`
        - `BandOverlaps.parse_file_v4_0()`
        - `BandOverlaps.version_processors`
      - `CHARGE`
        - `CHARGE.is_lcfo`
        - `CHARGE.centers`
        - `CHARGE.mulliken`
        - `CHARGE.loewdin`
        - `CHARGE.charge_regex`
        - `CHARGE.get_default_filename()`
        - `CHARGE.is_lcfo`
        - `CHARGE.parse_file()`
        - `CHARGE.version_processors`
      - `CHARGE_LCFO`
        - `CHARGE_LCFO.is_lcfo`
        - `CHARGE_LCFO.charge_regex`
        - `CHARGE_LCFO.is_lcfo`
        - `CHARGE_LCFO.version_processors`
      - `COBICAR`
        - `COBICAR.coxxcar_type`
        - `COBICAR.is_lcfo`
        - `COBICAR.coxxcar_type`
        - `COBICAR.get_default_filename()`
        - `COBICAR.is_lcfo`
        - `COBICAR.version_processors`
      - `COBICAR_LCFO`
        - `COBICAR_LCFO.is_lcfo`
        - `COBICAR_LCFO.is_lcfo`
        - `COBICAR_LCFO.version_processors`
      - `COHPCAR`
        - `COHPCAR.coxxcar_type`
        - `COHPCAR.is_lcfo`
        - `COHPCAR.coxxcar_type`
        - `COHPCAR.get_default_filename()`
        - `COHPCAR.is_lcfo`
        - `COHPCAR.version_processors`
      - `COHPCAR_LCFO`
        - `COHPCAR_LCFO.is_lcfo`
        - `COHPCAR_LCFO.is_lcfo`
        - `COHPCAR_LCFO.version_processors`
      - `COOPCAR`
        - `COOPCAR.coxxcar_type`
        - `COOPCAR.coxxcar_type`
        - `COOPCAR.get_default_filename()`
        - `COOPCAR.version_processors`
      - `COXXCAR`
        - `COXXCAR.filename`
        - `COXXCAR.num_bonds`
        - `COXXCAR.num_data`
        - `COXXCAR.efermi`
        - `COXXCAR.spins`
        - `COXXCAR.interactions`
        - `COXXCAR.data`
        - `COXXCAR.coxxcar_type`
        - `COXXCAR.energies`
        - `COXXCAR.get_data_by_properties()`
        - `COXXCAR.get_data_indices_by_properties()`
        - `COXXCAR.interaction_indices_to_data_indices_mapping()`
        - `COXXCAR.interactions_regex`
        - `COXXCAR.parse_bonds()`
        - `COXXCAR.parse_data()`
        - `COXXCAR.parse_file()`
        - `COXXCAR.parse_header()`
        - `COXXCAR.process_data_into_interactions()`
        - `COXXCAR.version_processors`
      - `DOSCAR`
        - `DOSCAR.completedos`
        - `DOSCAR.pdos`
        - `DOSCAR.tdos`
        - `DOSCAR.energies`
        - `DOSCAR.tdensities`
        - `DOSCAR.itdensities`
        - `DOSCAR.is_spin_polarized`
        - `DOSCAR.efermi`
        - `DOSCAR.energies`
        - `DOSCAR.get_default_filename()`
        - `DOSCAR.integrated_total_dos`
        - `DOSCAR.is_lcfo`
        - `DOSCAR.is_spin_polarized`
        - `DOSCAR.process()`
        - `DOSCAR.projected_dos`
        - `DOSCAR.total_dos`
        - `DOSCAR.version_processors`
      - `DOSCAR_LCFO`
        - `DOSCAR_LCFO.is_lcfo`
        - `DOSCAR_LCFO.is_lcfo`
        - `DOSCAR_LCFO.version_processors`
      - `Fatband`
        - `Fatband.convert_to_numpy_arrays()`
        - `Fatband.from_dict()`
        - `Fatband.get_default_filename()`
        - `Fatband.parse_file()`
        - `Fatband.version_processors`
      - `Fatbands`
        - `Fatbands.efermi`
        - `Fatbands.spins`
        - `Fatbands.kpoints`
        - `Fatbands.filenames`
        - `Fatbands.structure`
        - `Fatbands.reciprocal_lattice`
        - `Fatbands.lobster_version`
        - `Fatbands.fatbands`
        - `Fatbands.as_dict()`
        - `Fatbands.fatbands`
        - `Fatbands.has_spin`
        - `Fatbands.is_spin_polarized`
        - `Fatbands.process()`
      - `GROSSPOP`
        - `GROSSPOP.is_lcfo`
        - `GROSSPOP.populations`
        - `GROSSPOP.spins`
        - `GROSSPOP.get_default_filename()`
        - `GROSSPOP.is_lcfo`
        - `GROSSPOP.parse_file()`
        - `GROSSPOP.version_processors`
      - `GROSSPOP_LCFO`
        - `GROSSPOP_LCFO.is_lcfo`
        - `GROSSPOP_LCFO.populations`
        - `GROSSPOP_LCFO.is_lcfo`
        - `GROSSPOP_LCFO.version_processors`
      - `ICOBILIST`
        - `ICOBILIST.icoxxlist_type`
        - `ICOBILIST.is_lcfo`
        - `ICOBILIST.get_default_filename()`
        - `ICOBILIST.icoxxlist_type`
        - `ICOBILIST.is_lcfo`
        - `ICOBILIST.version_processors`
      - `ICOBILIST_LCFO`
        - `ICOBILIST_LCFO.is_lcfo`
        - `ICOBILIST_LCFO.is_lcfo`
        - `ICOBILIST_LCFO.version_processors`
      - `ICOHPLIST`
        - `ICOHPLIST.icoxxlist_type`
        - `ICOHPLIST.is_lcfo`
        - `ICOHPLIST.get_default_filename()`
        - `ICOHPLIST.icoxxlist_type`
        - `ICOHPLIST.is_lcfo`
        - `ICOHPLIST.version_processors`
      - `ICOHPLIST_LCFO`
        - `ICOHPLIST_LCFO.is_lcfo`
        - `ICOHPLIST_LCFO.is_lcfo`
        - `ICOHPLIST_LCFO.version_processors`
      - `ICOOPLIST`
        - `ICOOPLIST.icoxxlist_type`
        - `ICOOPLIST.get_default_filename()`
        - `ICOOPLIST.icoxxlist_type`
        - `ICOOPLIST.version_processors`
      - `ICOXXLIST`
        - `ICOXXLIST.interactions`
        - `ICOXXLIST.spins`
        - `ICOXXLIST.data`
        - `ICOXXLIST.icoxxlist_type`
        - `ICOXXLIST.is_lcfo`
        - `ICOXXLIST.get_data_by_properties()`
        - `ICOXXLIST.icoxxlist_type`
        - `ICOXXLIST.interactions_regex`
        - `ICOXXLIST.parse_file()`
        - `ICOXXLIST.parse_file_legacy()`
        - `ICOXXLIST.process_data_into_interactions()`
        - `ICOXXLIST.version_processors`
      - `LobsterMatrices`
        - `LobsterMatrices.matrix_type`
        - `LobsterMatrices.centers`
        - `LobsterMatrices.orbitals`
        - `LobsterMatrices.matrices`
        - `LobsterMatrices.efermi`
        - `LobsterMatrices.as_dict()`
        - `LobsterMatrices.centers`
        - `LobsterMatrices.from_dict()`
        - `LobsterMatrices.get_default_filename()`
        - `LobsterMatrices.get_matrix_type()`
        - `LobsterMatrices.get_onsite_values()`
        - `LobsterMatrices.matrices`
        - `LobsterMatrices.matrix_types`
        - `LobsterMatrices.orbitals`
        - `LobsterMatrices.parse_file()`
        - `LobsterMatrices.version_processors`
      - `LobsterOut`
        - `LobsterOut.basis_functions`
        - `LobsterOut.basis_type`
        - `LobsterOut.charge_spilling`
        - `LobsterOut.dft_program`
        - `LobsterOut.elements`
        - `LobsterOut.has_charge`
        - `LobsterOut.has_cohpcar`
        - `LobsterOut.has_madelung`
        - `LobsterOut.has_coopcar`
        - `LobsterOut.has_cobicar`
        - `LobsterOut.has_doscar`
        - `LobsterOut.has_doscar_lso`
        - `LobsterOut.has_projection`
        - `LobsterOut.has_bandoverlaps`
        - `LobsterOut.has_density_of_energies`
        - `LobsterOut.has_fatbands`
        - `LobsterOut.has_grosspopulation`
        - `LobsterOut.has_polarization`
        - `LobsterOut.info_lines`
        - `LobsterOut.info_orthonormalization`
        - `LobsterOut.is_restart_from_projection`
        - `LobsterOut.lobster_version`
        - `LobsterOut.number_of_spins`
        - `LobsterOut.number_of_threads`
        - `LobsterOut.timing`
        - `LobsterOut.total_spilling`
        - `LobsterOut.warning_lines`
        - `LobsterOut.get_default_filename()`
        - `LobsterOut.get_lobster_version()`
        - `LobsterOut.process()`
        - `LobsterOut.version_processors`
      - `MadelungEnergies`
        - `MadelungEnergies.madelung_energies_mulliken`
        - `MadelungEnergies.madelung_energies_loewdin`
        - `MadelungEnergies.ewald_splitting`
        - `MadelungEnergies.get_default_filename()`
        - `MadelungEnergies.parse_file()`
        - `MadelungEnergies.version_processors`
      - `NcICOBILIST`
        - `NcICOBILIST.interactions`
        - `NcICOBILIST.spins`
        - `NcICOBILIST.data`
        - `NcICOBILIST.get_data_by_properties()`
        - `NcICOBILIST.get_default_filename()`
        - `NcICOBILIST.interactions_regex`
        - `NcICOBILIST.parse_file()`
        - `NcICOBILIST.process_data_into_interactions()`
        - `NcICOBILIST.version_processors`
      - `POLARIZATION`
        - `POLARIZATION.rel_mulliken_pol_vector`
        - `POLARIZATION.rel_loewdin_pol_vector`
        - `POLARIZATION.get_default_filename()`
        - `POLARIZATION.parse_file()`
        - `POLARIZATION.version_processors`
      - `SitePotentials`
        - `SitePotentials.centers`
        - `SitePotentials.site_potentials_mulliken`
        - `SitePotentials.site_potentials_loewdin`
        - `SitePotentials.madelung_energies_mulliken`
        - `SitePotentials.madelung_energies_loewdin`
        - `SitePotentials.ewald_splitting`
        - `SitePotentials.get_default_filename()`
        - `SitePotentials.parse_file()`
        - `SitePotentials.version_processors`
      - `Wavefunction`
        - `Wavefunction.grid`
        - `Wavefunction.points`
        - `Wavefunction.reals`
        - `Wavefunction.imaginaries`
        - `Wavefunction.distances`
        - `Wavefunction.structure`
        - `Wavefunction.from_dict()`
        - `Wavefunction.get_volumetricdata_density()`
        - `Wavefunction.get_volumetricdata_imaginary()`
        - `Wavefunction.get_volumetricdata_real()`
        - `Wavefunction.parse_file()`
        - `Wavefunction.set_volumetric_data()`
        - `Wavefunction.version_processors`
        - `Wavefunction.write_file()`
      - Submodules
      - pymatgen.io.lobster.future.outputs.bands module
        - `BandOverlaps`
          - `BandOverlaps.band_overlaps`
          - `BandOverlaps.from_dict()`
          - `BandOverlaps.get_default_filename()`
          - `BandOverlaps.has_good_quality_check_occupied_bands()`
          - `BandOverlaps.has_good_quality_max_deviation()`
          - `BandOverlaps.parse_file()`
          - `BandOverlaps.parse_file_v3_2_legacy()`
          - `BandOverlaps.parse_file_v4_0()`
          - `BandOverlaps.version_processors`
        - `Fatband`
          - `Fatband.convert_to_numpy_arrays()`
          - `Fatband.from_dict()`
          - `Fatband.get_default_filename()`
          - `Fatband.parse_file()`
          - `Fatband.version_processors`
        - `Fatbands`
          - `Fatbands.efermi`
          - `Fatbands.spins`
          - `Fatbands.kpoints`
          - `Fatbands.filenames`
          - `Fatbands.structure`
          - `Fatbands.reciprocal_lattice`
          - `Fatbands.lobster_version`
          - `Fatbands.fatbands`
          - `Fatbands.as_dict()`
          - `Fatbands.fatbands`
          - `Fatbands.has_spin`
          - `Fatbands.is_spin_polarized`
          - `Fatbands.process()`
      - pymatgen.io.lobster.future.outputs.coxxcar module
        - `COBICAR`
          - `COBICAR.coxxcar_type`
          - `COBICAR.is_lcfo`
          - `COBICAR.coxxcar_type`
          - `COBICAR.get_default_filename()`
          - `COBICAR.is_lcfo`
          - `COBICAR.version_processors`
        - `COBICAR_LCFO`
          - `COBICAR_LCFO.is_lcfo`
          - `COBICAR_LCFO.is_lcfo`
          - `COBICAR_LCFO.version_processors`
        - `COHPCAR`
          - `COHPCAR.coxxcar_type`
          - `COHPCAR.is_lcfo`
          - `COHPCAR.coxxcar_type`
          - `COHPCAR.get_default_filename()`
          - `COHPCAR.is_lcfo`
          - `COHPCAR.version_processors`
        - `COHPCAR_LCFO`
          - `COHPCAR_LCFO.is_lcfo`
          - `COHPCAR_LCFO.is_lcfo`
          - `COHPCAR_LCFO.version_processors`
        - `COOPCAR`
          - `COOPCAR.coxxcar_type`
          - `COOPCAR.coxxcar_type`
          - `COOPCAR.get_default_filename()`
          - `COOPCAR.version_processors`
        - `COXXCAR`
          - `COXXCAR.filename`
          - `COXXCAR.num_bonds`
          - `COXXCAR.num_data`
          - `COXXCAR.efermi`
          - `COXXCAR.spins`
          - `COXXCAR.interactions`
          - `COXXCAR.data`
          - `COXXCAR.coxxcar_type`
          - `COXXCAR.energies`
          - `COXXCAR.get_data_by_properties()`
          - `COXXCAR.get_data_indices_by_properties()`
          - `COXXCAR.interaction_indices_to_data_indices_mapping()`
          - `COXXCAR.interactions_regex`
          - `COXXCAR.parse_bonds()`
          - `COXXCAR.parse_data()`
          - `COXXCAR.parse_file()`
          - `COXXCAR.parse_header()`
          - `COXXCAR.process_data_into_interactions()`
          - `COXXCAR.version_processors`
      - pymatgen.io.lobster.future.outputs.doscar module
        - `DOSCAR`
          - `DOSCAR.completedos`
          - `DOSCAR.pdos`
          - `DOSCAR.tdos`
          - `DOSCAR.energies`
          - `DOSCAR.tdensities`
          - `DOSCAR.itdensities`
          - `DOSCAR.is_spin_polarized`
          - `DOSCAR.efermi`
          - `DOSCAR.energies`
          - `DOSCAR.get_default_filename()`
          - `DOSCAR.integrated_total_dos`
          - `DOSCAR.is_lcfo`
          - `DOSCAR.is_spin_polarized`
          - `DOSCAR.process()`
          - `DOSCAR.projected_dos`
          - `DOSCAR.total_dos`
          - `DOSCAR.version_processors`
        - `DOSCAR_LCFO`
          - `DOSCAR_LCFO.is_lcfo`
          - `DOSCAR_LCFO.is_lcfo`
          - `DOSCAR_LCFO.version_processors`
      - pymatgen.io.lobster.future.outputs.icoxxlist module
        - `ICOBILIST`
          - `ICOBILIST.icoxxlist_type`
          - `ICOBILIST.is_lcfo`
          - `ICOBILIST.get_default_filename()`
          - `ICOBILIST.icoxxlist_type`
          - `ICOBILIST.is_lcfo`
          - `ICOBILIST.version_processors`
        - `ICOBILIST_LCFO`
          - `ICOBILIST_LCFO.is_lcfo`
          - `ICOBILIST_LCFO.is_lcfo`
          - `ICOBILIST_LCFO.version_processors`
        - `ICOHPLIST`
          - `ICOHPLIST.icoxxlist_type`
          - `ICOHPLIST.is_lcfo`
          - `ICOHPLIST.get_default_filename()`
          - `ICOHPLIST.icoxxlist_type`
          - `ICOHPLIST.is_lcfo`
          - `ICOHPLIST.version_processors`
        - `ICOHPLIST_LCFO`
          - `ICOHPLIST_LCFO.is_lcfo`
          - `ICOHPLIST_LCFO.is_lcfo`
          - `ICOHPLIST_LCFO.version_processors`
        - `ICOOPLIST`
          - `ICOOPLIST.icoxxlist_type`
          - `ICOOPLIST.get_default_filename()`
          - `ICOOPLIST.icoxxlist_type`
          - `ICOOPLIST.version_processors`
        - `ICOXXLIST`
          - `ICOXXLIST.interactions`
          - `ICOXXLIST.spins`
          - `ICOXXLIST.data`
          - `ICOXXLIST.icoxxlist_type`
          - `ICOXXLIST.is_lcfo`
          - `ICOXXLIST.get_data_by_properties()`
          - `ICOXXLIST.icoxxlist_type`
          - `ICOXXLIST.interactions_regex`
          - `ICOXXLIST.parse_file()`
          - `ICOXXLIST.parse_file_legacy()`
          - `ICOXXLIST.process_data_into_interactions()`
          - `ICOXXLIST.version_processors`
        - `NcICOBILIST`
          - `NcICOBILIST.interactions`
          - `NcICOBILIST.spins`
          - `NcICOBILIST.data`
          - `NcICOBILIST.get_data_by_properties()`
          - `NcICOBILIST.get_default_filename()`
          - `NcICOBILIST.interactions_regex`
          - `NcICOBILIST.parse_file()`
          - `NcICOBILIST.process_data_into_interactions()`
          - `NcICOBILIST.version_processors`
      - pymatgen.io.lobster.future.outputs.lobsterout module
        - `LobsterOut`
          - `LobsterOut.basis_functions`
          - `LobsterOut.basis_type`
          - `LobsterOut.charge_spilling`
          - `LobsterOut.dft_program`
          - `LobsterOut.elements`
          - `LobsterOut.has_charge`
          - `LobsterOut.has_cohpcar`
          - `LobsterOut.has_madelung`
          - `LobsterOut.has_coopcar`
          - `LobsterOut.has_cobicar`
          - `LobsterOut.has_doscar`
          - `LobsterOut.has_doscar_lso`
          - `LobsterOut.has_projection`
          - `LobsterOut.has_bandoverlaps`
          - `LobsterOut.has_density_of_energies`
          - `LobsterOut.has_fatbands`
          - `LobsterOut.has_grosspopulation`
          - `LobsterOut.has_polarization`
          - `LobsterOut.info_lines`
          - `LobsterOut.info_orthonormalization`
          - `LobsterOut.is_restart_from_projection`
          - `LobsterOut.lobster_version`
          - `LobsterOut.number_of_spins`
          - `LobsterOut.number_of_threads`
          - `LobsterOut.timing`
          - `LobsterOut.total_spilling`
          - `LobsterOut.warning_lines`
          - `LobsterOut.get_default_filename()`
          - `LobsterOut.get_lobster_version()`
          - `LobsterOut.process()`
          - `LobsterOut.version_processors`
      - pymatgen.io.lobster.future.outputs.misc module
        - `BWDF`
          - `BWDF.centers`
          - `BWDF.bwdf`
          - `BWDF.bin_width`
          - `BWDF.from_dict()`
          - `BWDF.get_default_filename()`
          - `BWDF.is_cohp`
          - `BWDF.parse_file()`
          - `BWDF.process_data_into_bwdf_centers()`
          - `BWDF.version_processors`
        - `BWDFCOHP`
          - `BWDFCOHP.get_default_filename()`
          - `BWDFCOHP.version_processors`
        - `LobsterMatrices`
          - `LobsterMatrices.matrix_type`
          - `LobsterMatrices.centers`
          - `LobsterMatrices.orbitals`
          - `LobsterMatrices.matrices`
          - `LobsterMatrices.efermi`
          - `LobsterMatrices.as_dict()`
          - `LobsterMatrices.centers`
          - `LobsterMatrices.from_dict()`
          - `LobsterMatrices.get_default_filename()`
          - `LobsterMatrices.get_matrix_type()`
          - `LobsterMatrices.get_onsite_values()`
          - `LobsterMatrices.matrices`
          - `LobsterMatrices.matrix_types`
          - `LobsterMatrices.orbitals`
          - `LobsterMatrices.parse_file()`
          - `LobsterMatrices.version_processors`
        - `MadelungEnergies`
          - `MadelungEnergies.madelung_energies_mulliken`
          - `MadelungEnergies.madelung_energies_loewdin`
          - `MadelungEnergies.ewald_splitting`
          - `MadelungEnergies.get_default_filename()`
          - `MadelungEnergies.parse_file()`
          - `MadelungEnergies.version_processors`
        - `POLARIZATION`
          - `POLARIZATION.rel_mulliken_pol_vector`
          - `POLARIZATION.rel_loewdin_pol_vector`
          - `POLARIZATION.get_default_filename()`
          - `POLARIZATION.parse_file()`
          - `POLARIZATION.version_processors`
        - `SitePotentials`
          - `SitePotentials.centers`
          - `SitePotentials.site_potentials_mulliken`
          - `SitePotentials.site_potentials_loewdin`
          - `SitePotentials.madelung_energies_mulliken`
          - `SitePotentials.madelung_energies_loewdin`
          - `SitePotentials.ewald_splitting`
          - `SitePotentials.get_default_filename()`
          - `SitePotentials.parse_file()`
          - `SitePotentials.version_processors`
        - `Wavefunction`
          - `Wavefunction.grid`
          - `Wavefunction.points`
          - `Wavefunction.reals`
          - `Wavefunction.imaginaries`
          - `Wavefunction.distances`
          - `Wavefunction.structure`
          - `Wavefunction.from_dict()`
          - `Wavefunction.get_volumetricdata_density()`
          - `Wavefunction.get_volumetricdata_imaginary()`
          - `Wavefunction.get_volumetricdata_real()`
          - `Wavefunction.parse_file()`
          - `Wavefunction.set_volumetric_data()`
          - `Wavefunction.version_processors`
          - `Wavefunction.write_file()`
        - `get_orb_from_str()`
      - pymatgen.io.lobster.future.outputs.populations module
        - `CHARGE`
          - `CHARGE.is_lcfo`
          - `CHARGE.centers`
          - `CHARGE.mulliken`
          - `CHARGE.loewdin`
          - `CHARGE.charge_regex`
          - `CHARGE.get_default_filename()`
          - `CHARGE.is_lcfo`
          - `CHARGE.parse_file()`
          - `CHARGE.version_processors`
        - `CHARGE_LCFO`
          - `CHARGE_LCFO.is_lcfo`
          - `CHARGE_LCFO.charge_regex`
          - `CHARGE_LCFO.is_lcfo`
          - `CHARGE_LCFO.version_processors`
        - `GROSSPOP`
          - `GROSSPOP.is_lcfo`
          - `GROSSPOP.populations`
          - `GROSSPOP.spins`
          - `GROSSPOP.get_default_filename()`
          - `GROSSPOP.is_lcfo`
          - `GROSSPOP.parse_file()`
          - `GROSSPOP.version_processors`
        - `GROSSPOP_LCFO`
          - `GROSSPOP_LCFO.is_lcfo`
          - `GROSSPOP_LCFO.populations`
          - `GROSSPOP_LCFO.is_lcfo`
          - `GROSSPOP_LCFO.version_processors`
  - Submodules
  - pymatgen.io.lobster.future.constants module
    - `LOBSTER_VERSION`
  - pymatgen.io.lobster.future.core module
    - `LobsterFile`
      - `LobsterFile.filename`
      - `LobsterFile.lobster_version`
      - `LobsterFile.version_processors`
      - `LobsterFile.spins`
      - `LobsterFile.as_dict()`
      - `LobsterFile.check_version()`
      - `LobsterFile.from_dict()`
      - `LobsterFile.get_default_filename()`
      - `LobsterFile.get_file_version()`
      - `LobsterFile.has_spin`
      - `LobsterFile.is_spin_polarized`
      - `LobsterFile.iterate_lines()`
      - `LobsterFile.lines`
      - `LobsterFile.process()`
      - `LobsterFile.spins`
      - `LobsterFile.version_processors`
    - `LobsterInteractionsHolder`
      - `LobsterInteractionsHolder.interactions`
      - `LobsterInteractionsHolder.data`
      - `LobsterInteractionsHolder.from_dict()`
      - `LobsterInteractionsHolder.get_interaction_indices_by_properties()`
      - `LobsterInteractionsHolder.get_interactions_by_properties()`
      - `LobsterInteractionsHolder.get_label_from_interaction()`
      - `LobsterInteractionsHolder.interactions`
      - `LobsterInteractionsHolder.process_data_into_interactions()`
      - `LobsterInteractionsHolder.version_processors`
  - pymatgen.io.lobster.future.inputs module
    - `LobsterIn`
      - `LobsterIn.FLOAT_KEYWORDS`
      - `LobsterIn.STRING_KEYWORDS`
      - `LobsterIn.BOOLEAN_KEYWORDS`
      - `LobsterIn.LIST_KEYWORDS`
      - `LobsterIn.AVAILABLE_KEYWORDS`
      - `LobsterIn.AVAILABLE_KEYWORDS`
      - `LobsterIn.BOOLEAN_KEYWORDS`
      - `LobsterIn.FLOAT_KEYWORDS`
      - `LobsterIn.LIST_KEYWORDS`
      - `LobsterIn.STRING_KEYWORDS`
      - `LobsterIn.as_dict()`
      - `LobsterIn.diff()`
      - `LobsterIn.from_dict()`
      - `LobsterIn.from_file()`
      - `LobsterIn.get_all_possible_basis_functions()`
      - `LobsterIn.get_basis()`
      - `LobsterIn.standard_calculations_from_vasp_files()`
      - `LobsterIn.write_INCAR()`
      - `LobsterIn.write_KPOINTS()`
      - `LobsterIn.write_POSCAR_with_standard_primitive()`
      - `LobsterIn.write_lobsterin()`
    - `get_all_possible_basis_combinations()`
  - pymatgen.io.lobster.future.lobsterenv module
    - `LobsterNeighbors`
  - pymatgen.io.lobster.future.types module
    - `LobsterBandOverlaps`
      - `LobsterBandOverlaps.k_points`
      - `LobsterBandOverlaps.matrices`
      - `LobsterBandOverlaps.max_deviations`
      - `LobsterBandOverlaps.k_points`
      - `LobsterBandOverlaps.matrices`
      - `LobsterBandOverlaps.max_deviations`
    - `LobsterFatband`
      - `LobsterFatband.center`
      - `LobsterFatband.orbital`
      - `LobsterFatband.energies`
      - `LobsterFatband.projections`
      - `LobsterFatband.center`
      - `LobsterFatband.energies`
      - `LobsterFatband.orbital`
      - `LobsterFatband.projections`
    - `LobsterFatbands`
      - `LobsterFatbands.k_points`
      - `LobsterFatbands.bands`
      - `LobsterFatbands.bands`
      - `LobsterFatbands.k_points`
    - `LobsterInteraction`
      - `LobsterInteraction.index`
      - `LobsterInteraction.centers`
      - `LobsterInteraction.cells`
      - `LobsterInteraction.orbitals`
      - `LobsterInteraction.length`
      - `LobsterInteraction.cells`
      - `LobsterInteraction.centers`
      - `LobsterInteraction.index`
      - `LobsterInteraction.length`
      - `LobsterInteraction.orbitals`
    - `LobsterInteractionData`
      - `LobsterInteractionData.coxx`
      - `LobsterInteractionData.icoxx`
      - `LobsterInteractionData.cells`
      - `LobsterInteractionData.centers`
      - `LobsterInteractionData.coxx`
      - `LobsterInteractionData.icoxx`
      - `LobsterInteractionData.index`
      - `LobsterInteractionData.length`
      - `LobsterInteractionData.orbitals`
  - pymatgen.io.lobster.future.utils module
    - `convert_spin_keys()`
    - `natural_sort()`
    - `parse_orbital_from_text()`
    - `restore_spin_keys()`
  - pymatgen.io.lobster.future.versioning module
    - `version_processor()`

## Submodules

## pymatgen.io.lobster.inputs module

Module for reading LOBSTER input files. For more information on LOBSTER see www.cohp.de.

If you use this module, please cite: J. George, G. Petretto, A. Naik, M. Esters, A. J. Jackson, R. Nelson, R. Dronskowski, G.-M. Rignanese, G. Hautier, “Automated Bonding Analysis with Crystal Orbital Hamilton Populations”, ChemPlusChem 2022, e202200123, DOI: 10.1002/cplu.202200123.

class Lobsterin(settingsdict: dict)

  Bases: `UserDict`, `MSONable`

  Handle and generate lobsterin files. Furthermore, it can also modify INCAR files for LOBSTER, generate KPOINTS files for fatband calculations in LOBSTER, and generate the standard primitive cells in a POSCAR file that are needed for the fatband calculations. There are also several standard lobsterin files that can be easily generated.

  Reminder: lobsterin keywords are not case sensitive.

  Parameters:

    settingsdict – dict to initialize Lobsterin.

  AVAILABLE_KEYWORDS: ClassVar[dict[str, str]] = {'autorotate': 'autoRotate', 'bandwisespilling': 'bandwiseSpilling', 'basisfunctions': 'basisfunctions', 'basisrotation': 'basisRotation', 'basisset': 'basisSet', 'bwdf': 'BWDF', 'bwdfcohp': 'BWDFCOHP', 'cobibetween': 'cobiBetween', 'cohpbetween': 'cohpbetween', 'cohpendenergy': 'COHPendEnergy', 'cohpgenerator': 'cohpGenerator', 'cohpstartenergy': 'COHPstartEnergy', 'cohpsteps': 'COHPSteps', 'createfatband': 'createFatband', 'customstoforatom': 'customSTOforAtom', 'densityofenergy': 'DensityOfEnergy', 'donotignoreexcessivebands': 'doNotIgnoreExcessiveBands', 'donotorthogonalizebasis': 'doNotOrthogonalizeBasis', 'donotuseabsolutespilling': 'doNotUseAbsoluteSpilling', 'ewaldsum': 'EwaldSum', 'forceenergyrange': 'forceEnergyRange', 'forcev1hmatrix': 'forceV1HMatrix', 'gaussiansmearingwidth': 'gaussianSmearingWidth', 'gridbufferforprinting': 'gridBufferForPrinting', 'griddensityforprinting': 'gridDensityForPrinting', 'kpointwisespilling': 'kpointwiseSpilling', 'kspacecohp': 'kSpaceCOHP', 'loadprojectionfromfile': 'loadProjectionFromFile', 'lsodos': 'LSODOS', 'molecule': 'molecule', 'nofftforvisualization': 'noFFTforVisualization', 'nomemorymappedfiles': 'noMemoryMappedFiles', 'onlyreadvasprun.xml': 'onlyReadVasprun.xml', 'printlcaorealspacewavefunction': 'printLCAORealSpaceWavefunction', 'printlmosonatoms': 'printLmosOnAtoms', 'printlmosonatomswriteatomicdensities': 'printLmosOnAtomswriteAtomicDensities', 'printmofeatomwise': 'printMofeAtomWise', 'printmofemoleculewise': 'printMofeMoleculeWise', 'printpawrealspacewavefunction': 'printPAWRealSpaceWavefunction', 'printtotalspilling': 'printTotalSpilling', 'realspacehamiltonian': 'realspaceHamiltonian', 'realspaceoverlap': 'realspaceOverlap', 'rmsp': 'RMSp', 'saveprojectiontofile': 'saveProjectionToFile', 'skipcar': 'skipCar', 'skipcobi': 'skipcobi', 'skipcohp': 'skipcohp', 'skipcoop': 'skipcoop', 'skipdos': 'skipdos', 'skipgrosspopulation': 'skipGrossPopulation', 'skipmadelungenergy': 'skipMadelungEnergy', 'skipmofe': 'skipMOFE', 'skipmolecularorbitals': 'skipMolecularOrbitals', 'skippaworthonormalitytest': 'skipPAWOrthonormalityTest', 'skippopulationanalysis': 'skipPopulationAnalysis', 'skipprojection': 'skipProjection', 'skipreorthonormalization': 'skipReOrthonormalization', 'usedecimalplaces': 'useDecimalPlaces', 'useoriginaltetrahedronmethod': 'useOriginalTetrahedronMethod', 'userecommendedbasisfunctions': 'userecommendedbasisfunctions', 'writeatomicorbitals': 'writeAtomicOrbitals', 'writebasisfunctions': 'writeBasisFunctions', 'writematricestofile': 'writeMatricesToFile'}
  BOOLEAN_KEYWORDS: ClassVar[dict[str, str]] = {'autorotate': 'autoRotate', 'bandwisespilling': 'bandwiseSpilling', 'bwdf': 'BWDF', 'bwdfcohp': 'BWDFCOHP', 'densityofenergy': 'DensityOfEnergy', 'donotignoreexcessivebands': 'doNotIgnoreExcessiveBands', 'donotorthogonalizebasis': 'doNotOrthogonalizeBasis', 'donotuseabsolutespilling': 'doNotUseAbsoluteSpilling', 'forceenergyrange': 'forceEnergyRange', 'forcev1hmatrix': 'forceV1HMatrix', 'kpointwisespilling': 'kpointwiseSpilling', 'loadprojectionfromfile': 'loadProjectionFromFile', 'lsodos': 'LSODOS', 'nofftforvisualization': 'noFFTforVisualization', 'nomemorymappedfiles': 'noMemoryMappedFiles', 'onlyreadvasprun.xml': 'onlyReadVasprun.xml', 'printlmosonatoms': 'printLmosOnAtoms', 'printmofeatomwise': 'printMofeAtomWise', 'printmofemoleculewise': 'printMofeMoleculeWise', 'printtotalspilling': 'printTotalSpilling', 'rmsp': 'RMSp', 'saveprojectiontofile': 'saveProjectionToFile', 'skipcar': 'skipCar', 'skipcobi': 'skipcobi', 'skipcohp': 'skipcohp', 'skipcoop': 'skipcoop', 'skipdos': 'skipdos', 'skipgrosspopulation': 'skipGrossPopulation', 'skipmadelungenergy': 'skipMadelungEnergy', 'skipmofe': 'skipMOFE', 'skipmolecularorbitals': 'skipMolecularOrbitals', 'skippaworthonormalitytest': 'skipPAWOrthonormalityTest', 'skippopulationanalysis': 'skipPopulationAnalysis', 'skipprojection': 'skipProjection', 'skipreorthonormalization': 'skipReOrthonormalization', 'useoriginaltetrahedronmethod': 'useOriginalTetrahedronMethod', 'userecommendedbasisfunctions': 'userecommendedbasisfunctions', 'writeatomicorbitals': 'writeAtomicOrbitals', 'writebasisfunctions': 'writeBasisFunctions', 'writematricestofile': 'writeMatricesToFile'}
  FLOAT_KEYWORDS: ClassVar[dict[str, str]] = {'basisrotation': 'basisRotation', 'cohpendenergy': 'COHPendEnergy', 'cohpstartenergy': 'COHPstartEnergy', 'cohpsteps': 'COHPSteps', 'gaussiansmearingwidth': 'gaussianSmearingWidth', 'gridbufferforprinting': 'gridBufferForPrinting', 'griddensityforprinting': 'gridDensityForPrinting', 'usedecimalplaces': 'useDecimalPlaces'}
  LIST_KEYWORDS: ClassVar[dict[str, str]] = {'basisfunctions': 'basisfunctions', 'cobibetween': 'cobiBetween', 'cohpbetween': 'cohpbetween', 'createfatband': 'createFatband', 'customstoforatom': 'customSTOforAtom', 'molecule': 'molecule', 'printlmosonatomswriteatomicdensities': 'printLmosOnAtomswriteAtomicDensities'}
  STRING_KEYWORDS: ClassVar[dict[str, str]] = {'basisset': 'basisSet', 'cohpgenerator': 'cohpGenerator', 'ewaldsum': 'EwaldSum', 'kspacecohp': 'kSpaceCOHP', 'printlcaorealspacewavefunction': 'printLCAORealSpaceWavefunction', 'printpawrealspacewavefunction': 'printPAWRealSpaceWavefunction', 'realspacehamiltonian': 'realspaceHamiltonian', 'realspaceoverlap': 'realspaceOverlap'}
  as_dict() → dict

    MSONable dict.

  diff(other: Self) → dict[str, dict[str, Any]]

    Compare two Lobsterin and find which parameters are the same. Similar to the diff method of Incar.

    Parameters:

      other (Lobsterin) – Lobsterin object to compare to.

    Returns:

      {“Same”: same_params, “Different”: diff_params}

    Return type:

      dict

  classmethod from_dict(dct: dict) → Self
    Parameters:

      dct (dict) – Dict representation.

    Returns:

      Lobsterin

  classmethod from_file(lobsterin: PathLike) → Self

    Create Lobsterin from lobsterin file.

    Parameters:

      lobsterin (PathLike) – path to lobsterin.

    Returns:

      Lobsterin object

  static get_all_possible_basis_functions(structure: Structure | IStructure, potcar_symbols: list[str], address_basis_file_min: PathLike | None = None, address_basis_file_max: PathLike | None = None) → list[dict]
    Parameters:

      - structure – Structure object

      - potcar_symbols – list of the potcar symbols

      - address_basis_file_min – path to file with the minimum required basis by the POTCAR

      - address_basis_file_max – path to file with the largest possible basis of the POTCAR.

    Returns:

      Can be used to create new Lobsterin objects in

        standard_calculations_from_vasp_files as dict_for_basis

    Return type:

      list[dict]

  static get_basis(structure: Structure | IStructure, potcar_symbols: list[str], address_basis_file: PathLike | None = None) → list[str]

    Get the basis functions from given potcar_symbols, e.g., [“Fe_pv”, “Si”].

    Parameters:

      - structure (Structure) – Structure object

      - potcar_symbols – list of potcar symbols

      - address_basis_file (PathLike) – path to the basis file

    Returns:

      basis

  classmethod standard_calculations_from_vasp_files(POSCAR_input: PathLike = 'POSCAR', INCAR_input: PathLike = 'INCAR', POTCAR_input: PathLike | None = None, Vasprun_output: PathLike = 'vasprun.xml', dict_for_basis: dict | None = None, option: str = 'standard') → Self

    Generate lobsterin with standard settings.

    Parameters:

      - POSCAR_input (PathLike) – path to POSCAR

      - INCAR_input (PathLike) – path to INCAR

      - POTCAR_input (PathLike) – path to POTCAR

      - Vasprun_output (PathLike) – path to vasprun.xml

      - dict_for_basis (dict) – can be provided: it should look the following: dict_for_basis={“Fe”:’3p 3d 4s 4f’, “C”: ‘2s 2p’} and will overwrite all settings from POTCAR_input

      - option (str) – ‘standard’ will start a normal LOBSTER run where COHPs, COOPs, DOS, CHARGE etc. will be calculated ‘standard_with_energy_range_from_vasprun’ will start a normal LOBSTER run for entire energy range of VASP static run. vasprun.xml file needs to be in current directory. ‘standard_from_projection’ will start a normal LOBSTER run from a projection ‘standard_with_fatband’ will do a fatband calculation, run over all orbitals ‘onlyprojection’ will only do a projection ‘onlydos’ will only calculate a projected dos ‘onlycohp’ will only calculate cohp ‘onlycoop’ will only calculate coop ‘onlycohpcoop’ will only calculate cohp and coop

    Returns:

      Lobsterin with standard settings

  write_INCAR(incar_input: PathLike = 'INCAR', incar_output: PathLike = 'INCAR.lobster', poscar_input: PathLike = 'POSCAR', isym: Literal[-1, 0] = 0, further_settings: dict | None = None) → None

    Write INCAR file. Will only make the run static, insert NBANDS, set ISYM=0, LWAVE=True and you have to check for the rest.

    Parameters:

      - incar_input (PathLike) – path to input INCAR

      - incar_output (PathLike) – path to output INCAR

      - poscar_input (PathLike) – path to input POSCAR

      - isym (-1 | 0) – ISYM value.

      - further_settings (dict) – A dict can be used to include further settings, e.g. {“ISMEAR”:-5}

  static write_KPOINTS(POSCAR_input: PathLike = 'POSCAR', KPOINTS_output: PathLike = 'KPOINTS.lobster', reciprocal_density: int = 100, isym: Literal[-1, 0] = 0, from_grid: bool = False, input_grid: tuple[int, int, int] = (5, 5, 5), line_mode: bool = True, kpoints_line_density: int = 20, symprec: float = 0.01) → None

    Write a gamma-centered KPOINTS file for LOBSTER.

    Parameters:

      - POSCAR_input (PathLike) – path to POSCAR

      - KPOINTS_output (PathLike) – path to output KPOINTS

      - reciprocal_density (int) – Grid density

      - isym (-1 | 0) – ISYM value.

      - from_grid (bool) – If True KPOINTS will be generated with the help of a grid given in input_grid. Otherwise, they will be generated from the reciprocal_density

      - input_grid (tuple) – grid to generate the KPOINTS file

      - line_mode (bool) – If True, band structure will be generated

      - kpoints_line_density (int) – density of the lines in the band structure

      - symprec (float) – precision to determine symmetry

  static write_POSCAR_with_standard_primitive(POSCAR_input: PathLike = 'POSCAR', POSCAR_output: PathLike = 'POSCAR.lobster', symprec: float = 0.01) → None

    Write a POSCAR with the standard primitive cell. This is needed to arrive at the correct kpath.

    Parameters:

      - POSCAR_input (PathLike) – Input POSCAR file

      - POSCAR_output (PathLike) – Output POSCAR file

      - symprec (float) – precision to find symmetry

  write_lobsterin(path: PathLike = 'lobsterin', overwritedict: dict | None = None) → None

    Write a lobsterin file, and recover keys to Camel case.

    Parameters:

      - path (str) – filename of the output lobsterin file

      - overwritedict (dict) – dict that can be used to update lobsterin, e.g. {“skipdos”: True}

get_all_possible_basis_combinations(min_basis: list, max_basis: list) → list[list[str]]

  Get all possible basis combinations.

  Parameters:

    - min_basis – list of basis entries: e.g., [“Si 3p 3s”]

    - max_basis – list of basis entries: e.g., [“Si 3p 3s”].

  Returns:

    all possible combinations of basis functions, e.g. [[“Si 3p 3s”]]

  Return type:

    list[list[str]]

## pymatgen.io.lobster.lobsterenv module

Deprecated class for analyzing NearNeighbors using ICOHPs/ICOOPs/ICOBIs.

class LobsterNeighbors(*args, **kwargs)

  Bases: `object`

  Deprecated LobsterNeighbors class for analyzing NearNeighbor interactions using ICOHPs/ICOOPs/ICOBIs.

## pymatgen.io.lobster.outputs module

Module for reading Lobster output files. For more information on LOBSTER see www.cohp.de.

If you use this module, please cite: J. George, G. Petretto, A. Naik, M. Esters, A. J. Jackson, R. Nelson, R. Dronskowski, G.-M. Rignanese, G. Hautier, “Automated Bonding Analysis with Crystal Orbital Hamilton Populations”, ChemPlusChem 2022, e202200123, DOI: 10.1002/cplu.202200123.

class Bandoverlaps(filename: PathLike = 'bandOverlaps.lobster', band_overlaps_dict: dict[Spin, dict] | None = None, max_deviation: list[float] | None = None)

  Bases: `MSONable`

  Read bandOverlaps.lobster files, which are not created during every LOBSTER run.

  band_overlaps_dict

    A dictionary containing the band overlap data of the form: {spin: {“kpoint as string”: {“maxDeviation”: float that describes the max deviation, “matrix”: 2D array of the size number of bands times number of bands including the overlap matrices with}}}.

    Type:

      dict[Spin, Dict[str, Dict[str, Union[float, NDArray]]]]

  max_deviation

    The maximal deviation for each problematic kpoint.

    Type:

      list[float]

  Parameters:

    - filename (PathLike) – The “bandOverlaps.lobster” file.

    - band_overlaps_dict –

      The band overlap data of the form: {

      > spin: {

      >   “k_points” : list of k-point array, “max_deviations”: list of max deviations associated with each k-point, “matrices”: list of the overlap matrices associated with each k-point,

      > }

      }.

    - max_deviation (list[float]) – The maximal deviations for each problematic k-point.

  property bandoverlapsdict: dict
  has_good_quality_check_occupied_bands(number_occ_bands_spin_up: int, number_occ_bands_spin_down: int | None = None, spin_polarized: bool = False, limit_deviation: float = 0.1) → bool

    Check if the deviation from the ideal bandoverlap of all occupied bands is smaller or equal to limit_deviation.

    Parameters:

      - number_occ_bands_spin_up (int) – Number of occupied bands of spin up.

      - number_occ_bands_spin_down (int) – Number of occupied bands of spin down.

      - spin_polarized (bool) – Whether this is a spin polarized calculation.

      - limit_deviation (float) – Upper limit of the maxDeviation.

    Returns:

      True if the quality of the projection is good.

    Return type:

      bool

  has_good_quality_maxDeviation(limit_maxDeviation: float = 0.1) → bool

    Check if the maxDeviation from the ideal bandoverlap is smaller or equal to a limit.

    Parameters:

      limit_maxDeviation (float) – Upper Limit of the maxDeviation.

    Returns:

      Whether the ideal bandoverlap is smaller or equal to the limit.

    Return type:

      bool

class Bwdf(filename: PathLike = 'BWDF.lobster', centers: NDArray | None = None, bwdf: dict[Spin, NDArray] | None = None, bin_width: float | None = None)

  Bases: `MSONable`

  Read BWDF.lobster/BWDFCOHP.lobster file generated by LOBSTER.

  centers

    Bond length centers for the distribution.

    Type:

      NDArray

  bwdf

    Bond weighted distribution function.

    Type:

      dict[Spin, NDArray]

  bin_width

    Bin width used for computing the distribution by LOBSTER.

    Type:

      float

  Parameters:

    - filename (PathLike) – The “BWDF.lobster” file. Can also read BWDFCOHP.lobster.

    - centers (NDArray) – Bond length centers for the distribution.

    - bwdf (dict[Spin, NDArray]) – Bond weighted distribution function.

    - bin_width (float) – Bin width used for computing the distribution by LOBSTER.

class Charge(filename: PathLike = 'CHARGE.lobster', is_lcfo: bool = False, num_atoms: int | None = None, atomlist: list[str] | None = None, types: list[str] | None = None, mulliken: list[float] | None = None, loewdin: list[float] | None = None)

  Bases: `MSONable`

  Read CHARGE.lobster/ CHARGE.LCFO.lobster files generated by LOBSTER.

  atomlist

    List of atoms in CHARGE.lobster.

    Type:

      list[str]

  is_lcfo

    Whether the CHARGE file is from LCFO analysis. Default is False.

    Type:

      bool

  types

    List of types of atoms in CHARGE.lobster.

    Type:

      list[str]

  mulliken

    List of Mulliken charges of atoms in CHARGE.lobster.

    Type:

      list[float]

  loewdin

    List of Loewdin charges of atoms in CHARGE.Loewdin.

    Type:

      list[float]

  num_atoms

    Number of atoms in CHARGE.lobster.

    Type:

      int

  Parameters:

    - filename (PathLike) – The CHARGE file, typically “CHARGE.lobster”.

    - is_lcfo (bool) – Whether the CHARGE file is from LCFO analysis. Default is False.

    - num_atoms (int) – Number of atoms in the structure.

    - atomlist (list[str]) – Atoms in the structure.

    - types (list[str]) – Unique species in the structure.

    - mulliken (list[float]) – Mulliken charges.

    - loewdin (list[float]) – Loewdin charges.

  property Loewdin: list[float]
  property Mulliken: list[float]
  get_structure_with_charges(structure_filename: PathLike) → Structure

    Get a Structure with Mulliken and Loewdin charges as site properties

    Parameters:

      structure_filename (PathLike) – The POSCAR file.

    Returns:

      Structure Object with Mulliken and Loewdin charges as site properties.

class Cohpcar(are_coops: bool = False, are_cobis: bool = False, are_multi_center_cobis: bool = False, is_lcfo: bool = False, filename: PathLike | None = None)

  Bases: `object`

  Read COXXCAR.lobster/COXXCAR.LCFO.lobster files generated by LOBSTER.

  cohp_data

    The COHP data of the form: {bond: {“COHP”: {Spin.up: cohps, Spin.down:cohps},

    > “ICOHP”: {Spin.up: icohps, Spin.down: icohps}, “length”: bond length, “sites”: sites corresponding to the bond}

    Also contains an entry for the average, which does not have a “length” key.

    Type:

      dict[str, Dict[str, Any]]

  efermi

    The Fermi level in eV.

    Type:

      float

  energies

    Sequence of energies in eV. Note that LOBSTER shifts the energies so that the Fermi level is at zero.

    Type:

      Sequence[float]

  is_spin_polarized

    True if the calculation is spin polarized.

    Type:

      bool

  orb_res_cohp

    The orbital-resolved COHPs of the form: orb_res_cohp[label] = {bond_data[“orb_label”]: {

    > “COHP”: {Spin.up: cohps, Spin.down:cohps}, “ICOHP”: {Spin.up: icohps, Spin.down: icohps}, “orbitals”: orbitals, “length”: bond lengths, “sites”: sites corresponding to the bond},

    }

    Type:

      dict[str, Dict[str, Dict[str, Any]]]

  Parameters:

    - are_coops (bool) – Whether the file includes COOPs (True) or COHPs (False). Default is False.

    - are_cobis (bool) – Whether the file is COBIs (True) or COHPs (False). Default is False.

    - are_multi_center_cobis (bool) – Whether the file include multi-center COBIs (True) or two-center COBIs (False). Default is False.

    - is_lcfo (bool) – Whether the COXXCAR file is from LCFO analysis.

    - filename (PathLike) – The COHPCAR file. If it is None, the default file name will be chosen, depending on the value of are_coops.

class Doscar(doscar: PathLike = 'DOSCAR.lobster', is_lcfo: bool = False, structure_file: PathLike | None = 'POSCAR', structure: IStructure | Structure | None = None)

  Bases: `object`

  Store LOBSTER’s projected DOS and local projected DOS. The beforehand quantum-chemical calculation was performed with VASP.

  completedos

    LobsterCompleteDos Object.

    Type:

      LobsterCompleteDos

  pdos

    List of Dict including NumPy arrays with pdos. Access as pdos[atomindex][‘orbitalstring’][‘Spin.up/Spin.down’].

    Type:

      list

  tdos

    Dos Object of the total density of states.

    Type:

      Dos

  energies

    Numpy array of the energies at which the DOS was calculated (in eV, relative to Efermi).

    Type:

      NDArray

  tdensities

    tdensities[Spin.up]: NumPy array of the total density of states for the Spin.up contribution at each of the energies. tdensities[Spin.down]: NumPy array of the total density of states for the Spin.down contribution at each of the energies. If is_spin_polarized=False, tdensities[Spin.up]: NumPy array of the total density of states.

    Type:

      dict

  itdensities

    itdensities[Spin.up]: NumPy array of the total density of states for the Spin.up contribution at each of the energies. itdensities[Spin.down]: NumPy array of the total density of states for the Spin.down contribution at each of the energies. If is_spin_polarized=False, itdensities[Spin.up]: NumPy array of the total density of states.

    Type:

      dict

  is_spin_polarized

    Whether the system is spin polarized.

    Type:

      bool

  Parameters:

    - doscar (PathLike) – The DOSCAR file, typically “DOSCAR.lobster”.

    - is_lcfo (bool) – Whether the DOSCAR file is from LCFO analysis.

    - structure_file (PathLike) – For VASP, this is typically “POSCAR”.

    - structure (Structure) – Instead of a structure file (preferred), the Structure can be given directly.

  property completedos: LobsterCompleteDos

    LobsterCompleteDos.

  property energies: NDArray

    Energies.

  property is_spin_polarized: bool

    Whether run is spin polarized.

  property itdensities: dict[Spin, NDArray]

    Integrated total DOS as a np.array.

  property pdos: list[dict]

    Projected DOS (PDOS).

  property tdensities: dict[Spin, NDArray]

    Total DOS as a np.array.

  property tdos: Dos

    Total DOS (TDOS).

class Fatband(filenames: PathLike | list[PathLike] = '.', kpoints_file: PathLike = 'KPOINTS', vasprun_file: PathLike | None = 'vasprun.xml', structure: Structure | IStructure | None = None, efermi: float | None = None)

  Bases: `object`

  Read FATBAND_x_y.lobster files.

  efermi

    Fermi level read from vasprun.xml.

    Type:

      float

  eigenvals

    Eigenvalues as a dictionary of NumPy arrays of shape (nbands, nkpoints). The first index of the array refers to the band and the second to the index of the kpoint. The kpoints are ordered according to the order of the kpoints_array attribute. If the band structure is not spin polarized, we only store one data set under Spin.up.

    Type:

      dict[Spin, NDArray]

  is_spin_polarized

    Whether this was a spin-polarized calculation.

    Type:

      bool

  kpoints_array

    List of kpoints as NumPy arrays, in frac_coords of the given lattice by default.

    Type:

      list[NDArray]

  label_dict

    Dictionary that links a kpoint (in frac coords or Cartesian coordinates depending on the coords attribute) to a label.

    Type:

      dict[str, Union[str, NDArray]]

  lattice

    Lattice object of reciprocal lattice as read from vasprun.xml.

    Type:

      Lattice

  nbands

    Number of bands used in the calculation.

    Type:

      int

  p_eigenvals

    Dictionary of orbital projections as {spin: array of dict}. The indices of the array are [band_index, kpoint_index]. The dict is then built the following way: {“string of element”: “string of orbital as read in from FATBAND file”}. If the band structure is not spin polarized, we only store one data set under Spin.up.

    Type:

      dict[Spin, NDArray]

  structure

    Structure object.

    Type:

      Structure

  Parameters:

    - filenames (PathLike | list[PathLike]) – File names or path to a folder from which all “FATBAND_*” files will be read.

    - kpoints_file (PathLike) – KPOINTS file for bandstructure calculation, typically “KPOINTS”.

    - vasprun_file (PathLike) – Corresponding vasprun.xml file. Instead, the Fermi level from the DFT run can be provided. Then, this should be set to None.

    - structure (Structure) – Structure object.

    - efermi (float) – Fermi level in eV.

  get_bandstructure() → LobsterBandStructureSymmLine

    Get a LobsterBandStructureSymmLine object which can be plotted with a normal BSPlotter.

class Grosspop(filename: PathLike = 'GROSSPOP.lobster', is_lcfo: bool = False, list_dict_grosspop: list[dict] | None = None)

  Bases: `MSONable`

  Read GROSSPOP.lobster/ GROSSPOP.LCFO.lobster files.

  list_dict_grosspop

    List of dictionaries including all information about the grosspopulations. Each dictionary contains the following keys: - ‘element’: The element symbol of the atom. - ‘Mulliken GP’: A dictionary of Mulliken gross populations, where the keys are the orbital labels and the

    > values are the corresponding gross populations as strings.

    - ‘Loewdin GP’: A dictionary of Loewdin gross populations, where the keys are the orbital labels and the

        values are the corresponding gross populations as strings.

    The 0th entry of the list refers to the first atom in GROSSPOP.lobster and so on.

    Type:

      list[dict[str, str| dict[str, str]]]

  Parameters:

    - filename (PathLike) – The “GROSSPOP.lobster” file.

    - is_lcfo (bool) – Whether the GROSSPOP file is in LCFO format.

    - list_dict_grosspop (list[dict]) – All information about the gross populations.

  get_structure_with_total_grosspop(structure_filename: PathLike) → Structure

    Get a Structure with Mulliken and Loewdin total grosspopulations as site properties.

    Parameters:

      structure_filename (PathLike) – The POSCAR file.

    Returns:

      Structure Object with Mulliken and Loewdin total grosspopulations as site properties.

class Icohplist(is_lcfo: bool = False, are_coops: bool = False, are_cobis: bool = False, filename: PathLike | None = None, is_spin_polarized: bool = False, orbitalwise: bool = False, icohpcollection: IcohpCollection | None = None)

  Bases: `MSONable`

  Read ICOXXLIST/ICOXXLIST.LCFO.lobster files generated by LOBSTER.

  are_coops

    Whether the file includes COOPs (True) or COHPs (False).

    Type:

      bool

  is_lcfo

    Whether the ICOXXLIST file is from LCFO analysis.

    Type:

      bool

  is_spin_polarized

    Whether the calculation is spin polarized.

    Type:

      bool

  Icohplist
    The listfile data of the form: {
      bond: {

        “length”: Bond length, “number_of_bonds”: Number of bonds, “icohp”: {Spin.up: ICOHP(Ef)_up, Spin.down: …}, }

    }

    Type:

      dict[str, Dict[str, Union[float, int, Dict[Spin, float]]]]

  IcohpCollection

    IcohpCollection Object.

    Type:

      IcohpCollection

  Parameters:

    - is_lcfo (bool) – Whether the ICOHPLIST file is from LCFO analysis.

    - are_coops (bool) – Whether the file includes COOPs (True) or COHPs (False). Default is False.

    - are_cobis (bool) – Whether the file is COBIs (True) or COHPs (False). Default is False.

    - filename (PathLike) – The ICOHPLIST file. If it is None, the default file name will be chosen, depending on the value of are_coops

    - is_spin_polarized (bool) – Whether the calculation is spin polarized.

    - orbitalwise (bool) – Whether the calculation is orbitalwise.

    - icohpcollection (IcohpCollection) – IcohpCollection Object.

  property icohpcollection: IcohpCollection | None

    The IcohpCollection object.

  property icohplist: dict[Any, dict[str, Any]]

    The ICOHP list compatible with older version of this class.

class LobsterMatrices(e_fermi: float | None = None, filename: PathLike = 'hamiltonMatrices.lobster')

  Bases: `object`

  Read Matrices file generated by LOBSTER (e.g. hamiltonMatrices.lobster).

  If filename == "hamiltonMatrices.lobster"
    onsite_energies (list[NDArray]): Real parts of onsite energies from the

      matrices each k-point.

    average_onsite_energies (dict): Average onsite elements energies for

      all k-points with keys as basis used in the LOBSTER computation (uses only real part of matrix).

    hamilton_matrices (dict[Spin, NDArray]): The complex Hamilton matrix at each

      k-point with k-point and spin as keys.

  If filename == "coefficientMatrices.lobster"
    onsite_coefficients (list[NDArray]): Real parts of onsite coefficients

      from the matrices each k-point.

    average_onsite_coefficient (dict): Average onsite elements coefficients

      for all k-points with keys as basis used in the LOBSTER computation (uses only real part of matrix).

    coefficient_matrices (dict[Spin, NDArray]): The coefficients matrix

      at each k-point with k-point and spin as keys.

  If filename == "transferMatrices.lobster"
    onsite_transfer (list[NDArray]): Real parts of onsite transfer

      coefficients from the matrices at each k-point.

    average_onsite_transfer (dict): Average onsite elements transfer

      coefficients for all k-points with keys as basis used in the LOBSTER computation (uses only real part of matrix).

    transfer_matrices (dict[Spin, NDArray]): The coefficients matrix at

      each k-point with k-point and spin as keys.

  If filename == "overlapMatrices.lobster"
    onsite_overlaps (list[NDArray]): Real parts of onsite overlaps

      from the matrices each k-point.

    average_onsite_overlaps (dict): Average onsite elements overlaps

      for all k-points with keys as basis used in the LOBSTER computation (uses only real part of matrix).

    overlap_matrices (dict[NDArray]): The overlap matrix at

      each k-point with k-point as keys.

  Parameters:

    - e_fermi (float) – Fermi level in eV for the structure only. Relevant if input file contains Hamilton matrices data.

    - filename (PathLike) – The hamiltonMatrices file, typically “hamiltonMatrices.lobster”.

class Lobsterout(filename: PathLike | None, **kwargs)

  Bases: `MSONable`

  Read the lobsterout and evaluate the spilling, save the basis, save warnings, save info.

  basis_functions

    Basis functions that were used in lobster run as strings.

    Type:

      list[str]

  basis_type

    Basis types that were used in lobster run as strings.

    Type:

      list[str]

  charge_spilling

    Charge spilling (first entry: result for spin 1, second entry: result for spin 2 or not present).

    Type:

      list[float]

  dft_program

    The DFT program used for the calculation of the wave function.

    Type:

      str

  elements

    Elements that were present in LOBSTER calculation.

    Type:

      list[str]

  has_charge

    Whether CHARGE.lobster is present.

    Type:

      bool

  has_cohpcar

    Whether COHPCAR.lobster and ICOHPLIST.lobster are present.

    Type:

      bool

  has_madelung

    Whether SitePotentials.lobster and MadelungEnergies.lobster are present.

    Type:

      bool

  has_coopcar

    Whether COOPCAR.lobster and ICOOPLIST.lobster are present.

    Type:

      bool

  has_cobicar

    Whether COBICAR.lobster and ICOBILIST.lobster are present.

    Type:

      bool

  has_doscar

    Whether DOSCAR.lobster is present.

    Type:

      bool

  has_doscar_lso

    Whether DOSCAR.LSO.lobster is present.

    Type:

      bool

  has_projection

    Whether projectionData.lobster is present.

    Type:

      bool

  has_bandoverlaps

    Whether bandOverlaps.lobster is present.

    Type:

      bool

  has_density_of_energies

    Whether DensityOfEnergy.lobster is present.

    Type:

      bool

  has_fatbands

    Whether fatband calculation was performed.

    Type:

      bool

  has_grosspopulation

    Whether GROSSPOP.lobster is present.

    Type:

      bool

  has_polarization

    Whether POLARIZATION.lobster is present.

    Type:

      bool

  info_lines

    Additional information on the run.

    Type:

      str

  info_orthonormalization

    Information on orthonormalization.

    Type:

      str

  is_restart_from_projection

    Whether that calculation was restarted from an existing projection file.

    Type:

      bool

  lobster_version

    The LOBSTER version.

    Type:

      str

  number_of_spins

    The number of spins.

    Type:

      int

  number_of_threads

    How many threads were used.

    Type:

      int

  timing

    Dict with infos on timing.

    Type:

      dict[str, float]

  total_spilling

    The total spilling for spin channel 1 (and spin channel 2).

    Type:

      list[float]

  warning_lines

    String with all warnings.

    Type:

      str

  Parameters:

    - filename (PathLike) – The lobsterout file.

    - **kwargs – dict to initialize Lobsterout instance

  as_dict() → dict[str, Any]

    MSONable dict.

  get_doc() → dict[str, Any]

    Get a dict with all information stored in lobsterout.

class MadelungEnergies(filename: PathLike = 'MadelungEnergies.lobster', ewald_splitting: float | None = None, madelungenergies_mulliken: float | None = None, madelungenergies_loewdin: float | None = None)

  Bases: `MSONable`

  Read MadelungEnergies.lobster files generated by LOBSTER.

  madelungenergies_mulliken

    The Madelung energy based on the Mulliken approach.

    Type:

      float

  madelungenergies_loewdin

    The Madelung energy based on the Loewdin approach.

    Type:

      float

  ewald_splitting

    The Ewald splitting parameter to compute SitePotentials.

    Type:

      float

  Parameters:

    - filename (PathLike) – The “MadelungEnergies.lobster” file.

    - ewald_splitting (float) – The Ewald splitting parameter to compute SitePotentials.

    - madelungenergies_mulliken (float) – The Madelung energy based on the Mulliken approach.

    - madelungenergies_loewdin (float) – The Madelung energy based on the Loewdin approach.

  property madelungenergies_Loewdin: float | None
  property madelungenergies_Mulliken: float | None

class NciCobiList(filename: PathLike = 'NcICOBILIST.lobster')

  Bases: `object`

  Read NcICOBILIST (multi-center ICOBI) files generated by LOBSTER.

  is_spin_polarized

    Whether the calculation is spin polarized.

    Type:

      bool

  NciCobiList

    The listfile data of the form: {

    > bond: {

    >   “number_of_atoms”: Number of atoms involved in the multi-center interaction, “ncicobi”: {Spin.up: Nc-ICOBI(Ef)_up, Spin.down: …}, “interaction_type”: Type of the multi-center interaction, }

    }

    Type:

      dict

  LOBSTER < 4.1.0: no COBI/ICOBI/NcICOBI

  Parameters:

    filename – Name of the NcICOBILIST file.

  property ncicobi_list: dict[Any, dict[str, Any]]

    Returns: dict: ncicobilist.

class Polarization(filename: PathLike = 'POLARIZATION.lobster', rel_mulliken_pol_vector: dict[str, float | str] | None = None, rel_loewdin_pol_vector: dict[str, float | str] | None = None)

  Bases: `MSONable`

  Read POLARIZATION.lobster file generated by LOBSTER.

  rel_mulliken_pol_vector

    Relative Mulliken polarization vector.

    Type:

      dict[str, float]

  rel_loewdin_pol_vector

    Relative Mulliken polarization vector.

    Type:

      dict[str, float]

  Parameters:

    - filename (PathLike) – The “POLARIZATION.lobster” file.

    - rel_mulliken_pol_vector (dict[str, Union[float, str]]) – Relative Mulliken polarization vector.

    - rel_loewdin_pol_vector (dict[str, Union[float, str]]) – Relative Loewdin polarization vector.

class SitePotential(filename: PathLike = 'SitePotentials.lobster', ewald_splitting: float | None = None, num_atoms: int | None = None, atomlist: list[str] | None = None, types: list[str] | None = None, sitepotentials_loewdin: list[float] | None = None, sitepotentials_mulliken: list[float] | None = None, madelungenergies_mulliken: float | None = None, madelungenergies_loewdin: float | None = None)

  Bases: `MSONable`

  Read SitePotentials.lobster files generated by LOBSTER.

  atomlist

    Atoms in SitePotentials.lobster.

    Type:

      list[str]

  types

    Types of atoms in SitePotentials.lobster.

    Type:

      list[str]

  num_atoms

    Number of atoms in SitePotentials.lobster.

    Type:

      int

  sitepotentials_mulliken

    Mulliken potentials of sites in SitePotentials.lobster.

    Type:

      list[float]

  sitepotentials_loewdin

    Loewdin potentials of sites in SitePotentials.lobster.

    Type:

      list[float]

  madelungenergies_mulliken

    The Madelung energy based on the Mulliken approach.

    Type:

      float

  madelungenergies_loewdin

    The Madelung energy based on the Loewdin approach.

    Type:

      float

  ewald_splitting

    The Ewald Splitting parameter to compute SitePotentials.

    Type:

      float

  Parameters:

    - filename (PathLike) – The SitePotentials file, typically “SitePotentials.lobster”.

    - ewald_splitting (float) – Ewald splitting parameter used for computing Madelung energies.

    - num_atoms (int) – Number of atoms in the structure.

    - atomlist (list[str]) – Atoms in the structure.

    - types (list[str]) – Unique atom types in the structure.

    - sitepotentials_loewdin (list[float]) – Loewdin site potentials.

    - sitepotentials_mulliken (list[float]) – Mulliken site potentials.

    - madelungenergies_mulliken (float) – Madelung energy based on the Mulliken approach.

    - madelungenergies_loewdin (float) – Madelung energy based on the Loewdin approach.

  get_structure_with_site_potentials(structure_filename: PathLike) → Structure

    Get a Structure with Mulliken and Loewdin charges as site properties.

    Parameters:

      structure_filename (PathLike) – The POSCAR file.

    Returns:

      Structure Object with Mulliken and Loewdin charges as site properties.

  property madelungenergies_Loewdin
  property madelungenergies_Mulliken
  property sitepotentials_Loewdin: list[float]
  property sitepotentials_Mulliken: list[float]

class Wavefunction(filename: PathLike, structure: Structure)

  Bases: `object`

  Read wave function files from LOBSTER and create an VolumetricData object.

  grid

    Grid for the wave function [Nx+1, Ny+1, Nz+1].

    Type:

      tuple[int, int, int]

  points

    Points.

    Type:

      list[Tuple[float, float, float]]

  real

    Real parts of wave function.

    Type:

      list[float]

  imaginary

    Imaginary parts of wave function.

    Type:

      list[float]

  distance

    Distances to the first point in wave function file.

    Type:

      list[float]

  Parameters:

    - filename (PathLike) – The wavecar file from LOBSTER.

    - structure (Structure) – The Structure object.

  get_volumetricdata_density() → VolumetricData

    Get a VolumetricData object including the density part of the wave function.

    Returns:

      VolumetricData

  get_volumetricdata_imaginary() → VolumetricData

    Get a VolumetricData object including the imaginary part of the wave function.

    Returns:

      VolumetricData

  get_volumetricdata_real() → VolumetricData

    Get a VolumetricData object including the real part of the wave function.

    Returns:

      VolumetricData

  set_volumetric_data(grid: tuple[int, int, int], structure: Structure) → None

    Create the VolumetricData instances.

    Parameters:

      - grid (tuple[int, int, int]) – Grid on which wavefunction was calculated, e.g. (1, 2, 2).

      - structure (Structure) – The Structure object.

  write_file(filename: PathLike = 'WAVECAR.vasp', part: Literal['real', 'imaginary', 'density'] = 'real') → None

    Save the wave function in a file that can be read by VESTA.

    This will only work if the wavefunction from lobster is constructed with:

      “printLCAORealSpaceWavefunction kpoint 1 coordinates 0.0 0.0 0.0 coordinates 1.0 1.0 1.0 box bandlist 1 2 3 4 5 6 ” or similar (the whole unit cell has to be covered!).

    Parameters:

      - filename (PathLike) – The output file, e.g. “WAVECAR.vasp”.

      - part ("real" | "imaginary" | "density"]) – Part of the wavefunction to save.

get_orb_from_str(orbs: list[str]) → tuple[str, list[tuple[int, Orbital]]]

  Get Orbitals from string representations.

  Parameters:

    orbs (list[str]) – Orbitals, e.g. [“2p_x”, “3s”].

  Returns:

    Orbital label, orbitals.

  Return type:

    tuple[str, list[tuple[int, Orbital]]]

## pymatgen.io.lobster.sets module

This module defines the VaspInputSet abstract base class and a concrete implementation for the parameters developed and tested by the core team of pymatgen, including the Materials Virtual Lab, Materials Project and the MIT high throughput project. The basic concept behind an input set is to specify a scheme to generate a consistent set of VASP inputs from a structure without further user intervention. This ensures comparability across runs.

Read the following carefully before implementing new input sets:

1. 99% of what needs to be done can be done by specifying user_incar_settings to override some of the defaults of various input sets. Unless there is an extremely good reason to add a new set, do not add one. e.g. if you want to turn the Hubbard U off, just set “LDAU”: False as a user_incar_setting.

2. All derivative input sets should inherit appropriate configurations (e.g., from MPRelaxSet), and more often than not, VaspInputSet should be the superclass. Superclass delegation should be used where possible. In particular, you are not supposed to implement your own as_dict or from_dict for derivative sets unless you know what you are doing. Improper overriding the as_dict and from_dict protocols is the major cause of implementation headaches. If you need an example, look at how the MPStaticSet is initialized.

The above are recommendations. The following are UNBREAKABLE rules:

1. All input sets must take in a structure, list of structures or None as the first argument. If None, the input set should perform a stateless initialization and before any output can be written, a structure must be set.

2. user_incar_settings, user_kpoints_settings and user_<whatever>_settings are ABSOLUTE. Any new sets you implement must obey this. If a user wants to override your settings, you assume he knows what he is doing. Do not magically override user supplied settings. You can issue a warning if you think the user is wrong.

3. All input sets must save all supplied args and kwargs as instance variables. e.g. self.arg = arg and self.kwargs = kwargs in the __init__. This ensures the as_dict and from_dict work correctly.

class LobsterSet(structure: Structure | None = <property object>, config_dict: dict = <factory>, files_to_transfer: dict = <factory>, user_incar_settings: dict = <factory>, user_kpoints_settings: dict = <factory>, user_potcar_settings: dict = <factory>, constrain_total_magmom: bool = False, sort_structure: bool = True, user_potcar_functional: UserPotcarFunctional = 'PBE_54', force_gamma: bool = False, reduce_structure: Literal['niggli', 'LLL'] | None=None, vdw: str | None = None, use_structure_charge: bool = False, standardize: bool = False, sym_prec: float = 0.1, international_monoclinic: bool = True, validate_magmom: bool = True, inherit_incar: bool | list[str] = False, auto_kspacing: bool = False, auto_ismear: bool = False, auto_ispin: bool = False, auto_lreal: bool = False, auto_metal_kpoints: bool = False, bandgap_tol: float = 0.0001, bandgap: float | None = None, prev_incar: str | dict | None = None, prev_kpoints: str | Kpoints | None = None, _valid_potcars: Sequence[str] | None = ('PBE_52', 'PBE_54', 'PBE_64'), isym: int = 0, ismear: int = -5, reciprocal_density: int | None = None, address_basis_file: str | None = None, user_supplied_basis: dict | None = None)

  Bases: `VaspInputSet`

  Input set to prepare VASP runs that can be digested by Lobster (See cohp.de).

  Parameters:

    - structure (Structure) – input structure.

    - isym (int) – ISYM entry for INCAR, only isym=-1 and isym=0 are allowed

    - ismear (int) – ISMEAR entry for INCAR, only ismear=-5 and ismear=0 are allowed

    - reciprocal_density (int) – density of k-mesh by reciprocal volume

    - user_supplied_basis (dict) – dict including basis functions for all elements in structure, e.g. {“Fe”: “3d 3p 4s”, “O”: “2s 2p”}; if not supplied, a standard basis is used

    - address_basis_file (str) – address to a file similar to “BASIS_PBE_54_standard.yaml” in pymatgen.io.lobster.lobster_basis

    - user_potcar_settings (dict) – dict including potcar settings for all elements in structure, e.g. {“Fe”: “Fe_pv”, “O”: “O”}; if not supplied, a standard basis is used.

    - **kwargs – Other kwargs supported by VaspInputSet.

  CONFIG = {'INCAR': {'ALGO': 'FAST', 'EDIFF_PER_ATOM': 5e-05, 'ENCUT': 520, 'IBRION': 2, 'ISIF': 3, 'ISMEAR': -5, 'ISPIN': 2, 'LASPH': True, 'LDAU': True, 'LDAUJ': {'F': {'Co': 0, 'Cr': 0, 'Fe': 0, 'Mn': 0, 'Mo': 0, 'Ni': 0, 'V': 0, 'W': 0}, 'O': {'Co': 0, 'Cr': 0, 'Fe': 0, 'Mn': 0, 'Mo': 0, 'Ni': 0, 'V': 0, 'W': 0}}, 'LDAUL': {'F': {'Co': 2, 'Cr': 2, 'Fe': 2, 'Mn': 2, 'Mo': 2, 'Ni': 2, 'V': 2, 'W': 2}, 'O': {'Co': 2, 'Cr': 2, 'Fe': 2, 'Mn': 2, 'Mo': 2, 'Ni': 2, 'V': 2, 'W': 2}}, 'LDAUPRINT': 1, 'LDAUTYPE': 2, 'LDAUU': {'F': {'Co': 3.32, 'Cr': 3.7, 'Fe': 5.3, 'Mn': 3.9, 'Mo': 4.38, 'Ni': 6.2, 'V': 3.25, 'W': 6.2}, 'O': {'Co': 3.32, 'Cr': 3.7, 'Fe': 5.3, 'Mn': 3.9, 'Mo': 4.38, 'Ni': 6.2, 'V': 3.25, 'W': 6.2}}, 'LORBIT': 11, 'LREAL': 'AUTO', 'LWAVE': False, 'MAGMOM': {'Ce': 5, 'Ce3+': 1, 'Co': 0.6, 'Co3+': 0.6, 'Co4+': 1, 'Cr': 5, 'Dy3+': 5, 'Er3+': 3, 'Eu': 10, 'Eu2+': 7, 'Eu3+': 6, 'Fe': 5, 'Gd3+': 7, 'Ho3+': 4, 'La3+': 0.6, 'Lu3+': 0.6, 'Mn': 5, 'Mn3+': 4, 'Mn4+': 3, 'Mo': 5, 'Nd3+': 3, 'Ni': 5, 'Pm3+': 4, 'Pr3+': 2, 'Sm3+': 5, 'Tb3+': 6, 'Tm3+': 2, 'V': 5, 'W': 5, 'Yb3+': 1}, 'NELM': 100, 'NSW': 99, 'PREC': 'Accurate', 'SIGMA': 0.05}, 'KPOINTS': {'reciprocal_density': 64}, 'PARENT': 'VASPIncarBase', 'POTCAR': {'Ac': 'Ac', 'Ag': 'Ag', 'Al': 'Al', 'Ar': 'Ar', 'As': 'As', 'Au': 'Au', 'B': 'B', 'Ba': 'Ba_sv', 'Be': 'Be_sv', 'Bi': 'Bi', 'Br': 'Br', 'C': 'C', 'Ca': 'Ca_sv', 'Cd': 'Cd', 'Ce': 'Ce', 'Cl': 'Cl', 'Co': 'Co', 'Cr': 'Cr_pv', 'Cs': 'Cs_sv', 'Cu': 'Cu_pv', 'Dy': 'Dy_3', 'Er': 'Er_3', 'Eu': 'Eu', 'F': 'F', 'Fe': 'Fe_pv', 'Ga': 'Ga_d', 'Gd': 'Gd', 'Ge': 'Ge_d', 'H': 'H', 'He': 'He', 'Hf': 'Hf_pv', 'Hg': 'Hg', 'Ho': 'Ho_3', 'I': 'I', 'In': 'In_d', 'Ir': 'Ir', 'K': 'K_sv', 'Kr': 'Kr', 'La': 'La', 'Li': 'Li_sv', 'Lu': 'Lu_3', 'Mg': 'Mg_pv', 'Mn': 'Mn_pv', 'Mo': 'Mo_pv', 'N': 'N', 'Na': 'Na_pv', 'Nb': 'Nb_pv', 'Nd': 'Nd_3', 'Ne': 'Ne', 'Ni': 'Ni_pv', 'Np': 'Np', 'O': 'O', 'Os': 'Os_pv', 'P': 'P', 'Pa': 'Pa', 'Pb': 'Pb_d', 'Pd': 'Pd', 'Pm': 'Pm_3', 'Pr': 'Pr_3', 'Pt': 'Pt', 'Pu': 'Pu', 'Rb': 'Rb_sv', 'Re': 'Re_pv', 'Rh': 'Rh_pv', 'Ru': 'Ru_pv', 'S': 'S', 'Sb': 'Sb', 'Sc': 'Sc_sv', 'Se': 'Se', 'Si': 'Si', 'Sm': 'Sm_3', 'Sn': 'Sn_d', 'Sr': 'Sr_sv', 'Ta': 'Ta_pv', 'Tb': 'Tb_3', 'Tc': 'Tc_pv', 'Te': 'Te', 'Th': 'Th', 'Ti': 'Ti_pv', 'Tl': 'Tl_d', 'Tm': 'Tm_3', 'U': 'U', 'V': 'V_pv', 'W': 'W_pv', 'Xe': 'Xe', 'Y': 'Y_sv', 'Yb': 'Yb_2', 'Zn': 'Zn', 'Zr': 'Zr_sv'}, 'POTCAR_FUNCTIONAL': 'PBE'}
  address_basis_file: str | None = None
  property incar_updates: dict[str, Any]

    Updates to the INCAR config for this calculation type.

  ismear: int = -5
  isym: int = 0
  property kpoints_updates: dict[str, int]

    Updates to the kpoints configuration for this calculation type.

  reciprocal_density: int | None = None
  user_potcar_functional: UserPotcarFunctional = 'PBE_54'
  user_supplied_basis: dict | None = None