ElectronicBS

class emmet.core.band_theory.ElectronicBS(**data)

Bases: BandStructure

Define an electronic band structure schema.

Parameters:
  • identifier (str | None)

  • structure (Annotated[StructureTypeVar, BeforeValidator(func=~emmet.core.types.pymatgen_types.structure_adapter.pop_empty_structure_keys, json_schema_input_type=PydanticUndefined), WrapSerializer(func=~emmet.core.types.pymatgen_types.structure_adapter.<lambda>, return_type=~emmet.core.types.pymatgen_types.structure_adapter.TypedStructureDict, when_used=always)] | None)

  • qpoints (list[tuple[float, float, float]])

  • lattice_rec (Annotated[tuple[tuple[float, float, float], tuple[float, float, float], tuple[float, float, float]], BeforeValidator(func=~emmet.core.band_theory._deser_lattice, json_schema_input_type=PydanticUndefined)])

  • labels_dict (dict[str, tuple[float, float, float]])

  • path_convention (str | None)

  • efermi (float)

  • band_gap (float | None)

  • spin_up_bands (list[list[float]] | None)

  • spin_down_bands (list[list[float]] | None)

  • is_direct (bool | None)

  • projections (ProjectedBS | None)

property is_metal: bool

Whether the band gap is almost zero.

classmethod from_pmg(ebs, **kwargs)

Construct from a pymatgen band structure object.

Return type:

Self

Parameters:

ebs (BandStructure)

to_pmg(pmg_cls=PmgBandStructure)

Construct the pymatgen object from the current instance.

Return type:

BandStructure

Parameters:

pmg_cls (Callable)

Parameters

pmg_clsPmgBandStructure or a subclass

Because BandStructureSymmLine has the same constructor signature as PmgBandStructure, any PmgBandStructure-derived class which has the same signature can be used here.

model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].