Release Notes
Development Branch
Version 1.4.15
April 21, 2024
Fixed reaction lists in BEP section of thermo.yaml openMKM file so reactions are all listed individually and no longer grouped.
Version 1.4.14
February 8, 2024
Fix equilibrium unittest warning messages
Version 1.4.13
February 4, 2024
Fix equilibrium class-Upper bound solver violation
Version 1.4.11
February 3, 2024
Fix unittest for equilibrium class-Missing thermdat file
Fix equilibrium class-Lower bound solver violation
Version 1.4.10
February 2, 2024
Improved NASA9 polynomial fit function
Overall clean-up of NASA9 deprecated code
Version 1.4.9
October 25, 2023
Fixed deprecated numpy function impacting nasa.py and shomate.py Conversion of an array with ndim > 0 to a scalar
Version 1.4.7
August 23, 2023
Fixed improper reaction and lateral interaction ID’s in write_CTI
Version 1.4.6
August 15, 2023
Adding missing dependency for openpyxl
Version 1.4.5
June 23, 2023
Updated .iteritems dpecricated function in Pandas
Cleanup unused imports
Version 1.4.4
May 1, 2023
CRITICAL UPDATE: Fixed Nasa polynomial fit issue for enthalpy and entropy when T_ref > T_mid
Version 1.4.3
Mar. 19, 2023
Updated PIP installation dependency requirements
Version 1.4.2
Mar. 18, 2023
Added new
Equilibrium
class that computes the equilibrium concentration on a network of species by minimizing the network Gibbs free energy while maintaining the total atom balance of the initial starting concentration of speciesMajor GitHub documentation update including the new functionality from v1.3.2 and v1.4.0, corrections noted in the issues database, fixes to broken links, addition of a new “Helper Functions. section, and misc upgrades.
Version 1.3.2
Jan. 26, 2023
Added
S_elements
parameter to entropy and Gibbs free energy methods allowing you to compute an entropy and Gibbs free energy of formation for a single species by including the entropy of the elements in the species.Misc bug fixes
Version 1.2.21
Jul. 3, 2020
Miscellaneous bug fixes for
write_cti()
Added preliminary support for OpenMKM YAML files.
Fixed bug where test OUTCAR file was not present.
Added
ads_act_method
towrite_surf()
andwrite_EA()
to allow users to specify a different method to calculate activation energies for surface versus adsorption reactions.
Version 1.2.20
May 12, 2020
Added sensitivity analysis options in
write_cti()
Added ability to arbitrarily specify pre-exponential constant and activation energy in
SurfaceReaction
Reduced complexity of assigning reaction IDs to
SurfaceReaction
. Before, the ID would be renamed if it had a BEP associated with it. Changed the behavior to just assign numerical values.
Version 1.2.19
Apr. 8, 2020
Fixed bug where
LSR
could not be imported inread_excel()
.Updated
io
sections to incorporate Pathlib libraryAdded helper functions in
omkm
to organize phasesFixed bug where slopes and y intercepts were switched for
PiecewiseCovEffect
when writing CTI files.Fixed bug in
write_surf()
wheren_sites
could be written as a floatUpdated OpenMKM IO example
Version 1.2.18
Jan. 31, 2020
Hotfix to correct broken links in documentation.
Version 1.2.17
Jan. 31, 2020
Added more descriptive warning messages when incorrect temperature values are passed to
Nasa
,Nasa9
, andShomate
.Fixed bug where the conversion factor for Hartrees was incorrect.
Added extra parameters for OpenMKM IO.
Added helper functions for OpenMKM IO to assign phases easily.
Added a helper method in
IdealGas
andStoichSolid
to only assign a reaction to the phase if all the species belong to that phase.Fixed outdated code in Chemkin example and OpenMKM example.
Reorganized documentation to use stubs. Shorter pages should hopefully make the documentation easier to navigate.
Version 1.2.16
Dec. 9, 2019
Hotfix to correct a typo for PyYAML version required.
Version 1.2.15
Dec. 5, 2019
Added
write_yaml()
to write YAML files for OpenMKM.Added warning for
read_excel()
if the header is blank but the cells are occupied.Fixed bug in
read_excel()
wheremodel
was not correctly initialized withStatMech()
.Added the generic method,
set_dict_value()
to specify dictionaries inread_excel()
Removed redundant statements involving returning dictionaries in functions to process Excel data.
Fixed warning raised whenever CpoR = 0 when fitting empirical polynomials.
Version 1.2.14
Oct. 25, 2019
Added functionality to write files (such as
write_thermdat()
) can return a string containing the file iffilename
is not specified.Bug fix where
from_model
forNasa
andShomate
returned errors. The fix was related to incorrect datatyping formisc_models
.Improved
Shomate
to allow users to specify the units for the polynomial coefficients.Energies from Gaussian input functions (
gaussian
) was originally in Hartrees. Changed to allow users to specify what unit they desire (default in eV).Added functionality to write BEP relationships to OpenMKM CTI files.
Restructured OpenMKM CTI writer to be more robust when specifying custom IDs
Added functionality to remove leading and trailing spaces when reading from Excel sheets since users found this error hard to pick up.
Contributors
Qiang Li (lqcata)
Version 1.2.13
Oct. 2, 2019
Fixed bug where small non-zero rotational inertia modes were chosen preferentially over larger contributing modes.
Fixed bug where presets had to be specified before statistical mechanical arguments. Now, the preset will not overwrite any previously set values.
Updated
read_thermdat()
to allow the user to return theNasa
objects as a list, tuple, or dictionary.Updated
write_thermdat()
to accept a list or a dictionary ofNasa
objectsImplemented from_model method in
Nasa
andShomate
classes so empirical objects can be created fromStatMech
objects as well as other empirical objects. Thefrom_statmech
method is deprecated.Added more descriptive warnings and errors.
Created
GasPressureAdj
so entropy and Gibbs energy of gas-phase empirical objects (likeShomate
andNasa
) are dependent on pressure. This object is assigned automatically tomisc_models
ifphase
is ‘g’ or ‘gas’ and theadd_gas_P_adj
can be set to False if users do not wish to assign this object automatically.Thermodynamic quantities of individual species can also be calculated on a per mass basis (i.e. users can calculate quantities in J/g, cal/kg, etc.). The object must contain a dictionary of its composition in
elements
for this functionality.Fixed broken hyperlinks.
Contributors
Geun Ho Gu (googhgoo)
Version 1.2.12
Aug. 22, 2019
Refactored
write_thermdat
so that it is simpler to understandImplemented
Nasa9
andSingleNasa9
polynomialsAdded preliminary CTI file writer for Cantera and OpenMKM
Added Binder notebooks to Examples page so users can try pMuTT before installing
Fixed bug where
StatMech
was not passed when modes were specified indivudally in spreadsheets.
Contributors
Xenhua Zhang (xenhua)
Version 1.2.11
Jun. 18, 2019
Added xlrd dependency so spreadsheets can be read using pandas
Updated documentation page with NAM 2019 instructions.
Version 1.2.10
Jun. 13, 2019
Another hotfix to fix a bug where the version was not incremented correctly
Version 1.2.9
Jun. 13, 2019
Hotfix where pypi created the folder in the old case (pMuTT) instead of lower case (pmutt)
Version 1.2.8
Jun. 13, 2019
Importing from pMuTT is now all in lowercase. (i.e.
import pmutt
instead ofimport pMuTT
)
Version 1.2.7
Jun. 11, 2019
Added documentation page for more verbose installation instructions.
Updated
network
to use graph theory approach using states as nodesBug fix for
LSR
to handle inputs that are not pmutt model objectsAdded ability to create interactive plots with Pygal
Updated
GroundStateElec
to readpotentialenergy
from inputtedAtoms
object.
Version 1.2.6
Apr. 26, 2019
Moved
references
attribute from empirical classes toStatMech
Changed
mix_models
attribute tomisc_models
in indicating any model object can be usedImplemented
DebyeVib
andConstantMode
classesRestructured
BEP
object to act as a transition state species inReaction
objectsImplemented
LSR
objectAdded option to calculate pre-exponential factor using ratio of partition functions or entropy of activation
Added option to use electronic energy as descriptor for
BEP
objectAdded some imperial unit functionality to
pmutt.constants
moduleRenamed
from_
parameter andto
parameter inpmutt.constants.convert_unit()
toinitial
andfinal
Added ability to import individual translational, rotational, vibrational, electronic and nuclear modes to Excel
Renamed
pmutt.statmech.trans.IdealTrans
toFreeTrans
Renamed
pmutt.statmech.elec.IdealElec
toGroundStateElec
Renamed
pmutt.statmech.nucl.IdealNucl
toEmptyNucl
Version 1.2.5
Mar. 21, 2019
Renamed
pmutt.io_
module topmutt.io
Renamed
pmutt.io_.jsonio
module topmutt.io.json
Added preliminary IO support for MongoDB in module:
pmutt.io.db
Bug fixes for Chemkin IO behavior
Version 1.2.4
Mar. 11, 2019
Hotfix to correct Chemkin IO behavior
Version 1.2.3
Feb. 25, 2019
Added
smiles
attribute toStatMech
andEmpiricalBase
classesAdded functions to write Chemkin surf.inp, gas.inp, and EAs.inp files
Added
CovEffect
class to model coverage effects and integrated it withStatMech
andEmpiricalBase
classesAdded
include_ZPE
parameter toget_EoRT
,get_E
,get_delta_EoRT
andget_delta_E
for theStatMech
class andReaction
class to add zero-point energy in calculationsRenamed private methods
_get_delta_quantity
and_get_state_quantity
to public methodsget_delta_quantity
andget_state_quantity
inReaction
classAdded generic method
get_quantity
toStatMech
class so any method can be evaluated. It takes the parametersraise_error
andraise_warning
so the user has the ability to ignore modes if they do not have the desired propertiesAdded
plot_coordinate_diagram
method to theReactions
class to plot coordinate diagrams.Added
get_EoRT
andget_E
methods toStatMech
class to calculate electronic contribution to thermodynamic propertiesAdded
get_EoRT_state
andget_delta_EoRT
methods toReaction
to calculate electronic contribution to reaction propertiesAdded an optional parameter,
activation
, toget_delta_X
methods to specify the difference between the reactants/products and the transition state.Added
pmutt.constants.symmetry_dict
to allow easy look up of common symmetry numbersFixed bug where specie-specific arguments were not passed correctly for
Reaction
class
Version 1.2.2
Jan. 18, 2019
Added option to extract imaginary frequencies from VASP’s OUTCAR files
Added support for imaginary frequencies for
HarmonicVib
andQRRHOVib
classesRestructured
HarmonicVib
andQRRHOVib
classes to calculate vibrational temperatures, scaled wavenumbers and scaled inertia when methods are called (rather than at initialization) to prevent incorrect calculations due to changes in the vibrational wavenumbers.Fixed unit test names
Fixed bug related to
References
andReference
objects not JSON-write compatible.Fixed bug related to referencing in
Shomate
class
Version 1.2.1
Dec. 17, 2018
Added
vib_outcar
special rule forread_excel()
andset_vib_wavenumbers_from_outcar()
to get vibrational frequencies directly from VASP’s OUTCAR file.Added
get_X
methods toNasa
,Shomate
,StatMech
andReaction
to directly calculate thermodynamic properties (such as H, S, F, G) with the appropriate unitsChanged symbol for Hemlholtz energy from A to F
Contributors
Himaghna Bhattacharjee (himaghna)
Version 1.2.0
Dec. 12, 2018
Restructured code to exclude
model
module
Version 1.1.3
Dec. 11, 2018
Added
BEP
classRestructured
Reaction
class so reaction states (i.e. reactants, products, transition states) can be calculated separatelyUpdated
References
class to be able reference any attributeAdded
placeholder
entry topresets
dictionary to represent an empty speciesAdded correction factor to calculate partition coefficient, q, in
IdealElec
class
Version 1.1.2
Nov. 27, 2018
Fixed bugs in
Reaction
class for calculating pre-exponential factorsAdded methods in
Reaction
class to calculate rate constants and activation energy (currently, this just calculates the difference in enthalpy between the reactant/product and the transition state)Quality of life improvements such as allowing
Reaction
class inputs to be a single pmutt object instead of expecting a list
Version 1.1.1
Nov. 7, 2018
Version 1.1.0
Oct. 26, 2018
Updated
Reaction
class to parse stringsNew
Shomate
classNew equation of state classes:
IdealGasEOS
,vanDerWaalsEOS
New
PhaseDiagram
classNew
EinsteinVib
classNew
read_reactions()
function to read species and reactions from Chemkin surf.inp and gas.inp files