Source code for mdsuite.database.mdsuite_properties

"""
MDSuite: A Zincwarecode package.

License
-------
This program and the accompanying materials are made available under the terms
of the Eclipse Public License v2.0 which accompanies this distribution, and is
available at https://www.eclipse.org/legal/epl-v20.html

SPDX-License-Identifier: EPL-2.0

Copyright Contributors to the Zincwarecode Project.

Contact Information
-------------------
email: zincwarecode@gmail.com
github: https://github.com/zincware
web: https://zincwarecode.com/

Citation
--------
If you use this module please cite us with:

Summary
-------
"""
from dataclasses import dataclass

from mdsuite.database.simulation_database import PropertyInfo


# disable init. This class is not supposed to be changed from its default values
[docs]@dataclass(frozen=True, init=False) class MDSuiteProperties: """The names of properties used by MDSuite. Use members in the code whenever referencing properties. A string is only needed when writing/reading the database. Non-obvious members are described below: Attributes ---------- scaled_positions: Particle positions relative to the box size. All entries are in [0, box_length] box_length: The lengths of the three sides of the simulation box. Assumes a cuboid. time_step: float The time step of the simulation. Not to be confused with sample_rate. sample_rate: int The number of timesteps between successive samples. """ temperature = PropertyInfo("Temperature", 1) time = PropertyInfo("Time", 1) thermal_flux = PropertyInfo("Thermal_Flux", 3) stress_viscosity = PropertyInfo("Stress_Visc", 3) momentum_flux = PropertyInfo("Momentum_Flux", 3) ionic_current = PropertyInfo("Ionic_Current", 3) translational_dipole_moment = PropertyInfo("Translational_Dipole_Moment", 3) positions = PropertyInfo("Positions", 3) scaled_positions = PropertyInfo("Scaled_Positions", 3) box_length = PropertyInfo("Box_Array", 3) # TODO experiment-wide properties should # get their names from here, too unwrapped_positions = PropertyInfo("Unwrapped_Positions", 3) scaled_unwrapped_positions = PropertyInfo("Scaled_Unwrapped_Positions", 3) velocities = PropertyInfo("Velocities", 3) velocities_from_positions = PropertyInfo("Velocities_From_Positions", 3) momenta = PropertyInfo("Momenta", 3) forces = PropertyInfo("Forces", 3) box_images = PropertyInfo("Box_Images", 3) dipole_orientation_magnitude = PropertyInfo("Dipole_Orientation_Magnitude", 1) angular_velocity_spherical = PropertyInfo("Angular_Velocity_Spherical", 3) angular_velocity_non_spherical = PropertyInfo("Angular_Velocity_Non_Spherical", 3) torque = PropertyInfo("Torque", 3) integrated_heat_current = PropertyInfo("Integrated_Heat_Current", 3) kinaci_heat_current = PropertyInfo("Kinaci_Heat_Current", 3) charge = PropertyInfo("Charge", 1) energy = PropertyInfo("Energy", 1) kinetic_energy = PropertyInfo("Kinetic_Energy", 1) potential_energy = PropertyInfo("Potential_Energy", 1) stress = PropertyInfo("Stress", 6) time_step = PropertyInfo("Time_Step", 1) sample_rate = PropertyInfo("Sample_Rate", 1)
mdsuite_properties = MDSuiteProperties()