# ThermodynamicState

class `openff.evaluator.thermodynamics.``ThermodynamicState`(temperature=None, pressure=None)

  Data specifying a physical thermodynamic state obeying Boltzmann statistics.

  Notes

  Equality of two thermodynamic states is determined by comparing the temperature in kelvin to within 3 decimal places, and comparing the pressure (if defined) in pascals to within 3 decimal places.

  Examples

  Specify an NPT state at 298 K and 1 atm pressure.

      >>> state = ThermodynamicState(temperature=298.0*unit.kelvin, pressure=1.0*unit.atmospheres)

  Note that the pressure is only relevant for periodic systems.

  `__init__`(temperature=None, pressure=None)

    Constructs a new ThermodynamicState object.

    Parameters

      - temperature (pint.Quantity) – The external temperature

      - pressure (pint.Quantity) – The external pressure

  Methods

  `__init__`([temperature, pressure]) | Constructs a new ThermodynamicState object.
  `from_json`(file_path) | Create this object from a JSON file.
  `get_attributes`([attribute_type]) | Returns all attributes of a specific attribute_type.
  `json`([file_path, format]) | Creates a JSON representation of this class.
  `parse_json`(string_contents[, encoding]) | Parses a typed json string into the corresponding class structure.
  `validate`([attribute_type]) | Validate the values of the attributes.

  Attributes

  `beta` | Returns one divided by the temperature multiplied by the molar gas constant
  `inverse_beta` | Returns the temperature multiplied by the molar gas constant
  `pressure` | The external pressure.
  `temperature` | The external temperature.

  property `inverse_beta`

    Returns the temperature multiplied by the molar gas constant

  property `beta`

    Returns one divided by the temperature multiplied by the molar gas constant

  `temperature`

    The external temperature. The default value of this attribute is not set and must be set by the user..

    Type

      Quantity

  `pressure`

    The external pressure. The default value of this attribute is not set. This attribute is optional.

    Type

      Quantity

  `validate`(attribute_type=None)

    Validate the values of the attributes. If attribute_type is set, only attributes of that type will be validated.

    Parameters

      attribute_type (type of Attribute, optional) – The type of attribute to validate.

    Raises

      ValueError or AssertionError –

  classmethod `from_json`(file_path)

    Create this object from a JSON file.

    Parameters

      file_path (str) – The path to load the JSON from.

    Returns

      The parsed class.

    Return type

      cls

  classmethod `get_attributes`(attribute_type=None)

    Returns all attributes of a specific attribute_type.

    Parameters

      attribute_type (type of Attribute, optional) – The type of attribute to search for.

    Returns

      The names of the attributes of the specified type.

    Return type

      list of str

  `json`(file_path=None, format=False)

    Creates a JSON representation of this class.

    Parameters

      - file_path (str, optional) – The (optional) file path to save the JSON file to.

      - format (bool) – Whether to format the JSON or not.

    Returns

      The JSON representation of this class.

    Return type

      str

  classmethod `parse_json`(string_contents, encoding='utf8')

    Parses a typed json string into the corresponding class structure.

    Parameters

      - string_contents (str or bytes) – The typed json string.

      - encoding (str) – The encoding of the string_contents.

    Returns

      The parsed class.

    Return type

      Any