VlachosGroup / pMuTT

Python Multiscale Thermochemistry Toolbox (pMuTT)
https://vlachosgroup.github.io/pMuTT/
39 stars 21 forks source link

Question #268

Closed Sorin-Jayaweera closed 1 month ago

Sorin-Jayaweera commented 2 months ago

Hello, I'm trying to model the decomposition: image

I'm referencing the "reactions" example: https://notebooks.gesis.org/binder/jupyter/user/vlachosgroup-pmutt-z5bmvquq/notebooks/docs/source/examples_jupyter/reactions/reactions.ipynb and doing the calculation in a google collab notebook.

Where should I go to get the thermodata/ how do i model this decomposition from scratch? I don't know how to generate the nasa for species_list.

also, is this the correct format for reaction from_string: rxn = Reaction.from_string(reaction_str='O2NO2CCO2 = 2CO2 + 2NO2', species=species_dict)

I'm a freshman in college, this is really cool but I'm pretty new to computational chemistry. Sorry for the silly question!

jonlym commented 2 months ago

Hello! Thanks for your interest in pMuTT and your question isn't silly!

Where should I go to get the thermodata

Typically, we find create empirical objects in a couple of ways:

  1. Refer to a textbook that has thermodynamic data (like enthalpy of formation (ΔHf), standard entropy (ΔS), and heat capacity (Cp)) and then fit them to Nasa or Shomate polynomial using the from_data method.
  2. Refer to a database that has empirical correlations already that you can copy manually (for example, the NIST webbook gives the Shomate polynomials that allow you to calculate properties based on temperature).
  3. Calculate them by simulating the molecule using an ab-initio technique like Density Function Theory (DFT)
  4. Measure the thermodynamic data experimentally

Since you're a freshman, option 1 or 2 is probably the easiest.

That being said, I'm not familiar with your reactant. What would you like to calculate using the Reaction object?

Since you have the enthalpy of reaction (ΔH) and enthalpy of formation data for CO2 and NO2 are accessible from textbooks and databases, you can calculate your reactant's enthalpy.

is this the correct format for reaction from_string:

The syntax looks right! It seems like you forgot the end "NO2" in your reactant name but the names are just labels so your code would still work if "O2NO2CCO2" is a key in your species_dict.

Let me know if anything I said wasn't clear or if you want more detail!