A generic material object

The Material class is used as a communication protocol between the different components of madas. If follows a simple schema:

Every material can be identified by a unique identifier, the mid. This identifier is usually set by the API, and can be reversed to obtain the original data from the external database.

Most materials have atomic structures associated with them. Because this property is not always known, it can be optional.

All data that is obtained from external databases is stored in the materials data attribute.

All data that is computed using madas is stored in the materials properties attribute.

class madas.material.Material(mid, atoms: Atoms | None = None, data=None, properties=None)

A materials base class. Contains the atomic positions as an ASE Atoms object and additional properties as a dictionary.

Arguments:

mid: str

A (unique) identifier that is used as the main identifier in a database.

Keyword arguments:

atoms: ase.Atoms()

Atoms object describing the material

default: None

data: dict

Additional data of the material

default: None

properties: dict

Additional properies of the material

default: None