schrodinger.application.matsci.boltzmann_avg_props module

Utilities for Boltzmann averaging properties.

Copyright Schrodinger, LLC. All rights reserved.

schrodinger.application.matsci.boltzmann_avg_props.get_conformer_dict(sts)

Return a dictionary of conformers binned from the given structures.

Parameters

sts (list[schrodinger.structure.Structure]) – the structures from which to bin conformers

Return type

dict

Returns

binned conformers, keys are str that are conformer hashes, values are list[schrodinger.structure.Structure]

schrodinger.application.matsci.boltzmann_avg_props.validate_energy_property_names(energy_property_names)

Validate the energy property names.

Parameters

energy_property_names (list) – the energy property names to validate

Raises

ValueError – if there is an issue

schrodinger.application.matsci.boltzmann_avg_props.get_rxnwf_structures(conformer_dict, allow_sibling_groups=False)

Return structures prepared for a reaction workflow.

Parameters
  • conformer_dict (dict) – binned conformers, keys are str that are conformer hashes, values are list[schrodinger.structure.Structure]

  • allow_sibling_groups (bool) – whether to allow sibling groups

Return type

list[schrodinger.structure.Structure]

Returns

structures prepared for a reaction workflow

schrodinger.application.matsci.boltzmann_avg_props.get_averaged_properties(sts, energy_property_names, temps=None, allow_sibling_groups=False, atomic=False, only_lowest_energy=False, dedup_geom_eps=0.25)

Return averaged properties.

Parameters
  • sts (list[schrodinger.structure.Structure]) – the structures whose properties will be averaged

  • energy_property_names (list) – the energy property names to use for averaging

  • temps (list) – temperatures in K, only used for temperature independent property keys

  • allow_sibling_groups (bool) – whether to average over sibling groups

  • atomic (bool) – whether to also average atomic properties

  • only_lowest_energy (bool) – Use only the lowest energy conformer rather than averaging over conformers

  • dedup_geom_eps (float) – reduce the number of calculations by deduplicating the input structures based on geometry, using this threshold in Ang., and only calculating the representatives, a value of zero means no deduplicating

Raises

ValueError – if there is an issue

Return type

list[reaction_workflow_utils.EnergyAnalysisProperty]

Returns

the averaged properties

schrodinger.application.matsci.boltzmann_avg_props.get_averaged_value(eprop, averaged_properties, prop=None)

Get value of the avergaed property using energy property.

Parameters
  • eprop (str) – Energy property

  • averaged_properties (list[rxnwfu.EnergyAnalysisProperty]) – List of avergaed properties

  • prop (str or None) – Whether to use property or energy property

Return type

float

Returns

Averaged value

Raises

AssertionError – If energy property (and property if present) is not found (shouldn’t happen)

schrodinger.application.matsci.boltzmann_avg_props.get_representatives(sts, energy_property_name, temps=None, atomic=False, only_lowest_energy=False, dedup_geom_eps=0.25)

Return representative structures marked with average properties.

Parameters
  • sts (list[schrodinger.structure.Structure]) – the structures whose properties will be averaged

  • energy_property_name (str) – the energy property name to use for averaging

  • temps (list) – temperatures in K, only used for temperature independent property keys

  • atomic (bool) – whether to also average atomic properties

  • only_lowest_energy (bool) – Use only the lowest energy conformer rather than averaging over conformers

  • dedup_geom_eps (float) – reduce the number of calculations by deduplicating the input structures based on geometry, using this threshold in Ang., and only calculating the representatives, a value of zero means no deduplicating

Raises

ValueError – if there is an issue

Return type

list[schrodinger.structure.Structure]

Returns

the representatives