from ...potential_definitions import PotSectionDefinition, PotValueDefinition
from ...potential_sections import PotentialSection
[docs]
class GlobalSystemParameter(PotentialSection):
[docs]
def _set_from_atoms(self, atoms, write_io_data):
self["NQ"].set(len(atoms.sites))
self["NT"].set(write_io_data.types.len_of_unique())
self["NM"].set(write_io_data.meshes.len_of_unique())
[docs]
class GlobalSystemParameterDefinition(PotSectionDefinition):
[docs]
def __init__(self, name="GLOBAL SYSTEM PARAMETER", **kwargs):
V = PotValueDefinition
members = [
V("NQ", int),
V("NT", int),
V("NM", int),
V("IREL", 3),
V("NSPIN", int, is_required=False, is_optional=True),
]
super().__init__(name, members, has_hidden_members=True)
result_class = GlobalSystemParameter
section = GlobalSystemParameterDefinition