ProjectedDos

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

Bases: BaseModel

Atom and orbital projected DOS.

Parameters:
  • spin_up_densities (list[list[float] | None] | None)

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

  • orbital (list[str | None] | None)

  • site_index (list[int | None] | None)

classmethod from_pmg_like(pdos, structure)

Create a ProjectedDos from a pymatgen-like CompleteDos.pdos.

Return type:

Self

Parameters:
  • pdos (dict[PeriodicSite, dict[Orbital, dict[Spin, ndarray]]])

  • 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)])

to_pmg_like(structure)

Construct a pymatgen-like representation of the projected DOS.

Return type:

dict[PeriodicSite, dict[Orbital, dict[Spin, ndarray]]]

Parameters:

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)])

model_config: ClassVar[ConfigDict] = {}

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