├── .gitignore
├── CODEOWNERS
├── LICENSE.md
├── MANIFEST.in
├── PKG-INFO
├── README.rst
├── conda-pieces
├── bld.bat
├── build.sh
└── meta.yaml
├── docs
├── Makefile
├── VGA_qr-code.png
├── make.bat
├── pGrAdd RGB 2.png
├── pGrAdd RGB 3.png
├── pGrAdd_RGB_github.png
├── pgrad logos.pptx
├── source
│ ├── WorkshopJupyterNotebooks
│ │ ├── OpenMKM_demo
│ │ │ ├── CSTR
│ │ │ │ ├── .ipynb_checkpoints
│ │ │ │ │ └── cstr-checkpoint.ipynb
│ │ │ │ ├── AbyV-1000
│ │ │ │ │ ├── Grxn.out
│ │ │ │ │ ├── Hform.out
│ │ │ │ │ ├── Hrxn.out
│ │ │ │ │ ├── NH3_input.xml
│ │ │ │ │ ├── Sform.out
│ │ │ │ │ ├── Srxn.out
│ │ │ │ │ ├── cstr.yaml
│ │ │ │ │ ├── gas_mass_ss.csv
│ │ │ │ │ ├── gas_mass_tr.csv
│ │ │ │ │ ├── gas_mole_ss.csv
│ │ │ │ │ ├── gas_mole_tr.csv
│ │ │ │ │ ├── gas_msdot_ss.csv
│ │ │ │ │ ├── gas_msdot_tr.csv
│ │ │ │ │ ├── general_info.out
│ │ │ │ │ ├── kc.out
│ │ │ │ │ ├── kf.out
│ │ │ │ │ ├── kr.out
│ │ │ │ │ ├── rates_ss.out
│ │ │ │ │ ├── rctr_state_ss.csv
│ │ │ │ │ ├── rctr_state_tr.csv
│ │ │ │ │ ├── reactions.out
│ │ │ │ │ ├── species.out
│ │ │ │ │ ├── surf_cov_ss.csv
│ │ │ │ │ └── surf_cov_tr.csv
│ │ │ │ ├── AbyV-1500
│ │ │ │ │ ├── Grxn.out
│ │ │ │ │ ├── Hform.out
│ │ │ │ │ ├── Hrxn.out
│ │ │ │ │ ├── NH3_input.xml
│ │ │ │ │ ├── Sform.out
│ │ │ │ │ ├── Srxn.out
│ │ │ │ │ ├── cstr.yaml
│ │ │ │ │ ├── gas_mass_ss.csv
│ │ │ │ │ ├── gas_mass_tr.csv
│ │ │ │ │ ├── gas_mole_ss.csv
│ │ │ │ │ ├── gas_mole_tr.csv
│ │ │ │ │ ├── gas_msdot_ss.csv
│ │ │ │ │ ├── gas_msdot_tr.csv
│ │ │ │ │ ├── general_info.out
│ │ │ │ │ ├── kc.out
│ │ │ │ │ ├── kf.out
│ │ │ │ │ ├── kr.out
│ │ │ │ │ ├── rates_ss.out
│ │ │ │ │ ├── rctr_state_ss.csv
│ │ │ │ │ ├── rctr_state_tr.csv
│ │ │ │ │ ├── reactions.out
│ │ │ │ │ ├── species.out
│ │ │ │ │ ├── surf_cov_ss.csv
│ │ │ │ │ └── surf_cov_tr.csv
│ │ │ │ ├── T-900K
│ │ │ │ │ ├── Grxn.out
│ │ │ │ │ ├── Hform.out
│ │ │ │ │ ├── Hrxn.out
│ │ │ │ │ ├── NH3_input.xml
│ │ │ │ │ ├── Sform.out
│ │ │ │ │ ├── Srxn.out
│ │ │ │ │ ├── cstr.yaml
│ │ │ │ │ ├── gas_mass_ss.csv
│ │ │ │ │ ├── gas_mass_tr.csv
│ │ │ │ │ ├── gas_mole_ss.csv
│ │ │ │ │ ├── gas_mole_tr.csv
│ │ │ │ │ ├── gas_msdot_ss.csv
│ │ │ │ │ ├── gas_msdot_tr.csv
│ │ │ │ │ ├── general_info.out
│ │ │ │ │ ├── kc.out
│ │ │ │ │ ├── kf.out
│ │ │ │ │ ├── kr.out
│ │ │ │ │ ├── rates_ss.out
│ │ │ │ │ ├── rctr_state_ss.csv
│ │ │ │ │ ├── rctr_state_tr.csv
│ │ │ │ │ ├── reactions.out
│ │ │ │ │ ├── species.out
│ │ │ │ │ ├── surf_cov_ss.csv
│ │ │ │ │ └── surf_cov_tr.csv
│ │ │ │ ├── T-950K
│ │ │ │ │ ├── Grxn.out
│ │ │ │ │ ├── Hform.out
│ │ │ │ │ ├── Hrxn.out
│ │ │ │ │ ├── NH3_input.xml
│ │ │ │ │ ├── Sform.out
│ │ │ │ │ ├── Srxn.out
│ │ │ │ │ ├── cstr.yaml
│ │ │ │ │ ├── gas_mass_ss.csv
│ │ │ │ │ ├── gas_mass_tr.csv
│ │ │ │ │ ├── gas_mole_ss.csv
│ │ │ │ │ ├── gas_mole_tr.csv
│ │ │ │ │ ├── gas_msdot_ss.csv
│ │ │ │ │ ├── gas_msdot_tr.csv
│ │ │ │ │ ├── general_info.out
│ │ │ │ │ ├── kc.out
│ │ │ │ │ ├── kf.out
│ │ │ │ │ ├── kr.out
│ │ │ │ │ ├── rates_ss.out
│ │ │ │ │ ├── rctr_state_ss.csv
│ │ │ │ │ ├── rctr_state_tr.csv
│ │ │ │ │ ├── reactions.out
│ │ │ │ │ ├── species.out
│ │ │ │ │ ├── surf_cov_ss.csv
│ │ │ │ │ └── surf_cov_tr.csv
│ │ │ │ ├── cstr.ipynb
│ │ │ │ └── parametric
│ │ │ │ │ ├── Grxn.out
│ │ │ │ │ ├── Hform.out
│ │ │ │ │ ├── Hrxn.out
│ │ │ │ │ ├── NH3_input.xml
│ │ │ │ │ ├── Sform.out
│ │ │ │ │ ├── Srxn.out
│ │ │ │ │ ├── T-900.000000,P-101325.000000,fr-0.000001
│ │ │ │ │ ├── gas_mass_ss.csv
│ │ │ │ │ ├── gas_mass_tr.csv
│ │ │ │ │ ├── gas_mole_ss.csv
│ │ │ │ │ ├── gas_mole_tr.csv
│ │ │ │ │ ├── gas_msdot_ss.csv
│ │ │ │ │ ├── gas_msdot_tr.csv
│ │ │ │ │ ├── rates_ss.out
│ │ │ │ │ ├── rctr_state_ss.csv
│ │ │ │ │ ├── rctr_state_tr.csv
│ │ │ │ │ ├── surf_cov_ss.csv
│ │ │ │ │ └── surf_cov_tr.csv
│ │ │ │ │ ├── T-900.000000,P-91192.500000,fr-0.000001
│ │ │ │ │ ├── gas_mass_ss.csv
│ │ │ │ │ ├── gas_mass_tr.csv
│ │ │ │ │ ├── gas_mole_ss.csv
│ │ │ │ │ ├── gas_mole_tr.csv
│ │ │ │ │ ├── gas_msdot_ss.csv
│ │ │ │ │ ├── gas_msdot_tr.csv
│ │ │ │ │ ├── rates_ss.out
│ │ │ │ │ ├── rctr_state_ss.csv
│ │ │ │ │ ├── rctr_state_tr.csv
│ │ │ │ │ ├── surf_cov_ss.csv
│ │ │ │ │ └── surf_cov_tr.csv
│ │ │ │ │ ├── T-925.000000,P-101325.000000,fr-0.000001
│ │ │ │ │ ├── gas_mass_ss.csv
│ │ │ │ │ ├── gas_mass_tr.csv
│ │ │ │ │ ├── gas_mole_ss.csv
│ │ │ │ │ ├── gas_mole_tr.csv
│ │ │ │ │ ├── gas_msdot_ss.csv
│ │ │ │ │ ├── gas_msdot_tr.csv
│ │ │ │ │ ├── rates_ss.out
│ │ │ │ │ ├── rctr_state_ss.csv
│ │ │ │ │ ├── rctr_state_tr.csv
│ │ │ │ │ ├── surf_cov_ss.csv
│ │ │ │ │ └── surf_cov_tr.csv
│ │ │ │ │ ├── T-925.000000,P-91192.500000,fr-0.000001
│ │ │ │ │ ├── gas_mass_ss.csv
│ │ │ │ │ ├── gas_mass_tr.csv
│ │ │ │ │ ├── gas_mole_ss.csv
│ │ │ │ │ ├── gas_mole_tr.csv
│ │ │ │ │ ├── gas_msdot_ss.csv
│ │ │ │ │ ├── gas_msdot_tr.csv
│ │ │ │ │ ├── rates_ss.out
│ │ │ │ │ ├── rctr_state_ss.csv
│ │ │ │ │ ├── rctr_state_tr.csv
│ │ │ │ │ ├── surf_cov_ss.csv
│ │ │ │ │ └── surf_cov_tr.csv
│ │ │ │ │ ├── cstr.yaml
│ │ │ │ │ ├── general_info.out
│ │ │ │ │ ├── kc.out
│ │ │ │ │ ├── kf.out
│ │ │ │ │ ├── kr.out
│ │ │ │ │ ├── reactions.out
│ │ │ │ │ └── species.out
│ │ │ └── batch
│ │ │ │ ├── .ipynb_checkpoints
│ │ │ │ └── batch-checkpoint.ipynb
│ │ │ │ ├── adiab
│ │ │ │ ├── Grxn.out
│ │ │ │ ├── Hform.out
│ │ │ │ ├── Hrxn.out
│ │ │ │ ├── Sform.out
│ │ │ │ ├── Srxn.out
│ │ │ │ ├── batch.yaml
│ │ │ │ ├── gas_mass_ss.csv
│ │ │ │ ├── gas_mass_tr.csv
│ │ │ │ ├── gas_mole_ss.csv
│ │ │ │ ├── gas_mole_tr.csv
│ │ │ │ ├── gas_msdot_ss.csv
│ │ │ │ ├── gas_msdot_tr.csv
│ │ │ │ ├── general_info.out
│ │ │ │ ├── grimech30.xml
│ │ │ │ ├── kc.out
│ │ │ │ ├── kf.out
│ │ │ │ ├── kr.out
│ │ │ │ ├── rates_ss.out
│ │ │ │ ├── rctr_state_ss.csv
│ │ │ │ ├── rctr_state_tr.csv
│ │ │ │ ├── reactions.out
│ │ │ │ ├── species.out
│ │ │ │ ├── surf_cov_ss.csv
│ │ │ │ └── surf_cov_tr.csv
│ │ │ │ ├── batch.ipynb
│ │ │ │ └── isother
│ │ │ │ ├── Grxn.out
│ │ │ │ ├── Hform.out
│ │ │ │ ├── Hrxn.out
│ │ │ │ ├── Sform.out
│ │ │ │ ├── Srxn.out
│ │ │ │ ├── batch.yaml
│ │ │ │ ├── gas_mass_ss.csv
│ │ │ │ ├── gas_mass_tr.csv
│ │ │ │ ├── gas_mole_ss.csv
│ │ │ │ ├── gas_mole_tr.csv
│ │ │ │ ├── gas_msdot_ss.csv
│ │ │ │ ├── gas_msdot_tr.csv
│ │ │ │ ├── general_info.out
│ │ │ │ ├── grimech30.xml
│ │ │ │ ├── kc.out
│ │ │ │ ├── kf.out
│ │ │ │ ├── kr.out
│ │ │ │ ├── rates_ss.out
│ │ │ │ ├── rctr_state_ss.csv
│ │ │ │ ├── rctr_state_tr.csv
│ │ │ │ ├── reactions.out
│ │ │ │ ├── species.out
│ │ │ │ ├── surf_cov_ss.csv
│ │ │ │ └── surf_cov_tr.csv
│ │ ├── pgradd_demo
│ │ │ ├── .ipynb_checkpoints
│ │ │ │ └── pgradd_demo-checkpoint.ipynb
│ │ │ ├── images
│ │ │ │ ├── CCH2C(S).png
│ │ │ │ ├── CH3CHOH(S).png
│ │ │ │ └── pGrAdd_RGB_github.png
│ │ │ └── pgradd_demo.ipynb
│ │ ├── pmutt_demo
│ │ │ ├── .ipynb_checkpoints
│ │ │ │ ├── pgradd_demo-checkpoint.ipynb
│ │ │ │ └── pmutt_aiche2019-checkpoint.ipynb
│ │ │ ├── images
│ │ │ │ ├── Cu.png
│ │ │ │ ├── H2O.png
│ │ │ │ ├── H2_1.jpg
│ │ │ │ ├── Heatmap_1d.svg
│ │ │ │ ├── Heatmap_2d.png
│ │ │ │ ├── SoftwareEcosystem1.svg
│ │ │ │ ├── StatMech2.svg
│ │ │ │ ├── StatMech_obj.png
│ │ │ │ ├── StatMech_smartart.png
│ │ │ │ ├── VirtualKineticLab.png
│ │ │ │ ├── configurations.png
│ │ │ │ ├── configurations.svg
│ │ │ │ ├── configurations1.svg
│ │ │ │ ├── configurations2.svg
│ │ │ │ ├── example_statmech.png
│ │ │ │ ├── nasa_func1.png
│ │ │ │ ├── pmutt_doc.png
│ │ │ │ ├── pmutt_examples.png
│ │ │ │ ├── pmutt_issues.png
│ │ │ │ ├── pmutt_logo.png
│ │ │ │ ├── reaction.png
│ │ │ │ ├── reaction_capabilities2.svg
│ │ │ │ ├── reaction_capabilities3.svg
│ │ │ │ ├── reaction_func1.png
│ │ │ │ ├── reaction_smartart.png
│ │ │ │ ├── reaction_string.svg
│ │ │ │ ├── rxn_coordinate_diagram.png
│ │ │ │ ├── rxn_coordinate_diagram.svg
│ │ │ │ ├── rxn_coordinate_diagram2.svg
│ │ │ │ ├── statmech_modes.png
│ │ │ │ └── workflow.png
│ │ │ ├── input
│ │ │ │ ├── H2
│ │ │ │ │ └── CONTCAR
│ │ │ │ ├── N2
│ │ │ │ │ └── CONTCAR
│ │ │ │ ├── NH3
│ │ │ │ │ └── CONTCAR
│ │ │ │ └── NH3_Input_Data.xlsx
│ │ │ ├── output
│ │ │ │ └── thermdat
│ │ │ ├── pmutt_aiche2019.html
│ │ │ └── pmutt_aiche2019.ipynb
│ │ └── pmutt_to_omkm
│ │ │ ├── .ipynb_checkpoints
│ │ │ └── OpenMKM_IO-checkpoint.ipynb
│ │ │ ├── OpenMKM_IO.html
│ │ │ ├── OpenMKM_IO.ipynb
│ │ │ ├── OpenMKM_IO.py
│ │ │ ├── inputs
│ │ │ ├── H2
│ │ │ │ └── CONTCAR
│ │ │ ├── N2
│ │ │ │ └── CONTCAR
│ │ │ ├── NH3
│ │ │ │ └── CONTCAR
│ │ │ ├── NH3_Input_Data.xlsx
│ │ │ └── tube_COV.inp
│ │ │ └── outputs
│ │ │ ├── input.cti
│ │ │ └── input.xml
│ ├── _templates
│ │ └── layout.html
│ ├── conf.py
│ ├── examplepage.rst
│ ├── includeme.rst
│ ├── index.rst
│ └── logos
│ │ ├── Print
│ │ ├── pMuTT Logo 431 3265.pdf
│ │ ├── pMuTT Logo 431 White.pdf
│ │ ├── pMuTT Logo Black.pdf
│ │ └── pMuTT Logo White.pdf
│ │ └── Screen
│ │ ├── p_icon.ico
│ │ ├── pgradd_icon.ico
│ │ ├── pgradd_icon.png
│ │ ├── pgradd_inverse_web.png
│ │ └── pgradd_logo.png
└── sphinx-quickstart
├── example
└── GA.py
├── pgradd
├── Consts.py
├── DrawMol.py
├── Error.py
├── GroupAdd
│ ├── DataDir.py
│ ├── FindResStruc.py.old
│ ├── Group.py
│ ├── Library.py
│ ├── Scheme.py
│ └── __init__.py
├── RDkitWrapper
│ ├── GenRxnNet.py
│ ├── MolQuery.py
│ ├── ReactionQuery.py
│ └── __init__.py
├── RINGParser
│ ├── Grammar.py
│ ├── MolQueryRead.py
│ ├── Parser.py
│ ├── ReactionQueryRead.py
│ ├── Reader.py
│ └── __init__.py
├── ThermoChem
│ ├── __init__.py
│ ├── base.py
│ ├── group_data.py
│ ├── incomplete.py
│ └── raw_data.py
├── Units
│ ├── __init__.py
│ ├── builtin.py
│ ├── db.py
│ ├── helpers.py
│ ├── parser.py
│ ├── qty.py
│ └── utils.py
├── __init__.py
├── data
│ ├── BensonGA
│ │ ├── gas_benson
│ │ │ ├── corrections.yaml
│ │ │ ├── extra.yaml
│ │ │ ├── hydrocarbons.yaml
│ │ │ ├── hydrocarbons_original.yaml
│ │ │ ├── index.yaml
│ │ │ ├── nitrogenates.yaml
│ │ │ ├── original.yaml
│ │ │ ├── oxygenates.yaml
│ │ │ ├── radicals.yaml
│ │ │ └── strain.yaml
│ │ ├── library.yaml
│ │ ├── scheme.yaml
│ │ └── surface_benson.lib.yaml
│ ├── GRWAqueous2018
│ │ ├── library.yaml
│ │ ├── scheme.yaml
│ │ ├── surface.yaml
│ │ └── uq.yaml
│ ├── GRWSurface2018
│ │ ├── library.yaml
│ │ ├── scheme.yaml
│ │ ├── surface.yaml
│ │ └── uq.yaml
│ ├── GuSolventGA2017Aq
│ │ ├── library.yaml
│ │ ├── scheme.yaml
│ │ ├── surface.yaml
│ │ └── uq.yaml
│ ├── GuSolventGA2017Vac
│ │ ├── library.yaml
│ │ ├── scheme.yaml
│ │ ├── surface.yaml
│ │ └── uq.yaml
│ ├── PPY
│ │ ├── gas_benson
│ │ │ ├── corrections.yaml
│ │ │ ├── extra.yaml
│ │ │ ├── hydrocarbons.yaml
│ │ │ ├── hydrocarbons_original.yaml
│ │ │ ├── index.yaml
│ │ │ ├── nitrogenates.yaml
│ │ │ ├── original.yaml
│ │ │ ├── oxygenates.yaml
│ │ │ ├── radicals.yaml
│ │ │ └── strain.yaml
│ │ ├── library.yaml
│ │ ├── scheme.yaml
│ │ └── surface_benson.lib.yaml
│ ├── PtSurface2023
│ │ ├── library.yaml
│ │ ├── scheme.yaml
│ │ ├── surface.test.yaml
│ │ ├── surface.yaml
│ │ └── uq.yaml
│ ├── Roel_Ru
│ │ ├── library.yaml
│ │ ├── scheme.yaml
│ │ ├── surface.yaml
│ │ └── surface_old.yaml
│ ├── SalciccioliGA2012
│ │ ├── library.yaml
│ │ ├── scheme.yaml
│ │ ├── surface.yaml
│ │ └── surface_benson.yaml
│ └── XieGA2022
│ │ ├── library.yaml
│ │ ├── scheme.yaml
│ │ └── surface.yaml
├── tests
│ ├── __init__.py
│ ├── test_RINGparser_RDkitwrapper_test.py
│ └── test_SMILES_to_thermo_examples.py
└── yaml_io
│ ├── __init__.py
│ ├── builtins.py
│ ├── common.py
│ ├── lib_interface.py
│ ├── schema.py
│ └── yaml_io.py
└── setup.py
/.gitignore:
--------------------------------------------------------------------------------
1 | #################
2 | ## Eclipse
3 | #################
4 |
5 | *.pydevproject
6 | .project
7 | .metadata
8 | bin/
9 | tmp/
10 | *.tmp
11 | *.bak
12 | *.swp
13 | *~.nib
14 | local.properties
15 | .classpath
16 | .settings/
17 | .loadpath
18 |
19 | # External tool builders
20 | .externalToolBuilders/
21 |
22 | # Locally stored "Eclipse launch configurations"
23 | *.launch
24 |
25 | # CDT-specific
26 | .cproject
27 |
28 | # PDT-specific
29 | .buildpath
30 |
31 |
32 | #################
33 | ## Visual Studio
34 | #################
35 |
36 | ## Ignore Visual Studio temporary files, build results, and
37 | ## files generated by popular Visual Studio add-ons.
38 |
39 | # User-specific files
40 | *.suo
41 | *.user
42 | *.sln.docstates
43 |
44 | # Build results
45 |
46 | [Dd]ebug/
47 | [Rr]elease/
48 | x64/
49 | build/
50 | [Bb]in/
51 | [Oo]bj/
52 |
53 | # MSTest test Results
54 | [Tt]est[Rr]esult*/
55 | [Bb]uild[Ll]og.*
56 |
57 | *_i.c
58 | *_p.c
59 | *.ilk
60 | *.meta
61 | *.obj
62 | *.pch
63 | *.pdb
64 | *.pgc
65 | *.pgd
66 | *.rsp
67 | *.sbr
68 | *.tlb
69 | *.tli
70 | *.tlh
71 | *.tmp
72 | *.tmp_proj
73 | *.log
74 | *.vspscc
75 | *.vssscc
76 | .builds
77 | *.pidb
78 | *.log
79 | *.scc
80 |
81 | # Visual C++ cache files
82 | ipch/
83 | *.aps
84 | *.ncb
85 | *.opensdf
86 | *.sdf
87 | *.cachefile
88 |
89 | # Visual Studio profiler
90 | *.psess
91 | *.vsp
92 | *.vspx
93 |
94 | # Guidance Automation Toolkit
95 | *.gpState
96 |
97 | # ReSharper is a .NET coding add-in
98 | _ReSharper*/
99 | *.[Rr]e[Ss]harper
100 |
101 | # TeamCity is a build add-in
102 | _TeamCity*
103 |
104 | # DotCover is a Code Coverage Tool
105 | *.dotCover
106 |
107 | # NCrunch
108 | *.ncrunch*
109 | .*crunch*.local.xml
110 |
111 | # Installshield output folder
112 | [Ee]xpress/
113 |
114 | # DocProject is a documentation generator add-in
115 | DocProject/buildhelp/
116 | DocProject/Help/*.HxT
117 | DocProject/Help/*.HxC
118 | DocProject/Help/*.hhc
119 | DocProject/Help/*.hhk
120 | DocProject/Help/*.hhp
121 | DocProject/Help/Html2
122 | DocProject/Help/html
123 |
124 | # Click-Once directory
125 | publish/
126 |
127 | # Publish Web Output
128 | *.Publish.xml
129 | *.pubxml
130 | *.publishproj
131 |
132 | # NuGet Packages Directory
133 | ## TODO: If you have NuGet Package Restore enabled, uncomment the next line
134 | #packages/
135 |
136 | # Windows Azure Build Output
137 | csx
138 | *.build.csdef
139 |
140 | # Windows Store app package directory
141 | AppPackages/
142 |
143 | # Others
144 | sql/
145 | *.Cache
146 | ClientBin/
147 | [Ss]tyle[Cc]op.*
148 | ~$*
149 | *~
150 | *.dbmdl
151 | *.[Pp]ublish.xml
152 | *.pfx
153 | *.publishsettings
154 |
155 | # RIA/Silverlight projects
156 | Generated_Code/
157 |
158 | # Backup & report files from converting an old project file to a newer
159 | # Visual Studio version. Backup files are not needed, because we have git ;-)
160 | _UpgradeReport_Files/
161 | Backup*/
162 | UpgradeLog*.XML
163 | UpgradeLog*.htm
164 |
165 | # SQL Server files
166 | App_Data/*.mdf
167 | App_Data/*.ldf
168 |
169 | #############
170 | ## Windows detritus
171 | #############
172 |
173 | # Windows image file caches
174 | Thumbs.db
175 | ehthumbs.db
176 |
177 | # Folder config file
178 | Desktop.ini
179 |
180 | # Recycle Bin used on file shares
181 | $RECYCLE.BIN/
182 |
183 | # Mac crap
184 | .DS_Store
185 |
186 |
187 | #############
188 | ## Python
189 | #############
190 |
191 | *.py[cod]
192 | *.pyc
193 | # Packages
194 | *.egg
195 | *.egg-info
196 | dist/
197 | build/
198 | eggs/
199 | parts/
200 | var/
201 | sdist/
202 | develop-eggs/
203 | .installed.cfg
204 |
205 | # Installer logs
206 | pip-log.txt
207 |
208 | # Unit test / coverage reports
209 | .coverage
210 | .tox
211 |
212 | #Translations
213 | *.mo
214 |
215 | #Mr Developer
216 | .mr.developer.cfg
217 |
218 | #############
219 | ## Matlab
220 | #############
221 | *.fig
222 | *.mat
223 | *.asv
224 | *.txt
225 | *.emf
226 | *.gif
227 | *.eps
228 | *.gif
--------------------------------------------------------------------------------
/CODEOWNERS:
--------------------------------------------------------------------------------
1 | * @jonlym @wittregr
2 |
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2016 Vlachos Research Group
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6 |
7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8 |
9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/MANIFEST.in:
--------------------------------------------------------------------------------
1 | include pgradd/data/*/*
2 | include pgradd/data/*/*/*
3 |
--------------------------------------------------------------------------------
/PKG-INFO:
--------------------------------------------------------------------------------
1 | Name: python-acp
2 | Version: 0.1
3 | Summary: Group Additivity Code
4 | Home-page: https://github.com/VlachosGroup
5 | Author: Gerhard R Wittreich
6 | Author-email: wittregr@udel.edu
7 | License: MIT
8 | Description: See README.md
9 |
--------------------------------------------------------------------------------
/conda-pieces/bld.bat:
--------------------------------------------------------------------------------
1 | "%PYTHON%" setup.py install --single-version-externally-managed --record=record.txt
2 | if errorlevel 1 exit 1
3 |
--------------------------------------------------------------------------------
/conda-pieces/build.sh:
--------------------------------------------------------------------------------
1 | $PYTHON setup.py install --single-version-externally-managed --record=record.txt # Python
2 |
--------------------------------------------------------------------------------
/conda-pieces/meta.yaml:
--------------------------------------------------------------------------------
1 | package:
2 | name: vlachos-group-additivity
3 | version: "1.0.0"
4 |
5 | source:
6 | git_rev: "development"
7 | git_url: "https://github.com/jtfrey/VlachosGroupAdditivity.git"
8 |
9 | requirements:
10 | host:
11 | - python =3.6
12 | - setuptools
13 | run:
14 | - python =3.6
15 | - rdkit >=2008
16 | - scipy >=1.1.0
17 | - numpy >=1.15.1
18 | - ipython >=7.0.0
19 | - pyyaml >=3.0
20 |
21 | about:
22 | home: "https://github.com/VlachosGroup/VlachosGroupAdditivity"
23 | license: MIT
24 | license_file: LICENSE.md
25 |
--------------------------------------------------------------------------------
/docs/Makefile:
--------------------------------------------------------------------------------
1 | # Minimal makefile for Sphinx documentation
2 | #
3 |
4 | # You can set these variables from the command line, and also
5 | # from the environment for the first two.
6 | SPHINXOPTS ?=
7 | SPHINXBUILD ?= sphinx-build
8 | SOURCEDIR = source
9 | BUILDDIR = ../../pGrAdd_docs
10 | PDFBUILDDIR = /tmp
11 | PDF = ../manual.pdf
12 |
13 | # Put it first so that "make" without argument is like "make help".
14 | help:
15 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
16 |
17 | # Builds in a separate directory to make it easier to manage git branches,
18 | # namely the gh-pages branch for deployment
19 | build: FORCE
20 | sphinx-build -b html source ../../pGrAdd_docs
21 | # FORCE is necessary because Make only runs when a dependency changes;
22 | # it doesn't always run build even if something has changed
23 | FORCE: ;
24 |
25 | .PHONY: help Makefile
26 |
27 | # Catch-all target: route all unknown targets to Sphinx using the new
28 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
29 | %: Makefile
30 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
31 |
--------------------------------------------------------------------------------
/docs/VGA_qr-code.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/VGA_qr-code.png
--------------------------------------------------------------------------------
/docs/make.bat:
--------------------------------------------------------------------------------
1 | @ECHO OFF
2 |
3 | pushd %~dp0
4 |
5 | REM Command file for Sphinx documentation
6 |
7 | if "%SPHINXBUILD%" == "" (
8 | set SPHINXBUILD=sphinx-build
9 | )
10 | set SOURCEDIR=source
11 | set BUILDDIR=../../pGrAdd_docs
12 |
13 | if "%1" == "" goto help
14 |
15 | %SPHINXBUILD% >NUL 2>NUL
16 | if errorlevel 9009 (
17 | echo.
18 | echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
19 | echo.installed, then set the SPHINXBUILD environment variable to point
20 | echo.to the full path of the 'sphinx-build' executable. Alternatively you
21 | echo.may add the Sphinx directory to PATH.
22 | echo.
23 | echo.If you don't have Sphinx installed, grab it from
24 | echo.http://sphinx-doc.org/
25 | exit /b 1
26 | )
27 |
28 | %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
29 | goto end
30 |
31 | :help
32 | %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
33 |
34 | :end
35 | popd
36 |
--------------------------------------------------------------------------------
/docs/pGrAdd RGB 2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/pGrAdd RGB 2.png
--------------------------------------------------------------------------------
/docs/pGrAdd RGB 3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/pGrAdd RGB 3.png
--------------------------------------------------------------------------------
/docs/pGrAdd_RGB_github.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/pGrAdd_RGB_github.png
--------------------------------------------------------------------------------
/docs/pgrad logos.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/pgrad logos.pptx
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1000/Grxn.out:
--------------------------------------------------------------------------------
1 | #Dimensionless Gibbs Energies of reactions (G/RT)
2 |
3 | -1.200782e+00H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
4 | 6.366543e+00N2 + RU(S1) <=> N2(S1) + RU(B)
5 | 8.525182e+00NH3 + RU(S1) <=> NH3(S1) + RU(B)
6 | -2.254966e+00NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
7 | -1.056638e+01NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
8 | -6.363024e+00NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
9 | -1.161833e+01N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
10 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1000/Hform.out:
--------------------------------------------------------------------------------
1 | #Dimensionless formation enthalpies of species (H/RT)
2 |
3 | H2 2.54075
4 | N2 3.67659
5 | NH3 -0.543083
6 | RU(B) 0
7 | RU(S1) 0
8 | N2(S1) -5.71758
9 | N(S1) -6.08062
10 | H(S1) -5.38681
11 | NH3(S1) -10.4197
12 | NH2(S1) -3.61964
13 | NH(S1) -7.23755
14 | N2(S2) -12.1648
15 | N(S2) -8.24706
16 | H(S2) -5.75472
17 | NH3(S2) -16.2222
18 | NH2(S2) -13.7116
19 | NH(S2) -12.4485
20 | RU(S2) 0
21 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1000/Hrxn.out:
--------------------------------------------------------------------------------
1 | #Dimensionless enthalpies of reactions (H/RT)
2 |
3 | -13.3144 H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
4 | -9.39417 N2 + RU(S1) <=> N2(S1) + RU(B)
5 | -9.87661 NH3 + RU(S1) <=> NH3(S1) + RU(B)
6 | 1.41325 NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
7 | -9.00472 NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
8 | -4.22988 NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
9 | -6.44366 N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
10 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1000/Sform.out:
--------------------------------------------------------------------------------
1 | #Dimensionless formation entropies of species (S/R)
2 |
3 | H2 18.559
4 | N2 27.1891
5 | NH3 29.0085
6 | RU(B) 0
7 | RU(S1) 0
8 | N2(S1) 11.4284
9 | N(S1) 8.30155
10 | H(S1) 3.22272
11 | NH3(S1) 10.6067
12 | NH2(S1) 11.0522
13 | NH(S1) 9.39112
14 | N2(S2) 11.4284
15 | N(S2) 8.30155
16 | H(S2) 3.22272
17 | NH3(S2) 10.6067
18 | NH2(S2) 11.0522
19 | NH(S2) 9.39112
20 | RU(S2) 0
21 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1000/Srxn.out:
--------------------------------------------------------------------------------
1 | #Dimensionless entropies of reactions (S/R)
2 |
3 | -1.211359e+01H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
4 | -1.576072e+01N2 + RU(S1) <=> N2(S1) + RU(B)
5 | -1.840179e+01NH3 + RU(S1) <=> NH3(S1) + RU(B)
6 | 3.668212e+00NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
7 | 1.561667e+00NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
8 | 2.133142e+00NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
9 | 5.174668e+00N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
10 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1000/cstr.yaml:
--------------------------------------------------------------------------------
1 | reactor:
2 | type: cstr
3 | mode: "isothermal"
4 | volume: "1 cm3"
5 | temperature: 900
6 | pressure: "1 atm"
7 | cat_abyv: "1000 /cm"
8 |
9 | inlet_gas:
10 | flow_rate: "1 cm3/s"
11 |
12 | simulation:
13 | end_time: 50
14 | transient: true
15 | stepping: "logarithmic"
16 | init_step: 1e-15
17 | solver:
18 | atol: 1e-15
19 | rtol: 1e-10
20 | output_format: csv
21 |
22 | phases:
23 | gas:
24 | name: gas
25 | initial_state: "NH3:1.0"
26 | bulk:
27 | name: bulk
28 | surfaces:
29 | - name: terrace
30 | initial_state: "RU(S1):1"
31 | - name: step
32 | initial_state: "RU(S2):1"
33 |
34 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1000/gas_mass_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),H2,N2,NH3
2 | 0.000000e+00,0.000000e+00,0.000000e+00,1.000000e+00
3 | 5.000000e+01,1.795583e-02,8.317383e-02,8.988703e-01
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1000/gas_mole_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),H2,N2,NH3
2 | 0.000000e+00,0.000000e+00,0.000000e+00,1.000000e+00
3 | 5.000000e+01,1.377626e-01,4.592087e-02,8.163165e-01
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1000/gas_msdot_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),H2,N2,NH3
2 | 0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00
3 | 5.000000e+01,2.054045e-09,6.846812e-10,-1.369366e-09
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1000/general_info.out:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------
2 | OpenMKM: version 0.3.0
3 | -----------------------------------------------------------
4 |
5 | OpenMKM is a multiphysics, multiscale, and open source software
6 | aimed at modelng chemical kinetics. It can run pure gas phase
7 | as well as surface mechanisms for heterogeneous catalysis.
8 | OpenMKM is developed at Delaware Energy Institute, University
9 | of Delaware. The development of OpenMKM is funded by RAPID.
10 |
11 |
12 | Reactor density 0.230605
13 | Reactor Temperature mode: isothermal
14 | Program ran for 1501 milliseconds
15 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1000/kc.out:
--------------------------------------------------------------------------------
1 | #Equilibrium constants of reactions
2 |
3 | 2.453878e+02H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
4 | 1.268836e-01N2 + RU(S1) <=> N2(S1) + RU(B)
5 | 1.465280e-02NH3 + RU(S1) <=> NH3(S1) + RU(B)
6 | 9.534966e+00NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
7 | 3.880803e+04NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
8 | 5.799975e+02NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
9 | 1.111157e+05N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
10 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1000/kf.out:
--------------------------------------------------------------------------------
1 | #Forward rate constants of reactions
2 |
3 | 5.637531e+17H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
4 | 3.948538e+09N2 + RU(S1) <=> N2(S1) + RU(B)
5 | 5.064136e+09NH3 + RU(S1) <=> NH3(S1) + RU(B)
6 | 4.699657e+13NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
7 | 8.415966e+15NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
8 | 1.351483e+15NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
9 | 3.654642e+05N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
10 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1000/kr.out:
--------------------------------------------------------------------------------
1 | #Reverse rate constants of reactions
2 |
3 | 2.297397e+15H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
4 | 3.111938e+10N2 + RU(S1) <=> N2(S1) + RU(B)
5 | 3.456087e+11NH3 + RU(S1) <=> NH3(S1) + RU(B)
6 | 4.928865e+12NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
7 | 2.168615e+11NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
8 | 2.330154e+12NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
9 | 3.289042e+00N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
10 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1000/rates_ss.out:
--------------------------------------------------------------------------------
1 | Fwd Rate Rev Rate Net Rate Partial Equil. Reaction String
2 | 2.127292e-01 2.127292e-01 -2.054044e-08 5.000000e-01 H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
3 | 3.491964e-02 3.491965e-02 -6.846814e-09 5.000000e-01 N2 + RU(S1) <=> N2(S1) + RU(B)
4 | 7.961362e-01 7.961362e-01 1.369363e-08 5.000000e-01 NH3 + RU(S1) <=> NH3(S1) + RU(B)
5 | 1.409903e-08 4.053995e-10 1.369363e-08 9.720499e-01 NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
6 | 2.325018e-06 2.311324e-06 1.369363e-08 5.014768e-01 NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
7 | 1.144128e-04 1.143991e-04 1.369363e-08 5.000299e-01 NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
8 | 5.832667e-15 6.846819e-09 -6.846814e-09 8.518790e-07 N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
9 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1000/rctr_state_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),Temperature(K),Pressure(Pa),Density(kg/m3),U(J/kg)
2 | 0.000000e+00,9.000000e+02,1.013250e+05,2.306051e-01,-6.780116e+05
3 | 5.000000e+01,9.000000e+02,1.013250e+05,2.094259e-01,-4.472819e+05
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1000/reactions.out:
--------------------------------------------------------------------------------
1 | H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
2 | N2 + RU(S1) <=> N2(S1) + RU(B)
3 | NH3 + RU(S1) <=> NH3(S1) + RU(B)
4 | NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
5 | NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
6 | NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
7 | N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
8 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1000/species.out:
--------------------------------------------------------------------------------
1 | Species_name Phase Surf_cov H N Ru He
2 | H2 Gas 0 2 0 0 0
3 | N2 Gas 0 0 2 0 0
4 | NH3 Gas 0 3 1 0 0
5 | RU(B) Bulk 0 0 0 1 0
6 | RU(S1) Surface 0.656303 0 0 1 0
7 | N2(S1) Surface 5.17798e-05 0 2 0 0
8 | N(S1) Surface 0.327178 0 1 0 0
9 | H(S1) Surface 0.0161907 1 0 0 0
10 | NH3(S1) Surface 9.73331e-07 3 1 0 0
11 | NH2(S1) Surface 8.96313e-07 2 1 0 0
12 | NH(S1) Surface 0.000274664 1 1 0 0
13 | N2(S2) Surface 0 0 2 0 0
14 | N(S2) Surface 0 0 1 0 0
15 | H(S2) Surface 0 1 0 0 0
16 | NH3(S2) Surface 0 3 1 0 0
17 | NH2(S2) Surface 0 2 1 0 0
18 | NH(S2) Surface 0 1 1 0 0
19 | RU(S2) Surface 1 0 0 1 0
20 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1000/surf_cov_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),RU(S1),N2(S1),N(S1),H(S1),NH3(S1),NH2(S1),NH(S1),N2(S2),N(S2),H(S2),NH3(S2),NH2(S2),NH(S2),RU(S2)
2 | 0.000000e+00,1.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,1.000000e+00
3 | 5.000000e+01,6.563032e-01,5.177975e-05,3.271778e-01,1.619070e-02,9.733311e-07,8.963133e-07,2.746640e-04,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,1.000000e+00
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1500/Grxn.out:
--------------------------------------------------------------------------------
1 | #Dimensionless Gibbs Energies of reactions (G/RT)
2 |
3 | -1.200782e+00H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
4 | 6.366543e+00N2 + RU(S1) <=> N2(S1) + RU(B)
5 | 8.525182e+00NH3 + RU(S1) <=> NH3(S1) + RU(B)
6 | -2.254966e+00NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
7 | -1.056638e+01NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
8 | -6.363024e+00NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
9 | -1.161833e+01N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
10 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1500/Hform.out:
--------------------------------------------------------------------------------
1 | #Dimensionless formation enthalpies of species (H/RT)
2 |
3 | H2 2.54075
4 | N2 3.67659
5 | NH3 -0.543083
6 | RU(B) 0
7 | RU(S1) 0
8 | N2(S1) -5.71758
9 | N(S1) -6.08062
10 | H(S1) -5.38681
11 | NH3(S1) -10.4197
12 | NH2(S1) -3.61964
13 | NH(S1) -7.23755
14 | N2(S2) -12.1648
15 | N(S2) -8.24706
16 | H(S2) -5.75472
17 | NH3(S2) -16.2222
18 | NH2(S2) -13.7116
19 | NH(S2) -12.4485
20 | RU(S2) 0
21 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1500/Hrxn.out:
--------------------------------------------------------------------------------
1 | #Dimensionless enthalpies of reactions (H/RT)
2 |
3 | -13.3144 H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
4 | -9.39417 N2 + RU(S1) <=> N2(S1) + RU(B)
5 | -9.87661 NH3 + RU(S1) <=> NH3(S1) + RU(B)
6 | 1.41325 NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
7 | -9.00472 NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
8 | -4.22988 NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
9 | -6.44366 N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
10 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1500/Sform.out:
--------------------------------------------------------------------------------
1 | #Dimensionless formation entropies of species (S/R)
2 |
3 | H2 18.559
4 | N2 27.1891
5 | NH3 29.0085
6 | RU(B) 0
7 | RU(S1) 0
8 | N2(S1) 11.4284
9 | N(S1) 8.30155
10 | H(S1) 3.22272
11 | NH3(S1) 10.6067
12 | NH2(S1) 11.0522
13 | NH(S1) 9.39112
14 | N2(S2) 11.4284
15 | N(S2) 8.30155
16 | H(S2) 3.22272
17 | NH3(S2) 10.6067
18 | NH2(S2) 11.0522
19 | NH(S2) 9.39112
20 | RU(S2) 0
21 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1500/Srxn.out:
--------------------------------------------------------------------------------
1 | #Dimensionless entropies of reactions (S/R)
2 |
3 | -1.211359e+01H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
4 | -1.576072e+01N2 + RU(S1) <=> N2(S1) + RU(B)
5 | -1.840179e+01NH3 + RU(S1) <=> NH3(S1) + RU(B)
6 | 3.668212e+00NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
7 | 1.561667e+00NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
8 | 2.133142e+00NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
9 | 5.174668e+00N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
10 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1500/cstr.yaml:
--------------------------------------------------------------------------------
1 | reactor:
2 | type: cstr
3 | mode: "isothermal"
4 | volume: "1 cm3"
5 | temperature: 900
6 | pressure: "1 atm"
7 | cat_abyv: "1500 /cm"
8 |
9 | inlet_gas:
10 | flow_rate: "1 cm3/s"
11 |
12 | simulation:
13 | end_time: 50
14 | transient: true
15 | stepping: "logarithmic"
16 | init_step: 1e-15
17 | solver:
18 | atol: 1e-15
19 | rtol: 1e-10
20 | output_format: csv
21 |
22 | phases:
23 | gas:
24 | name: gas
25 | initial_state: "NH3:1.0"
26 | bulk:
27 | name: bulk
28 | surfaces:
29 | - name: terrace
30 | initial_state: "RU(S1):1"
31 | - name: step
32 | initial_state: "RU(S2):1"
33 |
34 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1500/gas_mass_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),H2,N2,NH3
2 | 0.000000e+00,0.000000e+00,0.000000e+00,1.000000e+00
3 | 5.000000e+01,2.484879e-02,1.151029e-01,8.600483e-01
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1500/gas_mole_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),H2,N2,NH3
2 | 0.000000e+00,0.000000e+00,0.000000e+00,1.000000e+00
3 | 5.000000e+01,1.841548e-01,6.138494e-02,7.544603e-01
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1500/gas_msdot_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),H2,N2,NH3
2 | 0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00
3 | 5.000000e+01,2.842560e-09,9.475199e-10,-1.895031e-09
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1500/general_info.out:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------
2 | OpenMKM: version 0.3.0
3 | -----------------------------------------------------------
4 |
5 | OpenMKM is a multiphysics, multiscale, and open source software
6 | aimed at modelng chemical kinetics. It can run pure gas phase
7 | as well as surface mechanisms for heterogeneous catalysis.
8 | OpenMKM is developed at Delaware Energy Institute, University
9 | of Delaware. The development of OpenMKM is funded by RAPID.
10 |
11 |
12 | Reactor density 0.230605
13 | Reactor Temperature mode: isothermal
14 | Program ran for 1748 milliseconds
15 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1500/kc.out:
--------------------------------------------------------------------------------
1 | #Equilibrium constants of reactions
2 |
3 | 2.453878e+02H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
4 | 1.268836e-01N2 + RU(S1) <=> N2(S1) + RU(B)
5 | 1.465280e-02NH3 + RU(S1) <=> NH3(S1) + RU(B)
6 | 9.534966e+00NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
7 | 3.880803e+04NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
8 | 5.799975e+02NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
9 | 1.111157e+05N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
10 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1500/kf.out:
--------------------------------------------------------------------------------
1 | #Forward rate constants of reactions
2 |
3 | 5.637531e+17H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
4 | 3.948538e+09N2 + RU(S1) <=> N2(S1) + RU(B)
5 | 5.064136e+09NH3 + RU(S1) <=> NH3(S1) + RU(B)
6 | 4.699657e+13NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
7 | 8.415966e+15NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
8 | 1.351483e+15NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
9 | 3.654642e+05N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
10 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1500/kr.out:
--------------------------------------------------------------------------------
1 | #Reverse rate constants of reactions
2 |
3 | 2.297397e+15H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
4 | 3.111938e+10N2 + RU(S1) <=> N2(S1) + RU(B)
5 | 3.456087e+11NH3 + RU(S1) <=> NH3(S1) + RU(B)
6 | 4.928865e+12NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
7 | 2.168615e+11NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
8 | 2.330154e+12NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
9 | 3.289042e+00N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
10 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1500/rates_ss.out:
--------------------------------------------------------------------------------
1 | Fwd Rate Rev Rate Net Rate Partial Equil. Reaction String
2 | 2.839608e-01 2.839608e-01 -1.895039e-08 5.000000e-01 H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
3 | 4.664567e-02 4.664567e-02 -6.316798e-09 5.000000e-01 N2 + RU(S1) <=> N2(S1) + RU(B)
4 | 7.352837e-01 7.352837e-01 1.263359e-08 5.000000e-01 NH3 + RU(S1) <=> NH3(S1) + RU(B)
5 | 1.324467e-08 6.110733e-10 1.263359e-08 9.558975e-01 NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
6 | 3.021793e-06 3.009159e-06 1.263359e-08 5.010474e-01 NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
7 | 1.314019e-04 1.313893e-04 1.263359e-08 5.000240e-01 NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
8 | 7.785713e-15 6.316805e-09 -6.316797e-09 1.232538e-06 N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
9 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1500/rctr_state_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),Temperature(K),Pressure(Pa),Density(kg/m3),U(J/kg)
2 | 0.000000e+00,9.000000e+02,1.013250e+05,2.306051e-01,-6.780116e+05
3 | 5.000000e+01,9.000000e+02,1.013250e+05,2.022937e-01,-3.587085e+05
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1500/reactions.out:
--------------------------------------------------------------------------------
1 | H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
2 | N2 + RU(S1) <=> N2(S1) + RU(B)
3 | NH3 + RU(S1) <=> NH3(S1) + RU(B)
4 | NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
5 | NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
6 | NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
7 | N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
8 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1500/species.out:
--------------------------------------------------------------------------------
1 | Species_name Phase Surf_cov H N Ru He
2 | H2 Gas 0 2 0 0 0
3 | N2 Gas 0 0 2 0 0
4 | NH3 Gas 0 3 1 0 0
5 | RU(B) Bulk 0 0 0 1 0
6 | RU(S1) Surface 0.655835 0 0 1 0
7 | N2(S1) Surface 6.91674e-05 0 2 0 0
8 | N(S1) Surface 0.324837 0 1 0 0
9 | H(S1) Surface 0.0189413 1 0 0 0
10 | NH3(S1) Surface 9.15004e-07 3 1 0 0
11 | NH2(S1) Surface 1.16576e-06 2 1 0 0
12 | NH(S1) Surface 0.000315674 1 1 0 0
13 | N2(S2) Surface 0 0 2 0 0
14 | N(S2) Surface 0 0 1 0 0
15 | H(S2) Surface 0 1 0 0 0
16 | NH3(S2) Surface 0 3 1 0 0
17 | NH2(S2) Surface 0 2 1 0 0
18 | NH(S2) Surface 0 1 1 0 0
19 | RU(S2) Surface 1 0 0 1 0
20 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/AbyV-1500/surf_cov_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),RU(S1),N2(S1),N(S1),H(S1),NH3(S1),NH2(S1),NH(S1),N2(S2),N(S2),H(S2),NH3(S2),NH2(S2),NH(S2),RU(S2)
2 | 0.000000e+00,1.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,1.000000e+00
3 | 5.000000e+01,6.558345e-01,6.916740e-05,3.248372e-01,1.894132e-02,9.150036e-07,1.165758e-06,3.156740e-04,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,1.000000e+00
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-900K/Grxn.out:
--------------------------------------------------------------------------------
1 | #Dimensionless Gibbs Energies of reactions (G/RT)
2 |
3 | -1.200782e+00H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
4 | 6.366543e+00N2 + RU(S1) <=> N2(S1) + RU(B)
5 | 8.525182e+00NH3 + RU(S1) <=> NH3(S1) + RU(B)
6 | -2.254966e+00NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
7 | -1.056638e+01NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
8 | -6.363024e+00NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
9 | -1.161833e+01N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
10 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-900K/Hform.out:
--------------------------------------------------------------------------------
1 | #Dimensionless formation enthalpies of species (H/RT)
2 |
3 | H2 2.54075
4 | N2 3.67659
5 | NH3 -0.543083
6 | RU(B) 0
7 | RU(S1) 0
8 | N2(S1) -5.71758
9 | N(S1) -6.08062
10 | H(S1) -5.38681
11 | NH3(S1) -10.4197
12 | NH2(S1) -3.61964
13 | NH(S1) -7.23755
14 | N2(S2) -12.1648
15 | N(S2) -8.24706
16 | H(S2) -5.75472
17 | NH3(S2) -16.2222
18 | NH2(S2) -13.7116
19 | NH(S2) -12.4485
20 | RU(S2) 0
21 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-900K/Hrxn.out:
--------------------------------------------------------------------------------
1 | #Dimensionless enthalpies of reactions (H/RT)
2 |
3 | -13.3144 H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
4 | -9.39417 N2 + RU(S1) <=> N2(S1) + RU(B)
5 | -9.87661 NH3 + RU(S1) <=> NH3(S1) + RU(B)
6 | 1.41325 NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
7 | -9.00472 NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
8 | -4.22988 NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
9 | -6.44366 N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
10 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-900K/Sform.out:
--------------------------------------------------------------------------------
1 | #Dimensionless formation entropies of species (S/R)
2 |
3 | H2 18.559
4 | N2 27.1891
5 | NH3 29.0085
6 | RU(B) 0
7 | RU(S1) 0
8 | N2(S1) 11.4284
9 | N(S1) 8.30155
10 | H(S1) 3.22272
11 | NH3(S1) 10.6067
12 | NH2(S1) 11.0522
13 | NH(S1) 9.39112
14 | N2(S2) 11.4284
15 | N(S2) 8.30155
16 | H(S2) 3.22272
17 | NH3(S2) 10.6067
18 | NH2(S2) 11.0522
19 | NH(S2) 9.39112
20 | RU(S2) 0
21 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-900K/Srxn.out:
--------------------------------------------------------------------------------
1 | #Dimensionless entropies of reactions (S/R)
2 |
3 | -1.211359e+01H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
4 | -1.576072e+01N2 + RU(S1) <=> N2(S1) + RU(B)
5 | -1.840179e+01NH3 + RU(S1) <=> NH3(S1) + RU(B)
6 | 3.668212e+00NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
7 | 1.561667e+00NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
8 | 2.133142e+00NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
9 | 5.174668e+00N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
10 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-900K/cstr.yaml:
--------------------------------------------------------------------------------
1 | reactor:
2 | type: cstr
3 | mode: "isothermal"
4 | volume: "1 cm3"
5 | temperature: 900
6 | pressure: "1 atm"
7 | cat_abyv: "1500 /cm"
8 |
9 | inlet_gas:
10 | flow_rate: "1 cm3/s"
11 |
12 | simulation:
13 | end_time: 50
14 | transient: true
15 | stepping: "logarithmic"
16 | init_step: 1e-15
17 | solver:
18 | atol: 1e-15
19 | rtol: 1e-10
20 | output_format: csv
21 |
22 | phases:
23 | gas:
24 | name: gas
25 | initial_state: "NH3:1.0"
26 | bulk:
27 | name: bulk
28 | surfaces:
29 | - name: terrace
30 | initial_state: "RU(S1):1"
31 | - name: step
32 | initial_state: "RU(S2):1"
33 |
34 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-900K/gas_mass_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),H2,N2,NH3
2 | 0.000000e+00,0.000000e+00,0.000000e+00,1.000000e+00
3 | 5.000000e+01,2.484879e-02,1.151029e-01,8.600483e-01
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-900K/gas_mole_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),H2,N2,NH3
2 | 0.000000e+00,0.000000e+00,0.000000e+00,1.000000e+00
3 | 5.000000e+01,1.841548e-01,6.138494e-02,7.544603e-01
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-900K/gas_msdot_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),H2,N2,NH3
2 | 0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00
3 | 5.000000e+01,2.842560e-09,9.475199e-10,-1.895031e-09
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-900K/general_info.out:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------
2 | OpenMKM: version 0.3.0
3 | -----------------------------------------------------------
4 |
5 | OpenMKM is a multiphysics, multiscale, and open source software
6 | aimed at modelng chemical kinetics. It can run pure gas phase
7 | as well as surface mechanisms for heterogeneous catalysis.
8 | OpenMKM is developed at Delaware Energy Institute, University
9 | of Delaware. The development of OpenMKM is funded by RAPID.
10 |
11 |
12 | Reactor density 0.230605
13 | Reactor Temperature mode: isothermal
14 | Program ran for 1771 milliseconds
15 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-900K/kc.out:
--------------------------------------------------------------------------------
1 | #Equilibrium constants of reactions
2 |
3 | 2.453878e+02H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
4 | 1.268836e-01N2 + RU(S1) <=> N2(S1) + RU(B)
5 | 1.465280e-02NH3 + RU(S1) <=> NH3(S1) + RU(B)
6 | 9.534966e+00NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
7 | 3.880803e+04NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
8 | 5.799975e+02NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
9 | 1.111157e+05N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
10 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-900K/kf.out:
--------------------------------------------------------------------------------
1 | #Forward rate constants of reactions
2 |
3 | 5.637531e+17H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
4 | 3.948538e+09N2 + RU(S1) <=> N2(S1) + RU(B)
5 | 5.064136e+09NH3 + RU(S1) <=> NH3(S1) + RU(B)
6 | 4.699657e+13NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
7 | 8.415966e+15NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
8 | 1.351483e+15NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
9 | 3.654642e+05N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
10 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-900K/kr.out:
--------------------------------------------------------------------------------
1 | #Reverse rate constants of reactions
2 |
3 | 2.297397e+15H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
4 | 3.111938e+10N2 + RU(S1) <=> N2(S1) + RU(B)
5 | 3.456087e+11NH3 + RU(S1) <=> NH3(S1) + RU(B)
6 | 4.928865e+12NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
7 | 2.168615e+11NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
8 | 2.330154e+12NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
9 | 3.289042e+00N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
10 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-900K/rates_ss.out:
--------------------------------------------------------------------------------
1 | Fwd Rate Rev Rate Net Rate Partial Equil. Reaction String
2 | 2.839608e-01 2.839608e-01 -1.895039e-08 5.000000e-01 H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
3 | 4.664567e-02 4.664567e-02 -6.316798e-09 5.000000e-01 N2 + RU(S1) <=> N2(S1) + RU(B)
4 | 7.352837e-01 7.352837e-01 1.263359e-08 5.000000e-01 NH3 + RU(S1) <=> NH3(S1) + RU(B)
5 | 1.324467e-08 6.110733e-10 1.263359e-08 9.558975e-01 NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
6 | 3.021793e-06 3.009159e-06 1.263359e-08 5.010474e-01 NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
7 | 1.314019e-04 1.313893e-04 1.263359e-08 5.000240e-01 NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
8 | 7.785713e-15 6.316805e-09 -6.316797e-09 1.232538e-06 N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
9 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-900K/rctr_state_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),Temperature(K),Pressure(Pa),Density(kg/m3),U(J/kg)
2 | 0.000000e+00,9.000000e+02,1.013250e+05,2.306051e-01,-6.780116e+05
3 | 5.000000e+01,9.000000e+02,1.013250e+05,2.022937e-01,-3.587085e+05
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-900K/reactions.out:
--------------------------------------------------------------------------------
1 | H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
2 | N2 + RU(S1) <=> N2(S1) + RU(B)
3 | NH3 + RU(S1) <=> NH3(S1) + RU(B)
4 | NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
5 | NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
6 | NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
7 | N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
8 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-900K/species.out:
--------------------------------------------------------------------------------
1 | Species_name Phase Surf_cov H N Ru He
2 | H2 Gas 0 2 0 0 0
3 | N2 Gas 0 0 2 0 0
4 | NH3 Gas 0 3 1 0 0
5 | RU(B) Bulk 0 0 0 1 0
6 | RU(S1) Surface 0.655835 0 0 1 0
7 | N2(S1) Surface 6.91674e-05 0 2 0 0
8 | N(S1) Surface 0.324837 0 1 0 0
9 | H(S1) Surface 0.0189413 1 0 0 0
10 | NH3(S1) Surface 9.15004e-07 3 1 0 0
11 | NH2(S1) Surface 1.16576e-06 2 1 0 0
12 | NH(S1) Surface 0.000315674 1 1 0 0
13 | N2(S2) Surface 0 0 2 0 0
14 | N(S2) Surface 0 0 1 0 0
15 | H(S2) Surface 0 1 0 0 0
16 | NH3(S2) Surface 0 3 1 0 0
17 | NH2(S2) Surface 0 2 1 0 0
18 | NH(S2) Surface 0 1 1 0 0
19 | RU(S2) Surface 1 0 0 1 0
20 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-900K/surf_cov_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),RU(S1),N2(S1),N(S1),H(S1),NH3(S1),NH2(S1),NH(S1),N2(S2),N(S2),H(S2),NH3(S2),NH2(S2),NH(S2),RU(S2)
2 | 0.000000e+00,1.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,1.000000e+00
3 | 5.000000e+01,6.558345e-01,6.916740e-05,3.248372e-01,1.894132e-02,9.150036e-07,1.165758e-06,3.156740e-04,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,1.000000e+00
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-950K/Grxn.out:
--------------------------------------------------------------------------------
1 | #Dimensionless Gibbs Energies of reactions (G/RT)
2 |
3 | -5.307398e-01H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
4 | 6.863297e+00N2 + RU(S1) <=> N2(S1) + RU(B)
5 | 9.054515e+00NH3 + RU(S1) <=> NH3(S1) + RU(B)
6 | -2.388350e+00NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
7 | -1.011018e+01NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
8 | -6.154350e+00NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
9 | -1.138801e+01N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
10 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-950K/Hform.out:
--------------------------------------------------------------------------------
1 | #Dimensionless formation enthalpies of species (H/RT)
2 |
3 | H2 2.09654
4 | N2 3.72787
5 | NH3 -0.147436
6 | RU(B) 0
7 | RU(S1) 0
8 | N2(S1) -5.27114
9 | N(S1) -3.56812
10 | H(S1) -4.65972
11 | NH3(S1) -9.8833
12 | NH2(S1) -1.58364
13 | NH(S1) -4.76196
14 | N2(S2) -11.379
15 | N(S2) -5.62054
16 | H(S2) -5.00826
17 | NH3(S2) -15.3804
18 | NH2(S2) -11.1444
19 | NH(S2) -9.69862
20 | RU(S2) 0
21 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-950K/Hrxn.out:
--------------------------------------------------------------------------------
1 | #Dimensionless enthalpies of reactions (H/RT)
2 |
3 | -11.416 H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
4 | -8.99902 N2 + RU(S1) <=> N2(S1) + RU(B)
5 | -9.73587 NH3 + RU(S1) <=> NH3(S1) + RU(B)
6 | 3.63995 NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
7 | -7.83804 NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
8 | -3.46587 NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
9 | -1.8651 N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
10 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-950K/Sform.out:
--------------------------------------------------------------------------------
1 | #Dimensionless formation entropies of species (S/R)
2 |
3 | H2 18.2408
4 | N2 27.4405
5 | NH3 29.3855
6 | RU(B) 0
7 | RU(S1) 0
8 | N2(S1) 11.5782
9 | N(S1) 10.5506
10 | H(S1) 3.67781
11 | NH3(S1) 10.5951
12 | NH2(S1) 12.9456
13 | NH(S1) 11.5399
14 | N2(S2) 11.5782
15 | N(S2) 10.5506
16 | H(S2) 3.67781
17 | NH3(S2) 10.5951
18 | NH2(S2) 12.9456
19 | NH(S2) 11.5399
20 | RU(S2) 0
21 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-950K/Srxn.out:
--------------------------------------------------------------------------------
1 | #Dimensionless entropies of reactions (S/R)
2 |
3 | -1.088523e+01H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
4 | -1.586231e+01N2 + RU(S1) <=> N2(S1) + RU(B)
5 | -1.879038e+01NH3 + RU(S1) <=> NH3(S1) + RU(B)
6 | 6.028299e+00NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
7 | 2.272135e+00NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
8 | 2.688476e+00NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
9 | 9.522915e+00N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
10 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-950K/cstr.yaml:
--------------------------------------------------------------------------------
1 | reactor:
2 | type: cstr
3 | mode: "isothermal"
4 | volume: "1 cm3"
5 | temperature: 950
6 | pressure: "1 atm"
7 | cat_abyv: "1500 /cm"
8 |
9 | inlet_gas:
10 | flow_rate: "1 cm3/s"
11 |
12 | simulation:
13 | end_time: 50
14 | transient: true
15 | stepping: "logarithmic"
16 | init_step: 1e-15
17 | solver:
18 | atol: 1e-15
19 | rtol: 1e-10
20 | output_format: csv
21 |
22 | phases:
23 | gas:
24 | name: gas
25 | initial_state: "NH3:1.0"
26 | bulk:
27 | name: bulk
28 | surfaces:
29 | - name: terrace
30 | initial_state: "RU(S1):1"
31 | - name: step
32 | initial_state: "RU(S2):1"
33 |
34 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-950K/gas_mass_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),H2,N2,NH3
2 | 0.000000e+00,0.000000e+00,0.000000e+00,1.000000e+00
3 | 5.000000e+01,4.861014e-02,2.251687e-01,7.262212e-01
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-950K/gas_mole_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),H2,N2,NH3
2 | 0.000000e+00,0.000000e+00,0.000000e+00,1.000000e+00
3 | 5.000000e+01,3.224015e-01,1.074672e-01,5.701313e-01
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-950K/gas_msdot_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),H2,N2,NH3
2 | 0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00
3 | 5.000000e+01,5.268057e-09,1.756016e-09,-3.512036e-09
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-950K/general_info.out:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------
2 | OpenMKM: version 0.3.0
3 | -----------------------------------------------------------
4 |
5 | OpenMKM is a multiphysics, multiscale, and open source software
6 | aimed at modelng chemical kinetics. It can run pure gas phase
7 | as well as surface mechanisms for heterogeneous catalysis.
8 | OpenMKM is developed at Delaware Energy Institute, University
9 | of Delaware. The development of OpenMKM is funded by RAPID.
10 |
11 |
12 | Reactor density 0.218468
13 | Reactor Temperature mode: isothermal
14 | Program ran for 1659 milliseconds
15 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-950K/kc.out:
--------------------------------------------------------------------------------
1 | #Equilibrium constants of reactions
2 |
3 | 1.325374e+02H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
4 | 8.149841e-02N2 + RU(S1) <=> N2(S1) + RU(B)
5 | 9.109937e-03NH3 + RU(S1) <=> NH3(S1) + RU(B)
6 | 1.089550e+01NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
7 | 2.459199e+04NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
8 | 4.707610e+02NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
9 | 8.825735e+04N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
10 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-950K/kf.out:
--------------------------------------------------------------------------------
1 | #Forward rate constants of reactions
2 |
3 | 5.792013e+17H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
4 | 4.056737e+09N2 + RU(S1) <=> N2(S1) + RU(B)
5 | 5.202905e+09NH3 + RU(S1) <=> NH3(S1) + RU(B)
6 | 1.256904e+14NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
7 | 1.584829e+16NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
8 | 2.791521e+15NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
9 | 2.960692e+06N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
10 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-950K/kr.out:
--------------------------------------------------------------------------------
1 | #Reverse rate constants of reactions
2 |
3 | 4.370096e+15H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
4 | 4.977689e+10N2 + RU(S1) <=> N2(S1) + RU(B)
5 | 5.711242e+11NH3 + RU(S1) <=> NH3(S1) + RU(B)
6 | 1.153599e+13NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
7 | 6.444494e+11NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
8 | 5.929807e+12NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
9 | 3.354612e+01N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
10 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-950K/rates_ss.out:
--------------------------------------------------------------------------------
1 | Fwd Rate Rev Rate Net Rate Partial Equil. Reaction String
2 | 4.990360e-01 4.990360e-01 -3.512034e-08 5.000000e-01 H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
3 | 8.072067e-02 8.072068e-02 -1.170678e-08 5.000000e-01 N2 + RU(S1) <=> N2(S1) + RU(B)
4 | 5.492282e-01 5.492282e-01 2.341356e-08 5.000000e-01 NH3 + RU(S1) <=> NH3(S1) + RU(B)
5 | 2.498098e-08 1.567421e-09 2.341356e-08 9.409599e-01 NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
6 | 6.112267e-06 6.088853e-06 2.341356e-08 5.009595e-01 NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
7 | 3.149643e-04 3.149409e-04 2.341356e-08 5.000186e-01 NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
8 | 6.929845e-14 1.170685e-08 -1.170678e-08 5.919444e-06 N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
9 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-950K/rctr_state_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),Temperature(K),Pressure(Pa),Density(kg/m3),U(J/kg)
2 | 0.000000e+00,9.500000e+02,1.013250e+05,2.184680e-01,-5.321786e+05
3 | 5.000000e+01,9.500000e+02,1.013250e+05,1.715117e-01,-4.434874e+03
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-950K/reactions.out:
--------------------------------------------------------------------------------
1 | H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
2 | N2 + RU(S1) <=> N2(S1) + RU(B)
3 | NH3 + RU(S1) <=> NH3(S1) + RU(B)
4 | NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
5 | NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
6 | NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
7 | N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
8 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-950K/species.out:
--------------------------------------------------------------------------------
1 | Species_name Phase Surf_cov H N Ru He
2 | H2 Gas 0 2 0 0 0
3 | N2 Gas 0 0 2 0 0
4 | NH3 Gas 0 3 1 0 0
5 | RU(B) Bulk 0 0 0 1 0
6 | RU(S1) Surface 0.666031 0 0 1 0
7 | N2(S1) Surface 7.48304e-05 0 2 0 0
8 | N(S1) Surface 0.308883 0 1 0 0
9 | H(S1) Surface 0.0246488 1 0 0 0
10 | NH3(S1) Surface 6.35412e-07 3 1 0 0
11 | NH2(S1) Surface 1.23301e-06 2 1 0 0
12 | NH(S1) Surface 0.000360718 1 1 0 0
13 | N2(S2) Surface 0 0 2 0 0
14 | N(S2) Surface 0 0 1 0 0
15 | H(S2) Surface 0 1 0 0 0
16 | NH3(S2) Surface 0 3 1 0 0
17 | NH2(S2) Surface 0 2 1 0 0
18 | NH(S2) Surface 0 1 1 0 0
19 | RU(S2) Surface 1 0 0 1 0
20 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/T-950K/surf_cov_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),RU(S1),N2(S1),N(S1),H(S1),NH3(S1),NH2(S1),NH(S1),N2(S2),N(S2),H(S2),NH3(S2),NH2(S2),NH(S2),RU(S2)
2 | 0.000000e+00,1.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,1.000000e+00
3 | 5.000000e+01,6.660307e-01,7.483041e-05,3.088831e-01,2.464880e-02,6.354118e-07,1.233013e-06,3.607183e-04,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,1.000000e+00
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/Grxn.out:
--------------------------------------------------------------------------------
1 | #Dimensionless Gibbs Energies of reactions (G/RT)
2 |
3 | -1.200782e+00H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
4 | 6.366543e+00N2 + RU(S1) <=> N2(S1) + RU(B)
5 | 8.525182e+00NH3 + RU(S1) <=> NH3(S1) + RU(B)
6 | -2.254966e+00NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
7 | -1.056638e+01NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
8 | -6.363024e+00NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
9 | -1.161833e+01N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
10 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/Hform.out:
--------------------------------------------------------------------------------
1 | #Dimensionless formation enthalpies of species (H/RT)
2 |
3 | H2 2.54075
4 | N2 3.67659
5 | NH3 -0.543083
6 | RU(B) 0
7 | RU(S1) 0
8 | N2(S1) -5.71758
9 | N(S1) -6.08062
10 | H(S1) -5.38681
11 | NH3(S1) -10.4197
12 | NH2(S1) -3.61964
13 | NH(S1) -7.23755
14 | N2(S2) -12.1648
15 | N(S2) -8.24706
16 | H(S2) -5.75472
17 | NH3(S2) -16.2222
18 | NH2(S2) -13.7116
19 | NH(S2) -12.4485
20 | RU(S2) 0
21 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/Hrxn.out:
--------------------------------------------------------------------------------
1 | #Dimensionless enthalpies of reactions (H/RT)
2 |
3 | -13.3144 H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
4 | -9.39417 N2 + RU(S1) <=> N2(S1) + RU(B)
5 | -9.87661 NH3 + RU(S1) <=> NH3(S1) + RU(B)
6 | 1.41325 NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
7 | -9.00472 NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
8 | -4.22988 NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
9 | -6.44366 N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
10 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/Sform.out:
--------------------------------------------------------------------------------
1 | #Dimensionless formation entropies of species (S/R)
2 |
3 | H2 18.559
4 | N2 27.1891
5 | NH3 29.0085
6 | RU(B) 0
7 | RU(S1) 0
8 | N2(S1) 11.4284
9 | N(S1) 8.30155
10 | H(S1) 3.22272
11 | NH3(S1) 10.6067
12 | NH2(S1) 11.0522
13 | NH(S1) 9.39112
14 | N2(S2) 11.4284
15 | N(S2) 8.30155
16 | H(S2) 3.22272
17 | NH3(S2) 10.6067
18 | NH2(S2) 11.0522
19 | NH(S2) 9.39112
20 | RU(S2) 0
21 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/Srxn.out:
--------------------------------------------------------------------------------
1 | #Dimensionless entropies of reactions (S/R)
2 |
3 | -1.211359e+01H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
4 | -1.576072e+01N2 + RU(S1) <=> N2(S1) + RU(B)
5 | -1.840179e+01NH3 + RU(S1) <=> NH3(S1) + RU(B)
6 | 3.668212e+00NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
7 | 1.561667e+00NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
8 | 2.133142e+00NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
9 | 5.174668e+00N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
10 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/T-900.000000,P-101325.000000,fr-0.000001/gas_mass_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),H2,N2,NH3
2 | 0.000000e+00,0.000000e+00,0.000000e+00,1.000000e+00
3 | 5.000000e+01,2.484879e-02,1.151029e-01,8.600483e-01
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/T-900.000000,P-101325.000000,fr-0.000001/gas_mole_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),H2,N2,NH3
2 | 0.000000e+00,0.000000e+00,0.000000e+00,1.000000e+00
3 | 5.000000e+01,1.841548e-01,6.138494e-02,7.544603e-01
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/T-900.000000,P-101325.000000,fr-0.000001/gas_msdot_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),H2,N2,NH3
2 | 0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00
3 | 5.000000e+01,2.842560e-09,9.475199e-10,-1.895031e-09
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/T-900.000000,P-101325.000000,fr-0.000001/rates_ss.out:
--------------------------------------------------------------------------------
1 | Fwd Rate Rev Rate Net Rate Partial Equil. Reaction String
2 | 2.839608e-01 2.839608e-01 -1.895039e-08 5.000000e-01 H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
3 | 4.664567e-02 4.664567e-02 -6.316798e-09 5.000000e-01 N2 + RU(S1) <=> N2(S1) + RU(B)
4 | 7.352837e-01 7.352837e-01 1.263359e-08 5.000000e-01 NH3 + RU(S1) <=> NH3(S1) + RU(B)
5 | 1.324467e-08 6.110733e-10 1.263359e-08 9.558975e-01 NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
6 | 3.021793e-06 3.009159e-06 1.263359e-08 5.010474e-01 NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
7 | 1.314019e-04 1.313893e-04 1.263359e-08 5.000240e-01 NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
8 | 7.785713e-15 6.316805e-09 -6.316797e-09 1.232538e-06 N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
9 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/T-900.000000,P-101325.000000,fr-0.000001/rctr_state_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),Temperature(K),Pressure(Pa),Density(kg/m3),U(J/kg)
2 | 0.000000e+00,9.000000e+02,1.013250e+05,2.306051e-01,-6.780116e+05
3 | 5.000000e+01,9.000000e+02,1.013250e+05,2.022937e-01,-3.587085e+05
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/T-900.000000,P-101325.000000,fr-0.000001/surf_cov_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),RU(S1),N2(S1),N(S1),H(S1),NH3(S1),NH2(S1),NH(S1),N2(S2),N(S2),H(S2),NH3(S2),NH2(S2),NH(S2),RU(S2)
2 | 0.000000e+00,1.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,1.000000e+00
3 | 5.000000e+01,6.558345e-01,6.916740e-05,3.248372e-01,1.894132e-02,9.150036e-07,1.165758e-06,3.156740e-04,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,1.000000e+00
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/T-900.000000,P-91192.500000,fr-0.000001/gas_mass_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),H2,N2,NH3
2 | 0.000000e+00,0.000000e+00,0.000000e+00,1.000000e+00
3 | 5.000000e+01,2.540329e-02,1.176715e-01,8.569253e-01
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/T-900.000000,P-91192.500000,fr-0.000001/gas_mole_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),H2,N2,NH3
2 | 0.000000e+00,0.000000e+00,0.000000e+00,1.000000e+00
3 | 5.000000e+01,1.877499e-01,6.258329e-02,7.496669e-01
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/T-900.000000,P-91192.500000,fr-0.000001/gas_msdot_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),H2,N2,NH3
2 | 0.000000e+00,2.842560e-09,9.475199e-10,-1.895031e-09
3 | 5.000000e+01,2.615392e-09,8.717969e-10,-1.743598e-09
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/T-900.000000,P-91192.500000,fr-0.000001/rates_ss.out:
--------------------------------------------------------------------------------
1 | Fwd Rate Rev Rate Net Rate Partial Equil. Reaction String
2 | 2.619439e-01 2.619439e-01 -1.743594e-08 5.000000e-01 H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
3 | 4.291467e-02 4.291468e-02 -5.811981e-09 5.000000e-01 N2 + RU(S1) <=> N2(S1) + RU(B)
4 | 6.593026e-01 6.593026e-01 1.162396e-08 5.000000e-01 NH3 + RU(S1) <=> NH3(S1) + RU(B)
5 | 1.215114e-08 5.271763e-10 1.162396e-08 9.584191e-01 NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
6 | 2.711879e-06 2.700255e-06 1.162396e-08 5.010739e-01 NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
7 | 1.259013e-04 1.258897e-04 1.162396e-08 5.000231e-01 NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
8 | 7.182048e-15 5.811988e-09 -5.811981e-09 1.235728e-06 N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
9 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/T-900.000000,P-91192.500000,fr-0.000001/rctr_state_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),Temperature(K),Pressure(Pa),Density(kg/m3),U(J/kg)
2 | 0.000000e+00,9.000000e+02,9.119250e+04,2.075446e-01,-6.780116e+05
3 | 5.000000e+01,9.000000e+02,9.119250e+04,1.815669e-01,-3.515833e+05
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/T-900.000000,P-91192.500000,fr-0.000001/surf_cov_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),RU(S1),N2(S1),N(S1),H(S1),NH3(S1),NH2(S1),NH(S1),N2(S2),N(S2),H(S2),NH3(S2),NH2(S2),NH(S2),RU(S2)
2 | 0.000000e+00,6.558345e-01,6.916740e-05,3.248372e-01,1.894132e-02,9.150036e-07,1.165758e-06,3.156740e-04,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,1.000000e+00
3 | 5.000000e+01,6.575817e-01,6.363498e-05,3.235973e-01,1.845388e-02,8.372271e-07,1.043419e-06,3.016561e-04,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,1.000000e+00
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/T-925.000000,P-101325.000000,fr-0.000001/gas_mass_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),H2,N2,NH3
2 | 0.000000e+00,0.000000e+00,0.000000e+00,1.000000e+00
3 | 5.000000e+01,3.579159e-02,1.657914e-01,7.984170e-01
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/T-925.000000,P-101325.000000,fr-0.000001/gas_mole_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),H2,N2,NH3
2 | 0.000000e+00,0.000000e+00,0.000000e+00,1.000000e+00
3 | 5.000000e+01,2.516468e-01,8.388227e-02,6.644709e-01
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/T-925.000000,P-101325.000000,fr-0.000001/gas_msdot_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),H2,N2,NH3
2 | 0.000000e+00,2.615392e-09,8.717969e-10,-1.743598e-09
3 | 5.000000e+01,3.983696e-09,1.327898e-09,-2.655795e-09
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/T-925.000000,P-101325.000000,fr-0.000001/rates_ss.out:
--------------------------------------------------------------------------------
1 | Fwd Rate Rev Rate Net Rate Partial Equil. Reaction String
2 | 3.888520e-01 3.888520e-01 -2.655796e-08 5.000000e-01 H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
3 | 6.337291e-02 6.337292e-02 -8.852653e-09 5.000000e-01 N2 + RU(S1) <=> N2(S1) + RU(B)
4 | 6.438408e-01 6.438408e-01 1.770530e-08 5.000000e-01 NH3 + RU(S1) <=> NH3(S1) + RU(B)
5 | 1.874410e-08 1.038798e-09 1.770531e-08 9.474901e-01 NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
6 | 4.436865e-06 4.419160e-06 1.770531e-08 5.009996e-01 NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
7 | 2.083478e-04 2.083301e-04 1.770531e-08 5.000212e-01 NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
8 | 2.452901e-14 8.852677e-09 -8.852653e-09 2.770794e-06 N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
9 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/T-925.000000,P-101325.000000,fr-0.000001/rctr_state_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),Temperature(K),Pressure(Pa),Density(kg/m3),U(J/kg)
2 | 0.000000e+00,9.250000e+02,1.013250e+05,2.243725e-01,-6.062028e+05
3 | 5.000000e+01,9.250000e+02,1.013250e+05,1.867308e-01,-1.788621e+05
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/T-925.000000,P-101325.000000,fr-0.000001/surf_cov_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),RU(S1),N2(S1),N(S1),H(S1),NH3(S1),NH2(S1),NH(S1),N2(S2),N(S2),H(S2),NH3(S2),NH2(S2),NH(S2),RU(S2)
2 | 0.000000e+00,6.575817e-01,6.363498e-05,3.235973e-01,1.845388e-02,8.372271e-07,1.043419e-06,3.016561e-04,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,1.000000e+00
3 | 5.000000e+01,6.610402e-01,7.386798e-05,3.166424e-01,2.189929e-02,7.754968e-07,1.227415e-06,3.422779e-04,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,1.000000e+00
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/T-925.000000,P-91192.500000,fr-0.000001/gas_mass_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),H2,N2,NH3
2 | 0.000000e+00,0.000000e+00,0.000000e+00,1.000000e+00
3 | 5.000000e+01,3.654478e-02,1.692803e-01,7.941749e-01
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/T-925.000000,P-91192.500000,fr-0.000001/gas_mole_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),H2,N2,NH3
2 | 0.000000e+00,0.000000e+00,0.000000e+00,1.000000e+00
3 | 5.000000e+01,2.560385e-01,8.534618e-02,6.586153e-01
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/T-925.000000,P-91192.500000,fr-0.000001/gas_msdot_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),H2,N2,NH3
2 | 0.000000e+00,3.983696e-09,1.327898e-09,-2.655795e-09
3 | 5.000000e+01,3.660773e-09,1.220258e-09,-2.440520e-09
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/T-925.000000,P-91192.500000,fr-0.000001/rates_ss.out:
--------------------------------------------------------------------------------
1 | Fwd Rate Rev Rate Net Rate Partial Equil. Reaction String
2 | 3.580830e-01 3.580831e-01 -2.440516e-08 5.000000e-01 H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
3 | 5.819445e-02 5.819445e-02 -8.135053e-09 5.000000e-01 N2 + RU(S1) <=> N2(S1) + RU(B)
4 | 5.759680e-01 5.759680e-01 1.627011e-08 5.000000e-01 NH3 + RU(S1) <=> NH3(S1) + RU(B)
5 | 1.716335e-08 8.932464e-10 1.627011e-08 9.505307e-01 NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
6 | 3.972666e-06 3.956396e-06 1.627011e-08 5.010260e-01 NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
7 | 1.994238e-04 1.994075e-04 1.627011e-08 5.000204e-01 NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
8 | 2.258809e-14 8.135075e-09 -8.135053e-09 2.776621e-06 N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
9 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/T-925.000000,P-91192.500000,fr-0.000001/rctr_state_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),Temperature(K),Pressure(Pa),Density(kg/m3),U(J/kg)
2 | 0.000000e+00,9.250000e+02,9.119250e+04,2.019353e-01,-6.062028e+05
3 | 5.000000e+01,9.250000e+02,9.119250e+04,1.674665e-01,-1.698691e+05
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/T-925.000000,P-91192.500000,fr-0.000001/surf_cov_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),RU(S1),N2(S1),N(S1),H(S1),NH3(S1),NH2(S1),NH(S1),N2(S2),N(S2),H(S2),NH3(S2),NH2(S2),NH(S2),RU(S2)
2 | 0.000000e+00,6.610402e-01,7.386798e-05,3.166424e-01,2.189929e-02,7.754968e-07,1.227415e-06,3.422779e-04,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,1.000000e+00
3 | 5.000000e+01,6.629021e-01,6.783192e-05,3.153807e-01,2.132095e-02,7.081021e-07,1.095912e-06,3.266972e-04,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,1.000000e+00
4 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/cstr.yaml:
--------------------------------------------------------------------------------
1 | reactor:
2 | type: cstr
3 | mode: "isothermal"
4 | volume: "1 cm3"
5 | temperature: 900
6 | pressure: "1 atm"
7 | cat_abyv: "1500 /cm"
8 |
9 | inlet_gas:
10 | flow_rate: "1 cm3/s"
11 |
12 | simulation:
13 | end_time: 50
14 | transient: true
15 | stepping: "logarithmic"
16 | init_step: 1e-15
17 | solver:
18 | atol: 1e-15
19 | rtol: 1e-10
20 | output_format: csv
21 | multi_input:
22 | temperature:
23 | - 900
24 | - 925
25 | pressure:
26 | - "1 atm"
27 | - "0.9 atm"
28 |
29 | phases:
30 | gas:
31 | name: gas
32 | initial_state: "NH3:1.0"
33 | bulk:
34 | name: bulk
35 | surfaces:
36 | - name: terrace
37 | initial_state: "RU(S1):1"
38 | - name: step
39 | initial_state: "RU(S2):1"
40 |
41 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/general_info.out:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------
2 | OpenMKM: version 0.3.0
3 | -----------------------------------------------------------
4 |
5 | OpenMKM is a multiphysics, multiscale, and open source software
6 | aimed at modelng chemical kinetics. It can run pure gas phase
7 | as well as surface mechanisms for heterogeneous catalysis.
8 | OpenMKM is developed at Delaware Energy Institute, University
9 | of Delaware. The development of OpenMKM is funded by RAPID.
10 |
11 |
12 | Reactor density 0.230605
13 | Reactor Temperature mode: isothermal
14 | Program ran for 5736 milliseconds
15 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/kc.out:
--------------------------------------------------------------------------------
1 | #Equilibrium constants of reactions
2 |
3 | 2.453878e+02H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
4 | 1.268836e-01N2 + RU(S1) <=> N2(S1) + RU(B)
5 | 1.465280e-02NH3 + RU(S1) <=> NH3(S1) + RU(B)
6 | 9.534966e+00NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
7 | 3.880803e+04NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
8 | 5.799975e+02NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
9 | 1.111157e+05N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
10 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/kf.out:
--------------------------------------------------------------------------------
1 | #Forward rate constants of reactions
2 |
3 | 5.637531e+17H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
4 | 3.948538e+09N2 + RU(S1) <=> N2(S1) + RU(B)
5 | 5.064136e+09NH3 + RU(S1) <=> NH3(S1) + RU(B)
6 | 4.699657e+13NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
7 | 8.415966e+15NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
8 | 1.351483e+15NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
9 | 3.654642e+05N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
10 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/kr.out:
--------------------------------------------------------------------------------
1 | #Reverse rate constants of reactions
2 |
3 | 2.297397e+15H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
4 | 3.111938e+10N2 + RU(S1) <=> N2(S1) + RU(B)
5 | 3.456087e+11NH3 + RU(S1) <=> NH3(S1) + RU(B)
6 | 4.928865e+12NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
7 | 2.168615e+11NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
8 | 2.330154e+12NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
9 | 3.289042e+00N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
10 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/reactions.out:
--------------------------------------------------------------------------------
1 | H2 + 2 RU(S1) <=> 2 H(S1) + 2 RU(B)
2 | N2 + RU(S1) <=> N2(S1) + RU(B)
3 | NH3 + RU(S1) <=> NH3(S1) + RU(B)
4 | NH3(S1) + RU(S1) <=> H(S1) + NH2(S1) + RU(B)
5 | NH2(S1) + RU(S1) <=> H(S1) + NH(S1) + RU(B)
6 | NH(S1) + RU(S1) <=> H(S1) + N(S1) + RU(B)
7 | N2(S1) + RU(S1) <=> 2 N(S1) + RU(B)
8 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/CSTR/parametric/species.out:
--------------------------------------------------------------------------------
1 | Species_name Phase Surf_cov H N Ru He
2 | H2 Gas 0 2 0 0 0
3 | N2 Gas 0 0 2 0 0
4 | NH3 Gas 0 3 1 0 0
5 | RU(B) Bulk 0 0 0 1 0
6 | RU(S1) Surface 0.662902 0 0 1 0
7 | N2(S1) Surface 6.78319e-05 0 2 0 0
8 | N(S1) Surface 0.315381 0 1 0 0
9 | H(S1) Surface 0.021321 1 0 0 0
10 | NH3(S1) Surface 7.08102e-07 3 1 0 0
11 | NH2(S1) Surface 1.09591e-06 2 1 0 0
12 | NH(S1) Surface 0.000326697 1 1 0 0
13 | N2(S2) Surface 0 0 2 0 0
14 | N(S2) Surface 0 0 1 0 0
15 | H(S2) Surface 0 1 0 0 0
16 | NH3(S2) Surface 0 3 1 0 0
17 | NH2(S2) Surface 0 2 1 0 0
18 | NH(S2) Surface 0 1 1 0 0
19 | RU(S2) Surface 1 0 0 1 0
20 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/batch/adiab/Hform.out:
--------------------------------------------------------------------------------
1 | #Dimensionless formation enthalpies of species (H/RT)
2 |
3 | H2 2.48916
4 | H 27.9482
5 | O 31.7265
6 | O2 2.73246
7 | OH 7.24474
8 | H2O -25.9265
9 | HO2 5.06482
10 | H2O2 -11.7701
11 | C 87.8668
12 | CH 74.3249
13 | CH2 50.5124
14 | CH2(S) 54.9234
15 | CH3 21.8104
16 | CH4 -4.31044
17 | CO -10.6703
18 | CO2 -43.2616
19 | HCO 8.56825
20 | CH2O -8.8591
21 | CH2OH 3.71214
22 | CH3O 7.04562
23 | CH3OH -18.3088
24 | C2H 72.0592
25 | C2H2 32.3589
26 | C2H3 41.4398
27 | C2H4 12.4036
28 | C2H5 21.25
29 | C2H6 -2.32114
30 | HCCO 26.5165
31 | CH2CO 0.297078
32 | HCCOH 15.8306
33 | N 58.5486
34 | NH 45.4047
35 | NH2 26.3107
36 | NH3 -1.58753
37 | NNH 33.5283
38 | NO 13.6411
39 | NO2 8.04702
40 | N2O 13.9213
41 | HNO 16.2191
42 | CN 55.3353
43 | HCN 19.4545
44 | H2CN 34.215
45 | HCNN 60.8265
46 | HCNO 25.7633
47 | HOCN 3.46699
48 | HNCO -9.14053
49 | NCO 20.0373
50 | N2 2.58359
51 | AR 1.75537
52 | C3H7 22.4417
53 | C3H8 -1.3464
54 | CH2CHO 9.71619
55 | CH3CHO -12.5474
56 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/batch/adiab/Sform.out:
--------------------------------------------------------------------------------
1 | #Dimensionless formation entropies of species (S/R)
2 |
3 | H2 19.9972
4 | H 16.8252
5 | O 22.4678
6 | O2 29.3009
7 | OH 26.4306
8 | H2O 27.9966
9 | HO2 33.4991
10 | H2O2 35.7686
11 | C 22.0458
12 | CH 26.3766
13 | CH2 29.0641
14 | CH2(S) 28.2454
15 | CH3 30.2095
16 | CH4 29.8699
17 | CO 28.2132
18 | CO2 32.3942
19 | HCO 32.8514
20 | CH2O 33.1283
21 | CH2OH 38.3442
22 | CH3O 35.6562
23 | CH3OH 38.2186
24 | C2H 32.4549
25 | C2H2 32.3502
26 | C2H3 36.9432
27 | C2H4 36.131
28 | C2H5 40.9306
29 | C2H6 39.8977
30 | HCCO 38.3356
31 | CH2CO 39.0122
32 | HCCOH 38.9811
33 | N 21.4658
34 | NH 26.1158
35 | NH2 28.8914
36 | NH3 29.65
37 | NNH 32.9204
38 | NO 29.8955
39 | NO2 35.4399
40 | N2O 33.3202
41 | HNO 32.3128
42 | CN 28.8373
43 | HCN 30.5142
44 | H2CN 34.3302
45 | HCNN 38.9072
46 | HCNO 37.8215
47 | HOCN 37.2486
48 | HNCO 37.3174
49 | NCO 34.9645
50 | N2 27.4367
51 | AR 21.6379
52 | C3H7 51.3944
53 | C3H8 50.2019
54 | CH2CHO 43.134
55 | CH3CHO 43.6906
56 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/batch/adiab/batch.yaml:
--------------------------------------------------------------------------------
1 | reactor:
2 | type: batch
3 | mode: "adiabatic"
4 | volume: "1 cm3"
5 | temperature: 1001
6 | pressure: "1 atm"
7 |
8 | simulation:
9 | end_time: 0.001
10 | stepping: regular
11 | init_step: 1e-6
12 | solver:
13 | atol: 1e-10
14 | rtol: 1e-8
15 | output_format: csv
16 | transient: true
17 |
18 | phases:
19 | gas:
20 | name: gas
21 | initial_state: "H2:2,O2:1,N2:4"
22 |
23 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/batch/adiab/gas_mass_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),H2,H,O,O2,OH,H2O,HO2,H2O2,C,CH,CH2,CH2(S),CH3,CH4,CO,CO2,HCO,CH2O,CH2OH,CH3O,CH3OH,C2H,C2H2,C2H3,C2H4,C2H5,C2H6,HCCO,CH2CO,HCCOH,N,NH,NH2,NH3,NNH,NO,NO2,N2O,HNO,CN,HCN,H2CN,HCNN,HCNO,HOCN,HNCO,NCO,N2,AR,C3H7,C3H8,CH2CHO,CH3CHO
2 | 1.000000e-03,3.562803e-03,5.664247e-04,3.283939e-03,1.623651e-02,1.764479e-02,1.970597e-01,1.101272e-05,9.274497e-07,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,1.539911e-06,3.260806e-07,9.641885e-08,8.554750e-08,9.294234e-08,9.266960e-03,3.480121e-06,1.240191e-06,1.168532e-06,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,7.523589e-01,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00
3 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/batch/adiab/gas_mole_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),H2,H,O,O2,OH,H2O,HO2,H2O2,C,CH,CH2,CH2(S),CH3,CH4,CO,CO2,HCO,CH2O,CH2OH,CH3O,CH3OH,C2H,C2H2,C2H3,C2H4,C2H5,C2H6,HCCO,CH2CO,HCCOH,N,NH,NH2,NH3,NNH,NO,NO2,N2O,HNO,CN,HCN,H2CN,HCNN,HCNO,HOCN,HNCO,NCO,N2,AR,C3H7,C3H8,CH2CHO,CH3CHO
2 | 1.000000e-03,4.189620e-02,1.332156e-02,4.865628e-03,1.202836e-02,2.459391e-02,2.593010e-01,7.909324e-06,6.463555e-07,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,2.606189e-06,5.148211e-07,1.426513e-07,1.190764e-07,7.591759e-08,7.321071e-03,1.793212e-06,6.679689e-07,8.931594e-07,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,6.366569e-01,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00
3 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/batch/adiab/gas_msdot_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),H2,H,O,O2,OH,H2O,HO2,H2O2,C,CH,CH2,CH2(S),CH3,CH4,CO,CO2,HCO,CH2O,CH2OH,CH3O,CH3OH,C2H,C2H2,C2H3,C2H4,C2H5,C2H6,HCCO,CH2CO,HCCOH,N,NH,NH2,NH3,NNH,NO,NO2,N2O,HNO,CN,HCN,H2CN,HCNN,HCNO,HOCN,HNCO,NCO,N2,AR,C3H7,C3H8,CH2CHO,CH3CHO
2 | 1.000000e-03,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00
3 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/batch/adiab/general_info.out:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------
2 | OpenMKM: version 0.3.0
3 | -----------------------------------------------------------
4 |
5 | OpenMKM is a multiphysics, multiscale, and open source software
6 | aimed at modelng chemical kinetics. It can run pure gas phase
7 | as well as surface mechanisms for heterogeneous catalysis.
8 | OpenMKM is developed at Delaware Energy Institute, University
9 | of Delaware. The development of OpenMKM is funded by RAPID.
10 |
11 |
12 | Reactor density 0.257549
13 | Reactor Temperature mode: adiabatic
14 | Program ran for 699 milliseconds
15 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/batch/adiab/rctr_state_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),Temperature(K),Pressure(Pa),Density(kg/m3),U(J/kg)
2 | 1.000000e-03,2.869843e+03,2.592416e+05,2.575490e-01,6.207683e+05
3 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/batch/adiab/species.out:
--------------------------------------------------------------------------------
1 | Species_name Phase Surf_cov O H C N Ar
2 | H2 Gas 0 0 2 0 0 0
3 | H Gas 0 0 1 0 0 0
4 | O Gas 0 1 0 0 0 0
5 | O2 Gas 0 2 0 0 0 0
6 | OH Gas 0 1 1 0 0 0
7 | H2O Gas 0 1 2 0 0 0
8 | HO2 Gas 0 2 1 0 0 0
9 | H2O2 Gas 0 2 2 0 0 0
10 | C Gas 0 0 0 1 0 0
11 | CH Gas 0 0 1 1 0 0
12 | CH2 Gas 0 0 2 1 0 0
13 | CH2(S) Gas 0 0 2 1 0 0
14 | CH3 Gas 0 0 3 1 0 0
15 | CH4 Gas 0 0 4 1 0 0
16 | CO Gas 0 1 0 1 0 0
17 | CO2 Gas 0 2 0 1 0 0
18 | HCO Gas 0 1 1 1 0 0
19 | CH2O Gas 0 1 2 1 0 0
20 | CH2OH Gas 0 1 3 1 0 0
21 | CH3O Gas 0 1 3 1 0 0
22 | CH3OH Gas 0 1 4 1 0 0
23 | C2H Gas 0 0 1 2 0 0
24 | C2H2 Gas 0 0 2 2 0 0
25 | C2H3 Gas 0 0 3 2 0 0
26 | C2H4 Gas 0 0 4 2 0 0
27 | C2H5 Gas 0 0 5 2 0 0
28 | C2H6 Gas 0 0 6 2 0 0
29 | HCCO Gas 0 1 1 2 0 0
30 | CH2CO Gas 0 1 2 2 0 0
31 | HCCOH Gas 0 1 2 2 0 0
32 | N Gas 0 0 0 0 1 0
33 | NH Gas 0 0 1 0 1 0
34 | NH2 Gas 0 0 2 0 1 0
35 | NH3 Gas 0 0 3 0 1 0
36 | NNH Gas 0 0 1 0 2 0
37 | NO Gas 0 1 0 0 1 0
38 | NO2 Gas 0 2 0 0 1 0
39 | N2O Gas 0 1 0 0 2 0
40 | HNO Gas 0 1 1 0 1 0
41 | CN Gas 0 0 0 1 1 0
42 | HCN Gas 0 0 1 1 1 0
43 | H2CN Gas 0 0 2 1 1 0
44 | HCNN Gas 0 0 1 1 2 0
45 | HCNO Gas 0 1 1 1 1 0
46 | HOCN Gas 0 1 1 1 1 0
47 | HNCO Gas 0 1 1 1 1 0
48 | NCO Gas 0 1 0 1 1 0
49 | N2 Gas 0 0 0 0 2 0
50 | AR Gas 0 0 0 0 0 1
51 | C3H7 Gas 0 0 7 3 0 0
52 | C3H8 Gas 0 0 8 3 0 0
53 | CH2CHO Gas 0 1 3 2 0 0
54 | CH3CHO Gas 0 1 4 2 0 0
55 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/batch/adiab/surf_cov_ss.csv:
--------------------------------------------------------------------------------
1 | t(s)
2 | 1.000000e-03
3 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/batch/isother/Hform.out:
--------------------------------------------------------------------------------
1 | #Dimensionless formation enthalpies of species (H/RT)
2 |
3 | H2 2.48916
4 | H 27.9482
5 | O 31.7265
6 | O2 2.73246
7 | OH 7.24474
8 | H2O -25.9265
9 | HO2 5.06482
10 | H2O2 -11.7701
11 | C 87.8668
12 | CH 74.3249
13 | CH2 50.5124
14 | CH2(S) 54.9234
15 | CH3 21.8104
16 | CH4 -4.31044
17 | CO -10.6703
18 | CO2 -43.2616
19 | HCO 8.56825
20 | CH2O -8.8591
21 | CH2OH 3.71214
22 | CH3O 7.04562
23 | CH3OH -18.3088
24 | C2H 72.0592
25 | C2H2 32.3589
26 | C2H3 41.4398
27 | C2H4 12.4036
28 | C2H5 21.25
29 | C2H6 -2.32114
30 | HCCO 26.5165
31 | CH2CO 0.297078
32 | HCCOH 15.8306
33 | N 58.5486
34 | NH 45.4047
35 | NH2 26.3107
36 | NH3 -1.58753
37 | NNH 33.5283
38 | NO 13.6411
39 | NO2 8.04702
40 | N2O 13.9213
41 | HNO 16.2191
42 | CN 55.3353
43 | HCN 19.4545
44 | H2CN 34.215
45 | HCNN 60.8265
46 | HCNO 25.7633
47 | HOCN 3.46699
48 | HNCO -9.14053
49 | NCO 20.0373
50 | N2 2.58359
51 | AR 1.75537
52 | C3H7 22.4417
53 | C3H8 -1.3464
54 | CH2CHO 9.71619
55 | CH3CHO -12.5474
56 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/batch/isother/Sform.out:
--------------------------------------------------------------------------------
1 | #Dimensionless formation entropies of species (S/R)
2 |
3 | H2 19.9972
4 | H 16.8252
5 | O 22.4678
6 | O2 29.3009
7 | OH 26.4306
8 | H2O 27.9966
9 | HO2 33.4991
10 | H2O2 35.7686
11 | C 22.0458
12 | CH 26.3766
13 | CH2 29.0641
14 | CH2(S) 28.2454
15 | CH3 30.2095
16 | CH4 29.8699
17 | CO 28.2132
18 | CO2 32.3942
19 | HCO 32.8514
20 | CH2O 33.1283
21 | CH2OH 38.3442
22 | CH3O 35.6562
23 | CH3OH 38.2186
24 | C2H 32.4549
25 | C2H2 32.3502
26 | C2H3 36.9432
27 | C2H4 36.131
28 | C2H5 40.9306
29 | C2H6 39.8977
30 | HCCO 38.3356
31 | CH2CO 39.0122
32 | HCCOH 38.9811
33 | N 21.4658
34 | NH 26.1158
35 | NH2 28.8914
36 | NH3 29.65
37 | NNH 32.9204
38 | NO 29.8955
39 | NO2 35.4399
40 | N2O 33.3202
41 | HNO 32.3128
42 | CN 28.8373
43 | HCN 30.5142
44 | H2CN 34.3302
45 | HCNN 38.9072
46 | HCNO 37.8215
47 | HOCN 37.2486
48 | HNCO 37.3174
49 | NCO 34.9645
50 | N2 27.4367
51 | AR 21.6379
52 | C3H7 51.3944
53 | C3H8 50.2019
54 | CH2CHO 43.134
55 | CH3CHO 43.6906
56 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/batch/isother/batch.yaml:
--------------------------------------------------------------------------------
1 | reactor:
2 | type: batch
3 | mode: "isothermal"
4 | volume: "1 cm3"
5 | temperature: 1001
6 | pressure: "1 atm"
7 |
8 | simulation:
9 | end_time: 0.001
10 | transient: true
11 | stepping: regular
12 | init_step: 1e-5
13 | solver:
14 | atol: 1e-10
15 | rtol: 1e-8
16 | output_format: CSV
17 |
18 | phases:
19 | gas:
20 | name: gas
21 | initial_state: "H2:2,O2:1,N2:4"
22 |
23 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/batch/isother/gas_mass_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),H2,H,O,O2,OH,H2O,HO2,H2O2,C,CH,CH2,CH2(S),CH3,CH4,CO,CO2,HCO,CH2O,CH2OH,CH3O,CH3OH,C2H,C2H2,C2H3,C2H4,C2H5,C2H6,HCCO,CH2CO,HCCOH,N,NH,NH2,NH3,NNH,NO,NO2,N2O,HNO,CN,HCN,H2CN,HCNN,HCNO,HOCN,HNCO,NCO,N2,AR,C3H7,C3H8,CH2CHO,CH3CHO
2 | 1.000000e-03,7.704447e-03,1.199359e-07,2.268150e-07,6.104985e-02,2.508226e-07,1.744004e-01,9.836295e-05,5.694164e-05,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,-1.065136e-12,2.673966e-11,2.268204e-12,1.774464e-10,1.163926e-12,2.417989e-07,9.879488e-08,1.996884e-08,8.616427e-11,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,7.566890e-01,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00
3 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/batch/isother/gas_mole_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),H2,H,O,O2,OH,H2O,HO2,H2O2,C,CH,CH2,CH2(S),CH3,CH4,CO,CO2,HCO,CH2O,CH2OH,CH3O,CH3OH,C2H,C2H2,C2H3,C2H4,C2H5,C2H6,HCCO,CH2CO,HCCOH,N,NH,NH2,NH3,NNH,NO,NO2,N2O,HNO,CN,HCN,H2CN,HCNN,HCNO,HOCN,HNCO,NCO,N2,AR,C3H7,C3H8,CH2CHO,CH3CHO
2 | 1.000000e-03,9.008154e-02,2.804618e-06,3.341389e-07,4.496866e-02,3.476076e-07,2.281737e-01,7.024056e-05,3.945687e-05,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,-1.792367e-12,4.197579e-11,3.336626e-12,2.455825e-10,9.452912e-13,1.899342e-07,5.061548e-08,1.069380e-08,6.548282e-11,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,6.366627e-01,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00
3 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/batch/isother/gas_msdot_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),H2,H,O,O2,OH,H2O,HO2,H2O2,C,CH,CH2,CH2(S),CH3,CH4,CO,CO2,HCO,CH2O,CH2OH,CH3O,CH3OH,C2H,C2H2,C2H3,C2H4,C2H5,C2H6,HCCO,CH2CO,HCCOH,N,NH,NH2,NH3,NNH,NO,NO2,N2O,HNO,CN,HCN,H2CN,HCNN,HCNO,HOCN,HNCO,NCO,N2,AR,C3H7,C3H8,CH2CHO,CH3CHO
2 | 1.000000e-03,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00
3 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/batch/isother/general_info.out:
--------------------------------------------------------------------------------
1 | -----------------------------------------------------------
2 | OpenMKM: version 0.3.0
3 | -----------------------------------------------------------
4 |
5 | OpenMKM is a multiphysics, multiscale, and open source software
6 | aimed at modelng chemical kinetics. It can run pure gas phase
7 | as well as surface mechanisms for heterogeneous catalysis.
8 | OpenMKM is developed at Delaware Energy Institute, University
9 | of Delaware. The development of OpenMKM is funded by RAPID.
10 |
11 |
12 | Reactor density 0.257549
13 | Reactor Temperature mode: isothermal
14 | Program ran for 324 milliseconds
15 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/batch/isother/rctr_state_ss.csv:
--------------------------------------------------------------------------------
1 | t(s),Temperature(K),Pressure(Pa),Density(kg/m3),U(J/kg)
2 | 1.000000e-03,1.001000e+03,9.094296e+04,2.575490e-01,-1.738637e+06
3 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/batch/isother/rctr_state_tr.csv:
--------------------------------------------------------------------------------
1 | t(s),Temperature(K),Pressure(Pa),Density(kg/m3),U(J/kg)
2 | 1.000000e-05,1.001000e+03,1.013250e+05,2.575490e-01,6.207683e+05
3 | 2.000000e-05,1.001000e+03,1.013250e+05,2.575490e-01,6.207683e+05
4 | 3.000000e-05,1.001000e+03,1.013250e+05,2.575490e-01,6.207683e+05
5 | 4.000000e-05,1.001000e+03,1.013250e+05,2.575490e-01,6.207682e+05
6 | 5.000000e-05,1.001000e+03,1.013250e+05,2.575490e-01,6.207682e+05
7 | 6.000000e-05,1.001000e+03,1.013250e+05,2.575490e-01,6.207681e+05
8 | 7.000000e-05,1.001000e+03,1.013250e+05,2.575490e-01,6.207679e+05
9 | 8.000000e-05,1.001000e+03,1.013250e+05,2.575490e-01,6.207677e+05
10 | 9.000000e-05,1.001000e+03,1.013250e+05,2.575490e-01,6.207674e+05
11 | 1.000000e-04,1.001000e+03,1.013250e+05,2.575490e-01,6.207668e+05
12 | 1.100000e-04,1.001000e+03,1.013250e+05,2.575490e-01,6.207659e+05
13 | 1.200000e-04,1.001000e+03,1.013250e+05,2.575490e-01,6.207646e+05
14 | 1.300000e-04,1.001000e+03,1.013249e+05,2.575490e-01,6.207625e+05
15 | 1.400000e-04,1.001000e+03,1.013249e+05,2.575490e-01,6.207592e+05
16 | 1.500000e-04,1.001000e+03,1.013249e+05,2.575490e-01,6.207541e+05
17 | 1.600000e-04,1.001000e+03,1.013248e+05,2.575490e-01,6.207462e+05
18 | 1.700000e-04,1.001000e+03,1.013247e+05,2.575490e-01,6.207337e+05
19 | 1.800000e-04,1.001000e+03,1.013245e+05,2.575490e-01,6.207138e+05
20 | 1.900000e-04,1.001000e+03,1.013243e+05,2.575490e-01,6.206821e+05
21 | 2.000000e-04,1.001000e+03,1.013238e+05,2.575490e-01,6.206301e+05
22 | 2.100000e-04,1.001000e+03,1.013232e+05,2.575490e-01,6.205431e+05
23 | 2.200000e-04,1.001000e+03,1.013220e+05,2.575490e-01,6.203915e+05
24 | 2.300000e-04,1.001000e+03,1.013202e+05,2.575490e-01,6.201139e+05
25 | 2.400000e-04,1.001000e+03,1.013170e+05,2.575490e-01,6.195727e+05
26 | 2.500000e-04,1.001000e+03,1.013110e+05,2.575490e-01,6.184467e+05
27 | 2.600000e-04,1.001000e+03,1.012995e+05,2.575490e-01,6.159919e+05
28 | 2.700000e-04,1.001000e+03,1.012760e+05,2.575490e-01,6.106250e+05
29 | 2.800000e-04,1.001000e+03,1.012271e+05,2.575490e-01,5.992276e+05
30 | 2.900000e-04,1.001000e+03,1.011259e+05,2.575490e-01,5.756189e+05
31 | 3.000000e-04,1.001000e+03,1.009220e+05,2.575490e-01,5.281545e+05
32 | 3.100000e-04,1.001000e+03,1.005334e+05,2.575490e-01,4.380406e+05
33 | 3.200000e-04,1.001000e+03,9.986479e+04,2.575490e-01,2.839674e+05
34 | 3.300000e-04,1.001000e+03,9.888751e+04,2.575490e-01,6.025117e+04
35 | 3.400000e-04,1.001000e+03,9.771922e+04,2.575490e-01,-2.056914e+05
36 | 3.500000e-04,1.001000e+03,9.655923e+04,2.575490e-01,-4.687502e+05
37 | 3.600000e-04,1.001000e+03,9.554672e+04,2.575490e-01,-6.978807e+05
38 | 3.700000e-04,1.001000e+03,9.472174e+04,2.575490e-01,-8.843923e+05
39 | 3.800000e-04,1.001000e+03,9.406759e+04,2.575490e-01,-1.032229e+06
40 | 3.900000e-04,1.001000e+03,9.355113e+04,2.575490e-01,-1.148942e+06
41 | 4.000000e-04,1.001000e+03,9.314075e+04,2.575490e-01,-1.241696e+06
42 | 4.100000e-04,1.001000e+03,9.281110e+04,2.575490e-01,-1.316213e+06
43 | 4.200000e-04,1.001000e+03,9.254314e+04,2.575490e-01,-1.376799e+06
44 | 4.300000e-04,1.001000e+03,9.232276e+04,2.575490e-01,-1.426636e+06
45 | 4.400000e-04,1.001000e+03,9.213956e+04,2.575490e-01,-1.468072e+06
46 | 4.500000e-04,1.001000e+03,9.198579e+04,2.575490e-01,-1.502859e+06
47 | 4.600000e-04,1.001000e+03,9.185560e+04,2.575490e-01,-1.532313e+06
48 | 4.700000e-04,1.001000e+03,9.174454e+04,2.575490e-01,-1.557441e+06
49 | 4.800000e-04,1.001000e+03,9.164918e+04,2.575490e-01,-1.579022e+06
50 | 4.900000e-04,1.001000e+03,9.156681e+04,2.575490e-01,-1.597663e+06
51 | 5.000000e-04,1.001000e+03,9.149530e+04,2.575490e-01,-1.613848e+06
52 | 5.100000e-04,1.001000e+03,9.143293e+04,2.575490e-01,-1.627962e+06
53 | 5.200000e-04,1.001000e+03,9.137833e+04,2.575490e-01,-1.640320e+06
54 | 5.300000e-04,1.001000e+03,9.133036e+04,2.575490e-01,-1.651178e+06
55 | 5.400000e-04,1.001000e+03,9.128809e+04,2.575490e-01,-1.660745e+06
56 | 5.500000e-04,1.001000e+03,9.125073e+04,2.575490e-01,-1.669199e+06
57 | 5.600000e-04,1.001000e+03,9.121764e+04,2.575490e-01,-1.676686e+06
58 | 5.700000e-04,1.001000e+03,9.118828e+04,2.575490e-01,-1.683330e+06
59 | 5.800000e-04,1.001000e+03,9.116217e+04,2.575490e-01,-1.689237e+06
60 | 5.900000e-04,1.001000e+03,9.113891e+04,2.575490e-01,-1.694497e+06
61 | 6.000000e-04,1.001000e+03,9.111818e+04,2.575490e-01,-1.699187e+06
62 | 6.100000e-04,1.001000e+03,9.109966e+04,2.575490e-01,-1.703374e+06
63 | 6.200000e-04,1.001000e+03,9.108311e+04,2.575490e-01,-1.707115e+06
64 | 6.300000e-04,1.001000e+03,9.106831e+04,2.575490e-01,-1.710460e+06
65 | 6.400000e-04,1.001000e+03,9.105505e+04,2.575490e-01,-1.713454e+06
66 | 6.500000e-04,1.001000e+03,9.104318e+04,2.575490e-01,-1.716136e+06
67 | 6.600000e-04,1.001000e+03,9.103254e+04,2.575490e-01,-1.718538e+06
68 | 6.700000e-04,1.001000e+03,9.102300e+04,2.575490e-01,-1.720690e+06
69 | 6.800000e-04,1.001000e+03,9.101444e+04,2.575490e-01,-1.722620e+06
70 | 6.900000e-04,1.001000e+03,9.100676e+04,2.575490e-01,-1.724350e+06
71 | 7.000000e-04,1.001000e+03,9.099988e+04,2.575490e-01,-1.725902e+06
72 | 7.100000e-04,1.001000e+03,9.099370e+04,2.575490e-01,-1.727292e+06
73 | 7.200000e-04,1.001000e+03,9.098816e+04,2.575490e-01,-1.728539e+06
74 | 7.300000e-04,1.001000e+03,9.098318e+04,2.575490e-01,-1.729657e+06
75 | 7.400000e-04,1.001000e+03,9.097872e+04,2.575490e-01,-1.730658e+06
76 | 7.500000e-04,1.001000e+03,9.097473e+04,2.575490e-01,-1.731556e+06
77 | 7.600000e-04,1.001000e+03,9.097114e+04,2.575490e-01,-1.732359e+06
78 | 7.700000e-04,1.001000e+03,9.096793e+04,2.575490e-01,-1.733078e+06
79 | 7.800000e-04,1.001000e+03,9.096505e+04,2.575490e-01,-1.733722e+06
80 | 7.900000e-04,1.001000e+03,9.096248e+04,2.575490e-01,-1.734297e+06
81 | 8.000000e-04,1.001000e+03,9.096017e+04,2.575490e-01,-1.734812e+06
82 | 8.100000e-04,1.001000e+03,9.095811e+04,2.575490e-01,-1.735271e+06
83 | 8.200000e-04,1.001000e+03,9.095627e+04,2.575490e-01,-1.735682e+06
84 | 8.300000e-04,1.001000e+03,9.095462e+04,2.575490e-01,-1.736048e+06
85 | 8.400000e-04,1.001000e+03,9.095315e+04,2.575490e-01,-1.736375e+06
86 | 8.500000e-04,1.001000e+03,9.095184e+04,2.575490e-01,-1.736666e+06
87 | 8.600000e-04,1.001000e+03,9.095067e+04,2.575490e-01,-1.736925e+06
88 | 8.700000e-04,1.001000e+03,9.094963e+04,2.575490e-01,-1.737157e+06
89 | 8.800000e-04,1.001000e+03,9.094870e+04,2.575490e-01,-1.737363e+06
90 | 8.900000e-04,1.001000e+03,9.094787e+04,2.575490e-01,-1.737546e+06
91 | 9.000000e-04,1.001000e+03,9.094713e+04,2.575490e-01,-1.737710e+06
92 | 9.100000e-04,1.001000e+03,9.094647e+04,2.575490e-01,-1.737855e+06
93 | 9.200000e-04,1.001000e+03,9.094589e+04,2.575490e-01,-1.737985e+06
94 | 9.300000e-04,1.001000e+03,9.094536e+04,2.575490e-01,-1.738101e+06
95 | 9.400000e-04,1.001000e+03,9.094490e+04,2.575490e-01,-1.738205e+06
96 | 9.500000e-04,1.001000e+03,9.094448e+04,2.575490e-01,-1.738297e+06
97 | 9.600000e-04,1.001000e+03,9.094411e+04,2.575490e-01,-1.738380e+06
98 | 9.700000e-04,1.001000e+03,9.094377e+04,2.575490e-01,-1.738455e+06
99 | 9.800000e-04,1.001000e+03,9.094347e+04,2.575490e-01,-1.738522e+06
100 | 9.900000e-04,1.001000e+03,9.094321e+04,2.575490e-01,-1.738582e+06
101 | 1.000000e-03,1.001000e+03,9.094296e+04,2.575490e-01,-1.738637e+06
102 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/batch/isother/species.out:
--------------------------------------------------------------------------------
1 | Species_name Phase Surf_cov O H C N Ar
2 | H2 Gas 0 0 2 0 0 0
3 | H Gas 0 0 1 0 0 0
4 | O Gas 0 1 0 0 0 0
5 | O2 Gas 0 2 0 0 0 0
6 | OH Gas 0 1 1 0 0 0
7 | H2O Gas 0 1 2 0 0 0
8 | HO2 Gas 0 2 1 0 0 0
9 | H2O2 Gas 0 2 2 0 0 0
10 | C Gas 0 0 0 1 0 0
11 | CH Gas 0 0 1 1 0 0
12 | CH2 Gas 0 0 2 1 0 0
13 | CH2(S) Gas 0 0 2 1 0 0
14 | CH3 Gas 0 0 3 1 0 0
15 | CH4 Gas 0 0 4 1 0 0
16 | CO Gas 0 1 0 1 0 0
17 | CO2 Gas 0 2 0 1 0 0
18 | HCO Gas 0 1 1 1 0 0
19 | CH2O Gas 0 1 2 1 0 0
20 | CH2OH Gas 0 1 3 1 0 0
21 | CH3O Gas 0 1 3 1 0 0
22 | CH3OH Gas 0 1 4 1 0 0
23 | C2H Gas 0 0 1 2 0 0
24 | C2H2 Gas 0 0 2 2 0 0
25 | C2H3 Gas 0 0 3 2 0 0
26 | C2H4 Gas 0 0 4 2 0 0
27 | C2H5 Gas 0 0 5 2 0 0
28 | C2H6 Gas 0 0 6 2 0 0
29 | HCCO Gas 0 1 1 2 0 0
30 | CH2CO Gas 0 1 2 2 0 0
31 | HCCOH Gas 0 1 2 2 0 0
32 | N Gas 0 0 0 0 1 0
33 | NH Gas 0 0 1 0 1 0
34 | NH2 Gas 0 0 2 0 1 0
35 | NH3 Gas 0 0 3 0 1 0
36 | NNH Gas 0 0 1 0 2 0
37 | NO Gas 0 1 0 0 1 0
38 | NO2 Gas 0 2 0 0 1 0
39 | N2O Gas 0 1 0 0 2 0
40 | HNO Gas 0 1 1 0 1 0
41 | CN Gas 0 0 0 1 1 0
42 | HCN Gas 0 0 1 1 1 0
43 | H2CN Gas 0 0 2 1 1 0
44 | HCNN Gas 0 0 1 1 2 0
45 | HCNO Gas 0 1 1 1 1 0
46 | HOCN Gas 0 1 1 1 1 0
47 | HNCO Gas 0 1 1 1 1 0
48 | NCO Gas 0 1 0 1 1 0
49 | N2 Gas 0 0 0 0 2 0
50 | AR Gas 0 0 0 0 0 1
51 | C3H7 Gas 0 0 7 3 0 0
52 | C3H8 Gas 0 0 8 3 0 0
53 | CH2CHO Gas 0 1 3 2 0 0
54 | CH3CHO Gas 0 1 4 2 0 0
55 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/batch/isother/surf_cov_ss.csv:
--------------------------------------------------------------------------------
1 | t(s)
2 | 1.000000e-03
3 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/OpenMKM_demo/batch/isother/surf_cov_tr.csv:
--------------------------------------------------------------------------------
1 | t(s)
2 | 1.000000e-05
3 | 2.000000e-05
4 | 3.000000e-05
5 | 4.000000e-05
6 | 5.000000e-05
7 | 6.000000e-05
8 | 7.000000e-05
9 | 8.000000e-05
10 | 9.000000e-05
11 | 1.000000e-04
12 | 1.100000e-04
13 | 1.200000e-04
14 | 1.300000e-04
15 | 1.400000e-04
16 | 1.500000e-04
17 | 1.600000e-04
18 | 1.700000e-04
19 | 1.800000e-04
20 | 1.900000e-04
21 | 2.000000e-04
22 | 2.100000e-04
23 | 2.200000e-04
24 | 2.300000e-04
25 | 2.400000e-04
26 | 2.500000e-04
27 | 2.600000e-04
28 | 2.700000e-04
29 | 2.800000e-04
30 | 2.900000e-04
31 | 3.000000e-04
32 | 3.100000e-04
33 | 3.200000e-04
34 | 3.300000e-04
35 | 3.400000e-04
36 | 3.500000e-04
37 | 3.600000e-04
38 | 3.700000e-04
39 | 3.800000e-04
40 | 3.900000e-04
41 | 4.000000e-04
42 | 4.100000e-04
43 | 4.200000e-04
44 | 4.300000e-04
45 | 4.400000e-04
46 | 4.500000e-04
47 | 4.600000e-04
48 | 4.700000e-04
49 | 4.800000e-04
50 | 4.900000e-04
51 | 5.000000e-04
52 | 5.100000e-04
53 | 5.200000e-04
54 | 5.300000e-04
55 | 5.400000e-04
56 | 5.500000e-04
57 | 5.600000e-04
58 | 5.700000e-04
59 | 5.800000e-04
60 | 5.900000e-04
61 | 6.000000e-04
62 | 6.100000e-04
63 | 6.200000e-04
64 | 6.300000e-04
65 | 6.400000e-04
66 | 6.500000e-04
67 | 6.600000e-04
68 | 6.700000e-04
69 | 6.800000e-04
70 | 6.900000e-04
71 | 7.000000e-04
72 | 7.100000e-04
73 | 7.200000e-04
74 | 7.300000e-04
75 | 7.400000e-04
76 | 7.500000e-04
77 | 7.600000e-04
78 | 7.700000e-04
79 | 7.800000e-04
80 | 7.900000e-04
81 | 8.000000e-04
82 | 8.100000e-04
83 | 8.200000e-04
84 | 8.300000e-04
85 | 8.400000e-04
86 | 8.500000e-04
87 | 8.600000e-04
88 | 8.700000e-04
89 | 8.800000e-04
90 | 8.900000e-04
91 | 9.000000e-04
92 | 9.100000e-04
93 | 9.200000e-04
94 | 9.300000e-04
95 | 9.400000e-04
96 | 9.500000e-04
97 | 9.600000e-04
98 | 9.700000e-04
99 | 9.800000e-04
100 | 9.900000e-04
101 | 1.000000e-03
102 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pgradd_demo/images/CCH2C(S).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/source/WorkshopJupyterNotebooks/pgradd_demo/images/CCH2C(S).png
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pgradd_demo/images/CH3CHOH(S).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/source/WorkshopJupyterNotebooks/pgradd_demo/images/CH3CHOH(S).png
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pgradd_demo/images/pGrAdd_RGB_github.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/source/WorkshopJupyterNotebooks/pgradd_demo/images/pGrAdd_RGB_github.png
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pmutt_demo/.ipynb_checkpoints/pgradd_demo-checkpoint.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "# AIChE 2019 pGrAdd Demonstration\n",
8 | "\n",
9 | "# 1. Introduction\n",
10 | "\n",
11 | "
"
12 | ]
13 | },
14 | {
15 | "cell_type": "code",
16 | "execution_count": null,
17 | "metadata": {},
18 | "outputs": [],
19 | "source": []
20 | }
21 | ],
22 | "metadata": {
23 | "kernelspec": {
24 | "display_name": "Python 3",
25 | "language": "python",
26 | "name": "python3"
27 | },
28 | "language_info": {
29 | "codemirror_mode": {
30 | "name": "ipython",
31 | "version": 3
32 | },
33 | "file_extension": ".py",
34 | "mimetype": "text/x-python",
35 | "name": "python",
36 | "nbconvert_exporter": "python",
37 | "pygments_lexer": "ipython3",
38 | "version": "3.7.4"
39 | }
40 | },
41 | "nbformat": 4,
42 | "nbformat_minor": 2
43 | }
44 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/Cu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/Cu.png
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/H2O.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/H2O.png
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/H2_1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/H2_1.jpg
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/Heatmap_2d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/Heatmap_2d.png
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/StatMech_obj.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/StatMech_obj.png
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/StatMech_smartart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/StatMech_smartart.png
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/VirtualKineticLab.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/VirtualKineticLab.png
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/configurations.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/configurations.png
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/example_statmech.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/example_statmech.png
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/nasa_func1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/nasa_func1.png
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/pmutt_doc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/pmutt_doc.png
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/pmutt_examples.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/pmutt_examples.png
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/pmutt_issues.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/pmutt_issues.png
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/pmutt_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/pmutt_logo.png
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/reaction.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/reaction.png
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/reaction_func1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/reaction_func1.png
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/reaction_smartart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/reaction_smartart.png
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/reaction_string.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
205 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/rxn_coordinate_diagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/rxn_coordinate_diagram.png
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/statmech_modes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/statmech_modes.png
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/workflow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/source/WorkshopJupyterNotebooks/pmutt_demo/images/workflow.png
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pmutt_demo/input/H2/CONTCAR:
--------------------------------------------------------------------------------
1 | H
2 | 1.0000000000000000
3 | 20.0000000000000000 0.0000000000000000 0.0000000000000000
4 | 0.0000000000000000 20.0000000000000000 0.0000000000000000
5 | 0.0000000000000000 0.0000000000000000 20.7371659999999984
6 | 2
7 | Cartesian
8 | 10.0000000000000000 10.0000000000000000 10.7371659999999984
9 | 10.0000000000000000 10.0000000000000000 10.0000000000000000
10 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pmutt_demo/input/N2/CONTCAR:
--------------------------------------------------------------------------------
1 | N
2 | 1.0000000000000000
3 | 20.0000000000000000 0.0000000000000000 0.0000000000000000
4 | 0.0000000000000000 20.0000000000000000 0.0000000000000000
5 | 0.0000000000000000 0.0000000000000000 21.1299799999999998
6 | 2
7 | Cartesian
8 | 10.0000000000000000 10.0000000000000000 11.1299799999999998
9 | 10.0000000000000000 10.0000000000000000 10.0000000000000000
10 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pmutt_demo/input/NH3/CONTCAR:
--------------------------------------------------------------------------------
1 | N H
2 | 1.0000000000000000
3 | 21.6276620000000008 0.0000000000000000 0.0000000000000000
4 | 0.0000000000000000 21.4095960000000005 0.0000000000000000
5 | 0.0000000000000000 0.0000000000000000 20.3882970000000014
6 | 1 3
7 | Cartesian
8 | 10.8138310000000004 10.4698650000000004 10.3882969999999997
9 | 10.8138310000000004 11.4095960000000005 10.0000000000000000
10 | 11.6276620000000008 10.0000000000000000 10.0000000000000000
11 | 10.0000000000000000 10.0000000000000000 10.0000000000000000
12 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pmutt_demo/input/NH3_Input_Data.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/source/WorkshopJupyterNotebooks/pmutt_demo/input/NH3_Input_Data.xlsx
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pmutt_demo/output/thermdat:
--------------------------------------------------------------------------------
1 | THERMO ALL
2 | 100 500 1500
3 | N2 20191025N 2 G100.0 1500.0 471.4 1
4 | 3.90707437E+00-2.28536070E-03 4.13241401E-06-2.44830984E-09 5.06724318E-13 2
5 | -1.91076337E+05 1.33148243E+00 3.50154664E+00-4.14212213E-05 3.93934337E-07 3
6 | -1.57972141E-09 2.27100408E-12-1.91022890E+05 3.13326831E+00 4
7 | NH3 20191025N 1H 3 G100.0 1500.0 442.9 1
8 | 3.08595685E+00 2.82506553E-03 2.00029877E-06-1.75769642E-09 3.68746696E-13 2
9 | -2.15458157E+05 5.00372266E+00 3.96055186E+00 1.28120671E-03-1.37484459E-05 3
10 | 5.45179087E-08-5.12600413E-11-2.15603394E+05 7.69853700E-01 4
11 | H2 20191025H 2 G100.0 1500.0 757.1 1
12 | 3.83497007E+00-1.15954587E-03 1.24040123E-06-3.62792776E-10 2.28723836E-14 2
13 | -7.55094623E+04-5.92203142E+00 3.50109022E+00-2.10430425E-05 1.37600731E-07 3
14 | -3.67490635E-10 3.44829459E-13-7.54390811E+04-4.28024003E+00 4
15 | N2(S) 20191025N 2 S100.0 1500.0 385.7 1
16 | 3.77159298E+00 2.74962092E-03-1.44271927E-06 3.54691296E-10-3.47935180E-14 2
17 | -1.98765311E+05-1.64676962E+01-2.23618825E-01 3.45725381E-02-8.92262497E-05 3
18 | 8.60037992E-08-6.53726457E-12-1.98375228E+05-2.26952342E-02 4
19 | N(S) 20191025N 1 S100.0 1500.0 385.7 1
20 | 9.42579563E-01 1.55427751E-02-1.95357824E-05 1.12489616E-08-2.44679700E-12 2
21 | -1.13569415E+05-1.69143919E+01 7.68034123E-02-2.06218730E-02 3.11609035E-04 3
22 | -9.42303846E-07 9.11471822E-10-1.13163484E+05-9.25988774E+00 4
23 | H(S) 20191025H 1 S100.0 1500.0 442.9 1
24 | -9.54605025E-01 1.06494217E-02-1.21265274E-05 6.47236197E-09-1.32631811E-12 2
25 | -4.55696940E+04 2.11941297E+00 6.00188322E-01-1.52172577E-02 1.18495390E-04 3
26 | -2.63992977E-07 2.00505107E-10-4.55902218E+04-2.81848775E+00 4
27 | NH3(S) 20191025N 1H 3 S100.0 1500.0 585.7 1
28 | 2.92482015E+00 9.21050500E-03-5.23104911E-06 1.99340227E-09-3.75165361E-13 2
29 | -2.25583513E+05-1.25216586E+01 9.27446503E-01 2.25301169E-02-4.19455056E-05 3
30 | 5.04559773E-08-2.54564539E-11-2.25319376E+05-3.80456135E+00 4
31 | NH2(S) 20191025N 1H 2 S100.0 1500.0 442.9 1
32 | 1.31522303E+00 1.29611955E-02-1.31510208E-05 7.22361033E-09-1.57194148E-12 2
33 | -1.85904952E+05-9.45655813E+00-3.05713533E-01 8.04578997E-03 7.24766731E-05 3
34 | -2.38544585E-07 2.15002367E-10-1.85558660E+05-7.66968791E-01 4
35 | NH(S) 20191025N 1H 1 S100.0 1500.0 414.3 1
36 | 4.43423232E-01 1.28364482E-02-1.52486944E-05 8.82394386E-09-1.94780095E-12 2
37 | -1.51741245E+05-7.94737886E+00-1.61261379E-02-1.10011958E-02 1.78572648E-04 3
38 | -4.98783571E-07 4.43893135E-10-1.51449044E+05-3.18755207E+00 4
39 | TS1_NH3(S) 20191025N 1H 3 S100.0 1500.0 414.3 1
40 | 9.41444673E-01 1.60866304E-02-1.43968713E-05 7.09208234E-09-1.43560532E-12 2
41 | -2.12816821E+05-4.08408450E+00-1.11907246E+00 3.81330833E-02-1.13833700E-04 3
42 | 2.17641286E-07-1.70977780E-10-2.12635068E+05 3.99172954E+00 4
43 | TS2_NH2(S) 20191025N 1H 2 S100.0 1500.0 442.9 1
44 | 2.60292373E-01 1.68938488E-02-1.83465243E-05 9.85527198E-09-2.05879051E-12 2
45 | -1.79624754E+05-4.86613663E+00-1.13849349E+00 1.36828057E-02 4.79689009E-05 3
46 | -1.84369146E-07 1.71237911E-10-1.79333065E+05 2.53272186E+00 4
47 | TS3_NH(S) 20191025N 1H 1 S100.0 1500.0 385.7 1
48 | 7.04603088E-01 1.15660380E-02-1.33191973E-05 7.22151610E-09-1.50485467E-12 2
49 | -1.38731741E+05-7.78283574E+00-1.22171676E+00 1.73198908E-02 2.40738722E-05 3
50 | -1.78486515E-07 2.14670186E-10-1.38473508E+05 1.04371828E+00 4
51 | TS4_N2(S) 20191025N 2 S100.0 1500.0 414.3 1
52 | 2.70451931E+00 6.99384423E-03-8.69705103E-06 4.95478534E-09-1.06717499E-12 2
53 | -1.70138693E+05-1.47855247E+01-2.11874938E+00 4.18100230E-02-9.39705072E-05 3
54 | 7.17968413E-08 7.97694575E-12-1.69621486E+05 5.52531073E+00 4
55 | RU(S) 20191025 S100.0 1500.0 814.3 1
56 | 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 2
57 | 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 3
58 | 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 4
59 | RU(B) 20191025 S100.0 1500.0 814.3 1
60 | 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 2
61 | 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 3
62 | 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 4
63 | END
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pmutt_to_omkm/inputs/H2/CONTCAR:
--------------------------------------------------------------------------------
1 | H
2 | 1.0000000000000000
3 | 20.0000000000000000 0.0000000000000000 0.0000000000000000
4 | 0.0000000000000000 20.0000000000000000 0.0000000000000000
5 | 0.0000000000000000 0.0000000000000000 20.7371659999999984
6 | 2
7 | Cartesian
8 | 10.0000000000000000 10.0000000000000000 10.7371659999999984
9 | 10.0000000000000000 10.0000000000000000 10.0000000000000000
10 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pmutt_to_omkm/inputs/N2/CONTCAR:
--------------------------------------------------------------------------------
1 | N
2 | 1.0000000000000000
3 | 20.0000000000000000 0.0000000000000000 0.0000000000000000
4 | 0.0000000000000000 20.0000000000000000 0.0000000000000000
5 | 0.0000000000000000 0.0000000000000000 21.1299799999999998
6 | 2
7 | Cartesian
8 | 10.0000000000000000 10.0000000000000000 11.1299799999999998
9 | 10.0000000000000000 10.0000000000000000 10.0000000000000000
10 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pmutt_to_omkm/inputs/NH3/CONTCAR:
--------------------------------------------------------------------------------
1 | N H
2 | 1.0000000000000000
3 | 21.6276620000000008 0.0000000000000000 0.0000000000000000
4 | 0.0000000000000000 21.4095960000000005 0.0000000000000000
5 | 0.0000000000000000 0.0000000000000000 20.3882970000000014
6 | 1 3
7 | Cartesian
8 | 10.8138310000000004 10.4698650000000004 10.3882969999999997
9 | 10.8138310000000004 11.4095960000000005 10.0000000000000000
10 | 11.6276620000000008 10.0000000000000000 10.0000000000000000
11 | 10.0000000000000000 10.0000000000000000 10.0000000000000000
12 |
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pmutt_to_omkm/inputs/NH3_Input_Data.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/source/WorkshopJupyterNotebooks/pmutt_to_omkm/inputs/NH3_Input_Data.xlsx
--------------------------------------------------------------------------------
/docs/source/WorkshopJupyterNotebooks/pmutt_to_omkm/inputs/tube_COV.inp:
--------------------------------------------------------------------------------
1 | !NUMSPEC -- If /NO/ coverage effects are desired, set lcov=F in tube.inp
2 | 3
3 | !Should coverage parameters be adjusted for atomic binding energies (T) or not (F)
4 | T
5 | !Specify species with binding energy affected
6 | !Specify species that cov affects it and value
7 | !------------------------------------------------------------
8 | N(S)/SURFACE/2
9 | N(S)/SURFACE/-52.6
10 | H(S)/SURFACE/-17.7
11 | !--
12 | H(S)/SURFACE/2
13 | N(S)/SURFACE/-17.7
14 | H(S)/SURFACE/-3.
15 | !--
16 | NH2(S)/SURFACE/1
17 | N(S)/SURFACE/-20.7
18 | EOF
19 |
--------------------------------------------------------------------------------
/docs/source/_templates/layout.html:
--------------------------------------------------------------------------------
1 | {% extends "!layout.html" %}
2 | {% block footer %} {{ super() }}
3 |
4 |
10 | {% endblock %}
--------------------------------------------------------------------------------
/docs/source/conf.py:
--------------------------------------------------------------------------------
1 | # Configuration file for the Sphinx documentation builder.
2 | #
3 | # This file only contains a selection of the most common options. For a full
4 | # list see the documentation:
5 | # http://www.sphinx-doc.org/en/master/config
6 |
7 | # -- Path setup --------------------------------------------------------------
8 |
9 | # If extensions (or modules to document with autodoc) are in another directory,
10 | # add these directories to sys.path here. If the directory is relative to the
11 | # documentation root, use os.path.abspath to make it absolute, like shown here.
12 | #
13 | # import os
14 | # import sys
15 | # sys.path.insert(0, os.path.abspath('.'))
16 |
17 |
18 | # -- Project information -----------------------------------------------------
19 |
20 | project = 'pgradd'
21 | copyright = '2019, Gerhard Wittreich'
22 | author = 'Gerhard Wittreich'
23 |
24 | # The full version, including alpha/beta/rc tags
25 | release = '1.0.0'
26 |
27 |
28 | # -- General configuration ---------------------------------------------------
29 |
30 | # Add any Sphinx extension module names here, as strings. They can be
31 | # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
32 | # ones.
33 | extensions = [
34 | ]
35 |
36 | # Add any paths that contain templates here, relative to this directory.
37 | templates_path = ['_templates']
38 |
39 | # List of patterns, relative to source directory, that match files and
40 | # directories to ignore when looking for source files.
41 | # This pattern also affects html_static_path and html_extra_path.
42 | exclude_patterns = []
43 |
44 |
45 | # -- Options for HTML output -------------------------------------------------
46 |
47 | # The theme to use for HTML and HTML Help pages. See the documentation for
48 | # a list of builtin themes.
49 | #
50 | html_theme = 'alabaster'
51 |
52 | # Add any paths that contain custom static files (such as style sheets) here,
53 | # relative to this directory. They are copied after the builtin static files,
54 | # so a file named "default.css" will overwrite the builtin "default.css".
55 | html_static_path = ['_static']
56 |
57 | # Logo
58 | html_logo = './logos/Screen/pgradd_inverse_web.png'
59 | html_favicon = './logos/Screen/pgradd_icon.ico'
60 |
--------------------------------------------------------------------------------
/docs/source/examplepage.rst:
--------------------------------------------------------------------------------
1 | .. _examplepage:
2 |
3 | Example set of Python Scripts
4 | *****************************
5 |
6 | Documentation for classes, methods, etc for examplypythonscript.py
7 | TODO: Delete me (examplepage.rst) and my reference in index.rst before deploying!
8 |
9 | Objects
10 | -------
11 |
12 | .. function:: enumerate(sequence[, start=0])
13 |
14 | Return an iterator that yields tuples of an index and an item of the *sequence*
15 |
16 | .. class:: Dog
17 |
18 | It's a kitty
19 |
20 | .. autoclass:: pgradd.RINGParser.Reader
21 | :members:
22 |
23 | .. autoclass:: pmutt.chemkin.CatSite
24 | :members:
25 |
26 | .. autoclass:: pmutt.reaction.ChemkinReaction
27 | :members:
28 |
29 | Input and Output
30 | ----------------
31 |
32 | .. automodule:: pmutt.io.chemkin
33 | :members:
34 |
35 |
--------------------------------------------------------------------------------
/docs/source/includeme.rst:
--------------------------------------------------------------------------------
1 | .. include:: ../../README.rst
--------------------------------------------------------------------------------
/docs/source/index.rst:
--------------------------------------------------------------------------------
1 | .. pgradd documentation master file, created by
2 | sphinx-quickstart on Wed Jun 12 14:51:10 2019.
3 | You can adapt this file completely to your liking, but it should at least
4 | contain the root `toctree` directive.
5 |
6 | Welcome to pgradd's documentation!
7 | ==================================
8 |
9 | .. toctree::
10 | :maxdepth: 2
11 | :caption: Contents:
12 |
13 |
14 |
15 | Indices and tables
16 | ==================
17 |
18 | * :ref:`genindex`
19 | * :ref:`modindex`
20 | * :ref:`search`
21 |
--------------------------------------------------------------------------------
/docs/source/logos/Print/pMuTT Logo 431 3265.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/source/logos/Print/pMuTT Logo 431 3265.pdf
--------------------------------------------------------------------------------
/docs/source/logos/Print/pMuTT Logo 431 White.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/source/logos/Print/pMuTT Logo 431 White.pdf
--------------------------------------------------------------------------------
/docs/source/logos/Print/pMuTT Logo Black.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/source/logos/Print/pMuTT Logo Black.pdf
--------------------------------------------------------------------------------
/docs/source/logos/Print/pMuTT Logo White.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/source/logos/Print/pMuTT Logo White.pdf
--------------------------------------------------------------------------------
/docs/source/logos/Screen/p_icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/source/logos/Screen/p_icon.ico
--------------------------------------------------------------------------------
/docs/source/logos/Screen/pgradd_icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/source/logos/Screen/pgradd_icon.ico
--------------------------------------------------------------------------------
/docs/source/logos/Screen/pgradd_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/source/logos/Screen/pgradd_icon.png
--------------------------------------------------------------------------------
/docs/source/logos/Screen/pgradd_inverse_web.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/source/logos/Screen/pgradd_inverse_web.png
--------------------------------------------------------------------------------
/docs/source/logos/Screen/pgradd_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/docs/source/logos/Screen/pgradd_logo.png
--------------------------------------------------------------------------------
/docs/sphinx-quickstart:
--------------------------------------------------------------------------------
1 | foo bar
2 |
--------------------------------------------------------------------------------
/example/GA.py:
--------------------------------------------------------------------------------
1 | from pgradd.GroupAdd.Library import GroupLibrary
2 | import pgradd.ThermoChem
3 | lib = GroupLibrary.Load('GuSolventGA2017Aq')
4 | descriptors = lib.GetDescriptors('C(=O)([Pt])O')
5 | #descriptors = lib.GetDescriptors('C=C')
6 | print(descriptors)
7 | thermochem = lib.Estimate(descriptors,'thermochem')
8 | print((thermochem.get_HoRT(500)))
--------------------------------------------------------------------------------
/pgradd/Consts.py:
--------------------------------------------------------------------------------
1 | """
2 | ==================
3 | Physical constants
4 | ==================
5 |
6 | Values of common physical constants are defined here as instances of
7 | :class:`pgradd.Units.Quantity`.
8 |
9 | """
10 |
11 | from . Units import eval_qty
12 |
13 |
14 | #: Planck's constant
15 | PLANCK_CONSTANT = eval_qty('6.626068*10^-34 J s')
16 |
17 | #: Boltzman's constant
18 | BOLTZMANN_CONSTANT = eval_qty('1.3806503*10^-23 J/K')
19 |
20 | #: Boltzman's constant
21 | GAS_CONSTANT = eval_qty('8.314472 J/(mol K)')
22 |
23 | #: Avogadro's number
24 | AVOGADRO_NUMBER = eval_qty('6.02214179*10^23 mol^-1')
25 |
--------------------------------------------------------------------------------
/pgradd/DrawMol.py:
--------------------------------------------------------------------------------
1 | """
2 | =========================================
3 | Defenition to draw RDKIT mol object (:mod:`pgradd.DrawMol`)
4 | =========================================
5 |
6 | Coverts a rdkit mol object to a svg image and display.
7 |
8 | """
9 |
10 | from rdkit import Chem
11 | from rdkit.Chem import rdDepictor
12 | from rdkit.Chem.Draw import rdMolDraw2D
13 | from IPython.display import SVG, display
14 |
15 |
16 | # http://rdkit.blogspot.com/2015/02/new-drawing-code.html
17 | def moltosvg(mol, highlight=[], molSize=(400, 400), kekulize=True):
18 | mc = Chem.Mol(mol.ToBinary())
19 | if kekulize:
20 | try:
21 | Chem.Kekulize(mc)
22 | except Exception:
23 | mc = Chem.Mol(mol.ToBinary())
24 | if not mc.GetNumConformers():
25 | rdDepictor.Compute2DCoords(mc)
26 |
27 | drawer = rdMolDraw2D.MolDraw2DSVG(molSize[0], molSize[1])
28 |
29 | # Atom Label
30 | opts = drawer.drawOptions()
31 | # Atom name and index
32 | for i in range(mol.GetNumAtoms()):
33 | opts.atomLabels[i] = mol.GetAtomWithIdx(i).GetSymbol()+str(i)
34 | # radicals and charges
35 | for atom in mol.GetAtoms():
36 | nr = atom.GetNumRadicalElectrons()
37 | nc = atom.GetFormalCharge()
38 | if nr > 0:
39 | string = atom.GetSymbol() + ':'*divmod(nr, 2)[0] +\
40 | '.'*divmod(nr, 2)[1]
41 | opts.atomLabels[atom.GetIdx()] += string
42 | elif nc == 1:
43 | string = atom.GetSymbol() + '+'
44 | opts.atomLabels[atom.GetIdx()] += string
45 | elif nc > 1:
46 | string = atom.GetSymbol() + '+' + str(nc)
47 | opts.atomLabels[atom.GetIdx()] += string
48 | elif nc == -1:
49 | string = atom.GetSymbol() + '-'
50 | opts.atomLabels[atom.GetIdx()] += string
51 | elif nc < -1:
52 | string = atom.GetSymbol() + '-' + str(nc)
53 | opts.atomLabels[atom.GetIdx()] += string
54 |
55 | # highlight
56 | if highlight:
57 | drawer.DrawMolecule(mc, highlightAtoms=highlight)
58 | else:
59 | drawer.DrawMolecule(mc)
60 |
61 | drawer.FinishDrawing()
62 | svg = drawer.GetDrawingText()
63 | # It seems that the svg renderer used doesn't quite hit the spec.
64 | # Here are some fixes to make it work in the notebook, although I think
65 | # the underlying issue needs to be resolved at the generation step
66 | svg.replace('svg:', '')
67 | display(SVG(svg))
68 |
--------------------------------------------------------------------------------
/pgradd/GroupAdd/DataDir.py:
--------------------------------------------------------------------------------
1 | import os
2 | import sys
3 |
4 | # What environment variable is used to override use of the bundled
5 | # data directory?
6 | _data_dir_envvar = 'pgradd_DATA_DIR'
7 |
8 | # We'll cache the located data directory root in this variable:
9 | _data_dir_cached = False
10 |
11 |
12 | def get_data_dir():
13 | """Returns the directory containing the pgradd data library.
14 |
15 | Return the cached directory path if it has been set. Otherwise:
16 |
17 | 1. If the _data_dir_envvar is set in the runtime environment,
18 | cache and use it as the data dir
19 |
20 | 2. This Python file exists somewhere under the 'pgradd' module
21 | directory; step back until we get a path that ends with '/pgradd'
22 | and tack '/data' onto the end of it. Voila, our bundled data
23 | directory.
24 |
25 | The caveat to 2. is when this script is run from the GroupAdd
26 | directory for testing purposes; the __file__ will be just
27 | "DataDir.py" so it needs to be made absolute.
28 | """
29 | global _data_dir_cached, _data_dir_cached
30 |
31 | if not _data_dir_cached:
32 | base_path = os.getenv(_data_dir_envvar, False)
33 | if not base_path:
34 | base_path = os.path.abspath(os.path.dirname(__file__))
35 | while base_path != os.sep and not base_path.endswith(os.sep +
36 | 'pgradd'):
37 | base_path = os.path.dirname(base_path)
38 | if base_path == os.sep:
39 | raise RuntimeError('DataDir.get_data_dir: unable to locate',
40 | 'bundled data directory')
41 | base_path = os.path.join(base_path, 'data')
42 | if not os.path.isdir(base_path):
43 | raise RuntimeError('DataDir.get_data_dir: directory does not',
44 | 'exist: ' + base_path)
45 | _data_dir_cached = base_path
46 | return _data_dir_cached
47 |
48 | #
49 | # This code can be tested very simply by
50 | #
51 | # python DataDir.py
52 | #
53 |
54 |
55 | if __name__ == '__main__':
56 | sys.stdout.write('pgradd data directory = {0:s}'.format(get_data_dir()))
57 |
--------------------------------------------------------------------------------
/pgradd/GroupAdd/FindResStruc.py.old:
--------------------------------------------------------------------------------
1 | from rdkit import Chem
2 | from ..RDkitWrapper.GenRxnNet import GenerateRxnNet
3 | from ..RINGParser.Reader import Read
4 |
5 |
6 | def enumerate_res_struc(mol):
7 | """
8 | Generates resonance structures. Structure with minimum number of radical
9 | electrons is outputted
10 |
11 | Arguments:
12 | - mol: Input. It can be smiles or mol
13 |
14 | Return:
15 | - list of resonance structures
16 |
17 | Example:
18 | from rdkit import Chem
19 | from msr.GroupAdd.FindResStruc import enumerate_res_struc
20 | A = enumerate_res_struc('[CH][C][C][O]')
21 | for product in A:
22 | NRE = 0
23 | for atoms in product.GetAtoms():
24 | NRE += atoms.GetNumRadicalElectrons()
25 | print(NRE, Chem.MolToSmiles(product))
26 |
27 | """
28 | # Initialize
29 | # Does not accept list
30 | if isinstance(mol, list):
31 | raise ValueError('Only single molecule accepted')
32 | # Convert to rdkit mol
33 | if isinstance(mol, str):
34 | mol = Chem.MolFromSmiles(mol)
35 |
36 | # Delete all double/triple bonds
37 | for bond in mol.GetBonds():
38 | if bond.GetBondType() == Chem.rdchem.BondType.TRIPLE:
39 | bond.SetBondType(Chem.rdchem.BondType.SINGLE)
40 | atom = bond.GetBeginAtom()
41 | atom.SetNumRadicalElectrons(atom.GetNumRadicalElectrons()+2)
42 | atom = bond.GetEndAtom()
43 | atom.SetNumRadicalElectrons(atom.GetNumRadicalElectrons()+2)
44 | elif bond.GetBondType() == Chem.rdchem.BondType.DOUBLE:
45 | bond.SetBondType(Chem.rdchem.BondType.SINGLE)
46 | atom = bond.GetBeginAtom()
47 | atom.SetNumRadicalElectrons(atom.GetNumRadicalElectrons()+1)
48 | atom = bond.GetEndAtom()
49 | atom.SetNumRadicalElectrons(atom.GetNumRadicalElectrons()+1)
50 | elif bond.GetBondType() == Chem.rdchem.BondType.QUADRUPLE:
51 | bond.SetBondType(Chem.rdchem.BondType.SINGLE)
52 | atom = bond.GetBeginAtom()
53 | atom.SetNumRadicalElectrons(atom.GetNumRadicalElectrons()+3)
54 | atom = bond.GetEndAtom()
55 | atom.SetNumRadicalElectrons(atom.GetNumRadicalElectrons()+3)
56 |
57 | # Chem.AssignRadicals(mol) # This is broken. I don't know how it works.
58 | # Frustrating
59 | print('Resonance Structure')
60 | # Get all possible resonance structures
61 | # set up reactions
62 | reaction_rules = list()
63 | # Conjugated bond formation
64 | temp = """
65 | rule increaseBO{
66 | reactant r1{
67 | $? labeled a1 {has >0 radical electrons}
68 | $? labeled a2 any bond to a1 {has >0 radical electrons}
69 | }
70 | increase bond order (a1,a2)
71 | decrease number of radical (a1)
72 | decrease number of radical (a2)
73 | }
74 | """
75 | reaction_rules.append(Read(temp))
76 | temp = """
77 | rule increaseBO{
78 | reactant r1{
79 | $+ labeled a1
80 | $ labeled a2 any bond to a1 {has >0 radical electrons}
81 | }
82 | increase number of radical (a1)
83 | decrease number of radical (a2)
84 | decrease formal charge (a1)
85 | increase formal charge (a2)
86 | }
87 | """
88 | reaction_rules.append(Read(temp))
89 |
90 | # run
91 | resonance_structures = GenerateRxnNet(mol, reaction_rules)
92 | """
93 | Structure must:
94 | obey as much as possible the octet rule (8 valence electrons around each
95 | atom rather than having deficiencies or surplus) have a maximum number
96 | of covalent bonds carry a minimum of charged atoms. If unlike charges
97 | are present their separation must be least while for like charges the
98 | separation must be maximum.
99 | """
100 | # Octet rule
101 | # here this is achieved by finding the minimum number of radical electron.
102 | # Find the minimum number of radicals
103 | TotalNumRadicalElectron = list()
104 | for resonance_structure in resonance_structures:
105 | NTRE = 0 # Number of Total Radical Electorn
106 | for atoms in resonance_structure.GetAtoms():
107 | NTRE += atoms.GetNumRadicalElectrons()
108 | TotalNumRadicalElectron.append(NTRE)
109 | MinTotalNumRadicalElectron = min(TotalNumRadicalElectron)
110 | # Remove resonance structure with number of radical
111 | # electron more than the min
112 | for i in range(len(TotalNumRadicalElectron)-1, -1, -1):
113 | if TotalNumRadicalElectron[i] > MinTotalNumRadicalElectron:
114 | del resonance_structures[i]
115 |
116 | return resonance_structures
117 |
--------------------------------------------------------------------------------
/pgradd/GroupAdd/Group.py:
--------------------------------------------------------------------------------
1 | import re
2 | from collections import defaultdict
3 |
4 | from .. Error import GroupSyntaxError
5 |
6 |
7 | # Note: This class is not currently documented explicitly and is only used to
8 | # inherit Group() from.
9 | class Descriptor(object):
10 | """
11 | Represent a chemical descriptor upon which properties may
12 | linearly depend on.
13 | """
14 | def __init__(self, scheme, name):
15 | """Initialize a chemical descriptor with given string name.
16 |
17 | Parameters
18 | ----------
19 | scheme : instance of :class:`GroupScheme`
20 | Specify group-additivity scheme for which the group belongs to.
21 | name : str
22 | Specify name of descriptor
23 | """
24 | self.scheme = scheme
25 | self.name = name
26 |
27 | def __hash__(self):
28 | return hash(self.name)
29 |
30 | def __eq__(self, other):
31 | if isinstance(other, type(self)):
32 | return self.name == other.name
33 | else:
34 | return self.name == other
35 |
36 | def __neq__(self, other):
37 | return not (self == other)
38 |
39 | def __str__(self):
40 | return self.name
41 |
42 | def __repr__(self):
43 | return '<%s: %s>' % (type(self).__name__, str(self))
44 |
45 |
46 | class Group(Descriptor):
47 | """Represent a chemical functional group.
48 |
49 | This object is hashable (meaning that it may be used as a dictionary key)
50 | and can be compared for equality against others of its kind, regardless of
51 | the order in which each the peripheral subgroups were specified at
52 | initialization.
53 |
54 | In addition to the default constructor (:meth:`Group.__init__()`), one can
55 | instantiate :class:`Group` objects using the alternative constructor
56 | :meth:`Group.parse()` which accepts a string name for the group that is
57 | parsed to determine the contained `csg` and `psgs`.
58 | """
59 | _parser_re = re.compile('[()]')
60 |
61 | @classmethod
62 | def parse(cls, scheme, text):
63 | """Initialize a chemical functional group given a string name.
64 |
65 | The syntax consists of the center-subgroup name followed by one or more
66 | peripheral subgroup names enclosed in parantheses, each of which is
67 | optionally followed by a numerical repeat count.
68 |
69 | Parameters
70 | ----------
71 | text : str
72 | Name of the group
73 |
74 | Examples
75 | --------
76 | Using the (builtin) ``'benson'`` scheme::
77 |
78 | >>> from chemtk.groupadd import Group, GroupScheme
79 | >>> scheme = GroupScheme.load('benson')
80 | >>> Group.parse(scheme, 'C(C)(H)3')
81 | Group('C', ['C', 'H', 'H', 'H'])
82 | >>> Group.parse(scheme, 'C(C[d])(C)2(H)')
83 | Group('C', ['C[d]', 'C', 'C', 'H'])
84 | >>> Group.parse(scheme, 'O(C)(H)')
85 | Group('O', ['C', 'H'])
86 | """
87 | def append_to_psgs(count, psg):
88 | for i in range(count):
89 | psgs.append(psg)
90 | parts = cls._parser_re.split(text)
91 | csg = parts[0]
92 | next_psg = None # next nearest neighbor to be appended to nns
93 | psgs = [] # list of nearest neighbors
94 | for part in parts[1:]:
95 | if not part:
96 | continue
97 | if part.isdigit():
98 | if next_psg is None:
99 | raise GroupSyntaxError('Expected base atom for Benson',
100 | 'group got number instead.')
101 | append_to_psgs(int(part), next_psg)
102 | next_psg = None
103 | else:
104 | if next_psg is not None:
105 | append_to_psgs(1, next_psg)
106 | next_psg = None
107 | next_psg = part
108 | if next_psg is not None:
109 | append_to_psgs(1, next_psg)
110 | return cls(scheme, csg, psgs)
111 |
112 | def __init__(self, scheme, csg, psgs):
113 | """Initialize a chemical functional group.
114 |
115 | Parameters
116 | ----------
117 | scheme : instance of :class:`GroupScheme`
118 | Specify group-additivity scheme for which the group belongs to.
119 | csg : str
120 | Name of center-subgroup
121 | psgs : iterable of strs
122 | Names of peripheral-subgroups
123 | """
124 | self.csg = csg
125 | self.psgs = psgs
126 | canon_name = self._canonical_name()
127 | Descriptor.__init__(self, scheme, canon_name)
128 |
129 | def _canonical_name(self):
130 | """Return canonical name of group.
131 |
132 | Parameters
133 | ----------
134 | scheme : :class:`GroupScheme`
135 | Specify group-additivity scheme for which the group belongs to.
136 |
137 | Returns
138 | -------
139 | name : str
140 | Canonical name of group
141 | """
142 | canon_name = self.csg
143 | psg_counts = defaultdict(int)
144 | for psg in self.psgs:
145 | psg_counts[psg] += 1
146 | for name in sorted(psg_counts):
147 | if psg_counts[name] == 1:
148 | canon_name += '(' + name + ')'
149 | else:
150 | canon_name += '(' + name + ')' + '%d' % psg_counts[name]
151 | return canon_name
152 |
153 | def __repr__(self):
154 | return '%s(%r, %r)' % (type(self).__name__, self.csg, self.psgs)
155 |
--------------------------------------------------------------------------------
/pgradd/GroupAdd/__init__.py:
--------------------------------------------------------------------------------
1 | # 2016. Vlachos Group Geun Ho Gu. University of Delaware.
2 | """
3 | =============================
4 | Group-additivity computations
5 | =============================
6 |
7 | This module is used for using Group additivity method to compute energies
8 |
9 | --------
10 | Examples
11 | --------
12 |
13 | >>> from pgradd.GroupAdd.Library import GroupLibrary
14 | >>> import pgradd.ThermoChem
15 | >>> lib = GroupLibrary.Load('benson')
16 | >>> groups = lib.GetDescriptors('CC')
17 | >>> print groups
18 | >>> thermochem = lib.Estimate(groups,'thermochem')
19 | >>> print thermochem.get_HoRT(298.15)
20 | defaultdict(, {'C(C)(H)3': 2})
21 | -34.4280812417
22 |
23 | """
24 |
25 | from . Library import GroupLibrary
26 | from . Scheme import GroupAdditivityScheme
27 |
28 | __all__ = ['GroupLibrary', 'GroupAdditivityScheme']
29 |
--------------------------------------------------------------------------------
/pgradd/RDkitWrapper/__init__.py:
--------------------------------------------------------------------------------
1 | # 2016. Vlachos Group Geun Ho Gu. University of Delaware.
2 |
--------------------------------------------------------------------------------
/pgradd/RINGParser/Reader.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | from .. Error import RINGError
3 |
4 |
5 | class Reader(object):
6 | """
7 | Reader reads the parsed RING input, and returns the RDkit wrapper objects
8 | in pgradd.RDkitWrapper.
9 |
10 | Attributes
11 | ----------
12 | ast : abstract syntax tree obtrained from parser
13 | """
14 | def __init__(self, ast):
15 | # ast = Abstract Syntax Tree
16 | self.ast = ast
17 |
18 | def ReadRINGInput(self, tree):
19 | # Check the type of input
20 | assert tree[0][0].name in ('Fragment',
21 | 'ReactionRule',
22 | 'EnumerationQuery')
23 | # if fragment, molquery is returned
24 | if tree[0][0].name == 'Fragment':
25 | from . MolQueryRead import MolQueryReader
26 | self.type = 'MolQuery'
27 | return MolQueryReader(tree[0][1:]).Read()
28 | # if reaction rule, reacitonquery is returned
29 | elif tree[0][0].name == 'ReactionRule':
30 | from . ReactionQueryRead import ReactionQueryReader
31 | self.type = 'ReactionQuery'
32 | return ReactionQueryReader(tree[0][1:]).Read()
33 | # TODO enumeration query
34 | elif tree[0][0].name == 'EnumerationQuery':
35 | raise NotImplementedError('Coming soon')
36 |
37 | def Read(self):
38 | # Root tree reading. Check if the input is RINGinput
39 | assert self.ast[0].name == "RINGInput"
40 | return self.ReadRINGInput(self.ast[1:])
41 |
42 |
43 | def Read(text, strict=False):
44 | """
45 | Return MolQuery, ReactionQuery, or ReactionNetworkEnumerationQuery by
46 | interpretting RING input string.
47 |
48 | Parameters
49 | ----------
50 | text : string
51 | Specify string describing chemical structure, elementary reaction, or
52 | reaction network enumeration rules in RING notation.
53 | strict : boolean, optional
54 | If True, then disable use of syntactic extensions such as support for
55 | "radical electrons".
56 |
57 | Returns
58 | -------
59 | Returns RDkit wrapped queries that extends RDkit's functionality:
60 | * MolQuery if fragment is given in string
61 | * ReactionQuery if reaction rule is given in string
62 | * ReactionNetworkEnumerationQuery if enumeration query is given in string
63 |
64 | Raises
65 | ------
66 | msr.error.RINGSyntaxError
67 | If `text` does not conform to RING syntax.
68 | msr.error.RINGReaderError
69 | If `text` is invalid RING for non-syntactic reasons.
70 | """
71 | from . import Parser
72 | try:
73 | return Reader(Parser.parse(text)).Read()
74 | except RINGError as exc:
75 | raise exc
76 |
--------------------------------------------------------------------------------
/pgradd/RINGParser/__init__.py:
--------------------------------------------------------------------------------
1 | r"""
2 | =====================================
3 | RING notation for chemical structures
4 | =====================================
5 | This is a custom written abstract syntax tree parser for RING. Implementation
6 | is based on the ''.
7 | Rangarajan, S., Kaminski, T., Van Wyk, E., Bhan A., and Daoutidis, P.,
8 | "Language-oriented rule-based reaction network generation and analysis:
9 | Algorithms of RING", Computers and Chemical Engineering 64 (2014) 124,
10 | 10.1016/j.compchemeng.2014.02.007
11 | Rangarajan, S., Bhan, A., and Daoutidis, P.,
12 | "Language-oriented rule-based reaction network generation and analysis:
13 | Descrpition of RING", Computers and Chemical Engineering 45 (2012) 114,
14 | 10.1016/j.compchemeng.2012.06.008
15 | """
16 |
17 | from .Reader import Read
18 |
19 | __all__ = ['Read']
20 |
--------------------------------------------------------------------------------
/pgradd/ThermoChem/__init__.py:
--------------------------------------------------------------------------------
1 | """
2 | ====================================
3 | Thermochemical property correlations
4 | ====================================
5 |
6 | This module provides a variety of different correlations used to represent
7 | thermochemical properties (in non-dimensional form), i.e. heat capacity
8 | |eq_ND_Cp_T|, enthalpy of formation |eq_ND_H_T|, and absolute |eq_ND_S_T| all
9 | as functions of temperature |eq_T|.
10 |
11 | This module provides a group-additivity *property set* for estimation of
12 | thermochemical properties. Upon importing this module, the ``thermochem``
13 | property set is registered for use within
14 | :class:`chemtk.groupadd.GroupLibrary` instances. Group contributions may also
15 | be computed by fitting to thermochemical data via
16 | :class:`ThermochemGroupFittingSet()`.objects.
17 |
18 | ---------
19 | Reference
20 | ---------
21 |
22 | .. autodoc puts stuff extracted from docstrings here.
23 | """
24 |
25 | # TODO: Test ThermochemQuartic code and add to correlations.
26 | from .base import *
27 | from .raw_data import *
28 | from .incomplete import *
29 | from .group_data import *
30 |
31 | __all__ = sum((getattr(globals()[module], '__all__') for module in [
32 | 'base', 'raw_data', 'incomplete', 'group_data']), [])
33 |
34 | del base, raw_data, incomplete, group_data
35 |
--------------------------------------------------------------------------------
/pgradd/ThermoChem/base.py:
--------------------------------------------------------------------------------
1 | import abc
2 |
3 | import numpy as np
4 | from pmutt import constants as c
5 |
6 | from ..Units import eval_qty
7 | from ..Error import OutsideCorrelationError
8 | from .. import yaml_io
9 |
10 |
11 | class ThermochemBase(object):
12 | metaclass = abc.ABCMeta
13 | """Manage thermochemical properties correlation (abstract base class).
14 |
15 | This class cannot be instantiated directly; rather, it serves as a
16 | common base for the rest of the correlations.
17 | """
18 | # Abstract base class
19 |
20 | def init_params(self, range=None, units=None):
21 | if range is not None:
22 | self.range = (
23 | eval_qty(range[0], 'K').in_units('K'),
24 | eval_qty(range[1], 'K').in_units('K'))
25 | else:
26 | self.range = None
27 |
28 | def __init__(self, range=None, units=None):
29 | """
30 | Initialize generic thermochemical property correlation.
31 |
32 | Parameters
33 | ----------
34 | range : tuple(float, float), optional
35 | ``(lb, ub) = range`` where lb and ub are respectively the lower and
36 | uppers bounds of temperatures [K] for which the correlation is
37 | valid.
38 | """
39 | if range is not None:
40 | range = tuple(range)
41 | assert len(range) == 2
42 | assert range[1] >= range[0]
43 | self.range = range
44 |
45 | def check_range(self, T):
46 | """
47 | Verify that one or more temperatures is within the valid range for this
48 | correlation.
49 |
50 | Parameters
51 | ----------
52 | T : float or float array
53 | Specify temperature(s) to test.
54 |
55 | Returns
56 | -------
57 | None
58 |
59 | Raises
60 | ------
61 | chemtk.error.OutsideCorrelationError
62 | If `T` (or any temperature in array `T`) is outside the valid range
63 | of this correlation.
64 | """
65 | if self.range is None:
66 | return
67 | if np.any(T < self.range[0]) or np.any(T > self.range[1]):
68 | raise OutsideCorrelationError(
69 | "In %s().check_range: one or more of the following "
70 | "temperatures is outside the valid interval [%r,%r]: %r"
71 | % (type(self).__name__, self.range[0], self.range[1], T))
72 |
73 | def get_range(self):
74 | """
75 | Return range of validity for this thermochemical properties
76 | correlation.
77 |
78 | Returns
79 | -------
80 | lower_bound : float
81 | Lower bound of range.
82 | upper_bound : float
83 | Upper bound of range.
84 | """
85 | return self.range
86 |
87 | def set_range(self, range=None):
88 | """
89 | Set range of validity for this thermochemical properties correlation.
90 |
91 | Parameters
92 | ----------
93 | range : tuple(float, float), optional
94 | ``(lb, ub) = range`` where lb and ub are respectively the lower and
95 | uppers bounds of temperatures [K] for which the correlation is
96 | valid.
97 | """
98 | self.range = range
99 |
100 | @abc.abstractmethod
101 | def get_CpoR(self, T):
102 | """Return non-dimensional standard state heat capacity |eq_ND_Cp_T|."""
103 |
104 | @abc.abstractmethod
105 | def get_SoR(self, T, S_elements=None):
106 | """Return non-dimensional standard state entropy |eq_ND_S_T|."""
107 |
108 | @abc.abstractmethod
109 | def get_HoRT(self, T):
110 | """Return non-dimensional standard heat of formation |eq_ND_H_T|."""
111 |
112 | def get_GoRT(self, T, S_elements=None):
113 | """
114 | Return non-dimensional standard Gibbs energy of formation |eq_ND_G_T|.
115 | """
116 | return self.get_HoRT(T) - self.get_SoR(T, S_elements=S_elements)
117 |
118 | def get_H(self, T, units):
119 | """
120 | Return dimensional enthalpy at T with units specified by 'units'
121 | """
122 | return self.get_HoRT(T)*T*c.R('{}/K'.format(units))
123 |
124 | def get_G(self, T, units, S_elements=None):
125 | """
126 | Return dimensional Gibbs free energy at T with units
127 | specified by 'units'
128 | """
129 | return self.get_GoRT(T, S_elements=S_elements)*T*c.R('{}/K'.format(units))
130 |
131 | def get_S(self, T, units, S_elements=None):
132 | """
133 | Return dimensional entropy with units specified by 'units'
134 | """
135 | return self.get_SoR(T, S_elements=S_elements)*c.R(units)
136 |
137 | def get_Cp(self, T, units):
138 | """
139 | Return dimensional heat capacity with units specified by 'units'
140 | """
141 | return self.get_CpoR(T)*c.R(units)
142 |
143 | _yaml_schema = """
144 | range:
145 | type: tuple
146 | item_types: [{type: qty, kind: temperature},
147 | {type: qty, kind: temperature}]
148 | optional: True
149 | desc: range of valid temperatures
150 | """
151 |
152 |
153 | yaml_io.register_class('ThermochemBase',
154 | yaml_io.parse(ThermochemBase._yaml_schema),
155 | ThermochemBase)
156 |
157 |
158 | __all__ = ['ThermochemBase']
159 |
--------------------------------------------------------------------------------
/pgradd/ThermoChem/group_data.py:
--------------------------------------------------------------------------------
1 | from .. ThermoChem import ThermochemBase, ThermochemIncomplete
2 | from .. import yaml_io
3 | import numpy as np
4 | from ..GroupAdd.Library import GroupLibrary
5 | from rdkit import Chem
6 | from pmutt import constants as c
7 |
8 | __all__ = ['ThermochemGroup', 'ThermochemGroupAdditive']
9 |
10 |
11 | class ThermochemGroup(ThermochemIncomplete):
12 | """
13 | Implement thermochemical property correlation for
14 | one group's contributions.
15 |
16 | See base class :class:`ThermochemIncomplete` for additional documentation.
17 | """
18 |
19 |
20 | yaml_io.register_class('ThermochemGroup',
21 | yaml_io.parse(ThermochemGroup._yaml_schema),
22 | ThermochemGroup)
23 |
24 |
25 | class ThermochemGroupAdditive(ThermochemBase):
26 | """
27 | Implement thermochemical property correlation using group-additivity.
28 |
29 | Properties are evaluated by taking a linear combination of contributing
30 | properties of the constituent groups.
31 |
32 | Normally this class is not instantiated directly; rather, instances are
33 | created and returned by :meth:`GroupLibrary.estimate()`.
34 | """
35 |
36 | def __init__(self, lib, groups):
37 | """
38 | Initialize thermochemical property correlation using group-additivity.
39 |
40 | Parameters
41 | ----------
42 | lib : :class:`GroupLibrary`
43 | Specify library from which to access group data.
44 | groups : mapping
45 | Map from :class:`Group` to int specifying counts of each group in
46 | the chemical structure.
47 | """
48 | self.name = lib.name
49 | self.correlations = []
50 | common_min = None
51 | common_max = None
52 |
53 | for group in groups:
54 | count = groups[group]
55 | correlation = lib[group]['thermochem']
56 | self.correlations.append((correlation, count))
57 | data_range = correlation.get_range()
58 | if data_range is not None:
59 | if common_min is None:
60 | (common_min, common_max) = data_range
61 | else:
62 | common_min = max(common_min, data_range[0])
63 | common_max = min(common_max, data_range[1])
64 | if lib.uq_contents:
65 | self.RMSE = lib.uq_contents['RMSE'].thermochem
66 | xp = np.zeros((len(lib.uq_contents['descriptors']), 1))
67 | for group in groups:
68 | count = groups[group]
69 | i = lib.uq_contents['descriptors'].index(group)
70 | xp[i] = count
71 | self.Xp_invXX_Xp = np.dot(np.dot(np.transpose(xp),
72 | lib.uq_contents['mat']), xp)
73 | self.dof = lib.uq_contents['dof']
74 | if common_min is not None:
75 | ThermochemBase.__init__(self, range=(common_min, common_max))
76 | else:
77 | ThermochemBase.__init__(self, range=None)
78 |
79 | def get_CpoR(self, T):
80 | return sum((count*correlation.get_CpoR(T)
81 | for (correlation, count) in self.correlations))
82 | get_CpoR.__doc__ = ThermochemBase.get_CpoR.__doc__
83 |
84 | def get_HoRT(self, T):
85 | return sum((count*correlation.get_HoRT(T)
86 | for (correlation, count) in self.correlations))
87 | get_HoRT.__doc__ = ThermochemBase.get_HoRT.__doc__
88 |
89 | def get_Selements(self):
90 | mol = Chem.rdmolops.AddHs(Chem.MolFromSmiles(self.name))
91 | atoms = mol.GetAtoms()
92 | S_ele = 0
93 | for atom in atoms:
94 | S_ele += c.S_elements[atom.GetAtomicNum()]
95 | return S_ele
96 |
97 | def get_SoR(self, T, S_elements=None):
98 | if not S_elements:
99 | S_ele = 0
100 | else:
101 | S_ele = self.get_Selements()
102 | return sum((count*correlation.get_SoR(T)
103 | for (correlation, count) in self.correlations)) - S_ele
104 | get_SoR.__doc__ = ThermochemBase.get_SoR.__doc__
105 |
106 | def get_CpoR_SE(self, T):
107 | return float(np.sqrt(np.square(self.RMSE.get_CpoR(T)) *
108 | self.Xp_invXX_Xp))
109 |
110 | def get_HoRT_SE(self, T):
111 | return float(np.sqrt(np.square(self.RMSE.get_HoRT(T)) *
112 | self.Xp_invXX_Xp))
113 |
114 | def get_SoR_SE(self, T):
115 | return float(np.sqrt(np.square(self.RMSE.get_SoR(T)) *
116 | self.Xp_invXX_Xp))
117 |
118 |
119 | GroupLibrary.register_property_set_type(
120 | 'thermochem', 'ThermochemGroup', ThermochemGroupAdditive)
121 |
--------------------------------------------------------------------------------
/pgradd/Units/__init__.py:
--------------------------------------------------------------------------------
1 | """
2 | =======================================
3 | Physical quantities and unit conversion
4 | =======================================
5 |
6 | This module provides routines for representing and manipulating physical
7 | quantities with units. A physical quantity is represented internally by its
8 | numerical value in SI units combined with a :class:`FundamentalUnits` that
9 | specifies the exponents of meters, kilograms, seconds, ampere, kelvin,
10 | gram-moles, and candela represented in the quantity.
11 |
12 | All standard prefixes (*e.g.* k for kilo, u for micro, etc.) are supported as
13 | are most derived units in the metric and standard systems. Notable absences
14 | include celsius and fahrenheit as these do not represent temperatures in the
15 | absolute sense. Proper handling of these units in arithmetic is complex and
16 | beyond the intended scope of this library.
17 |
18 |
19 | -------
20 | Summary
21 | -------
22 |
23 | .. autosummary::
24 |
25 | eval_quantity
26 | eval_qty
27 | Quantity
28 | FundamentalUnits
29 | with_units
30 | in_units
31 | has_units
32 | from_SI_to
33 | to_SI_from
34 |
35 |
36 | --------
37 | Examples
38 | --------
39 |
40 | >>> from chemtk.units import with_units, in_units, has_units
41 | >>> g = with_units(9.81, 'm/s^2')
42 | >>> m = with_units(10.0, 'lb')
43 | >>> print m*g
44 | 44.497411497 m*kg/s^(-2)
45 | >>> print in_units(m, 'g')
46 | 4535.9237
47 | >>> print (m*g).fmt_in_units('N')
48 | 44.4974 N
49 | >>> print (m*g).fmt_in_units('lbf')
50 | 10.0034 lbf
51 | >>> print m.has_units('ug')
52 | True
53 | >>> print m.has_units('J s')
54 | False
55 | >>>
56 |
57 |
58 | ---------
59 | Reference
60 | ---------
61 |
62 | .. autodoc puts stuff extracted from docstrings here.
63 | """
64 |
65 | from .qty import *
66 | from .helpers import *
67 | from . import builtin
68 |
69 | __all__ = qty.__all__[:] + helpers.__all__[:]
70 |
71 | del qty, helpers, builtin
72 |
--------------------------------------------------------------------------------
/pgradd/Units/builtin.py:
--------------------------------------------------------------------------------
1 | from .db import units_db
2 | from .qty import Quantity, FundamentalUnits, eval_qty
3 |
4 |
5 | # Define base SI units.
6 | base_SI_units = [
7 | # (, , )
8 | ('m', 1.0, 'm'),
9 | ('g', 0.001, 'kg'),
10 | ('s', 1.0, 's'),
11 | ('A', 1.0, 'A'),
12 | ('K', 1.0, 'K'),
13 | ('mol', 1.0, 'mol'),
14 | ('cd', 1.0, 'cd')
15 | ]
16 | for base, mult, prim in base_SI_units:
17 | units_db.add(base, Quantity(mult, FundamentalUnits.new(prim)))
18 |
19 | derived_SI_units = [
20 | ('N', 'kg m/s^2'), ('Pa', 'N/m^2'), ('J', 'N m'), ('W', 'J/s'),
21 | ('C', 'A s'), ('V', 'J/C'), ('F', 'C/V'), ('Ohm', 'V/A'),
22 | # etc. (may define others later)
23 | ]
24 | for name, val in derived_SI_units:
25 | units_db.add(name, eval_qty(val))
26 |
27 | other_units = [
28 | # Includes non-SI metric units and English units.
29 | # Count:
30 | ('molecule', '1/(6.02214179*10^23) mol'),
31 | # Length:
32 | ('in', '2.54 cm'),
33 | ('ft', '12 in'),
34 | # Volume:
35 | ('L', '100 cm^3'),
36 | # Time:
37 | ('min', '60 s'),
38 | ('h', '60 min'),
39 | # Mass:
40 | ('u', '1.660538921*10^-27 kg'),
41 | ('lb', '0.45359237 kg'),
42 | ('t', '1000 kg'),
43 | # Force:
44 | ('dyn', '10^-5 N'),
45 | ('lbf', '4.44822162 N'),
46 | # Pressure:
47 | ('bar', '100.0 kPa'),
48 | ('atm', '101.325 kPa'),
49 | ('torr', '1.0/760 atm'),
50 | ('psi', 'lbf/in^2'),
51 | # Energy:
52 | ('cal', '4.184 J'),
53 | ('erg', 'dyn cm'),
54 | ('BTU', '1.05435026444 kJ'),
55 | ('eV', '1.602176487*10^-19 C V'),
56 | # Power:
57 | ('hp', '33000 ft lbf/min'),
58 | # Viscosity:
59 | ('P', 'g/(cm s)'),
60 | ('St', 'cm^2/s'),
61 | ]
62 | for name, val in other_units:
63 | units_db.add(name, eval_qty(val))
64 |
--------------------------------------------------------------------------------
/pgradd/Units/db.py:
--------------------------------------------------------------------------------
1 | from .. Error import UnitsParseError
2 |
3 |
4 | __all__ = ['units_db']
5 |
6 |
7 | class UnitsDB(object):
8 | prefixes = {
9 | 'Y': 1e24,
10 | 'Z': 1e21,
11 | 'E': 1e18,
12 | 'P': 1e15,
13 | 'T': 1e12,
14 | 'G': 1e9,
15 | 'M': 1e6,
16 | 'k': 1e3,
17 | 'h': 1e2,
18 | 'da': 1e1,
19 | 'd': 1e-1,
20 | 'c': 1e-2,
21 | 'm': 1e-3,
22 | 'u': 1e-6,
23 | 'n': 1e-9,
24 | 'p': 1e-12,
25 | 'f': 1e-15,
26 | 'a': 1e-18,
27 | 'z': 1e-21,
28 | 'y': 1e-24,
29 | }
30 |
31 | def __init__(self):
32 | self.db = {}
33 |
34 | def lookup(self, name):
35 | # Try without prefix first
36 | if name in self.db:
37 | return self.db[name]
38 | # Try with single letter prefix:
39 | if name[1:] in self.db and name[:1] in self.prefixes:
40 | return self.prefixes[name[:1]]*self.db[name[1:]]
41 | # Try with double letter prefix (just 'da'):
42 | if name[2:] in self.db and name[:2] in self.prefixes:
43 | return self.prefixes[name[1:]]*self.db[name[2:]]
44 | # Raise error.
45 | raise UnitsParseError('Unknown units: %r' % name)
46 |
47 | def add(self, name, val):
48 | self.db[name] = val
49 |
50 | # Define global units database.
51 |
52 |
53 | units_db = UnitsDB()
54 |
--------------------------------------------------------------------------------
/pgradd/Units/helpers.py:
--------------------------------------------------------------------------------
1 | from .utils import is_zero
2 | from .qty import eval_qty
3 |
4 |
5 | __all__ = ['with_units', 'in_units', 'has_units', 'to_SI_from', 'from_SI_to']
6 |
7 |
8 | def with_units(number, units):
9 | """
10 | Construct a physical quantity from the given `number` and `units`.
11 |
12 | If `number` is `None`, then return `None`, regardless of `units`.
13 |
14 | .. note::
15 | If `number` is not `None`, then the following two expressions are
16 | equivalent:
17 |
18 | 1. ``chemtk.units.with_units(number, units)``
19 | 2. ``number*chemtk.units.eval_qty(units)``
20 |
21 | Parameters
22 | ----------
23 | number : int, float, or NoneType
24 | Specify the numerical part of the new quantity
25 | units : str or :class:`Quantity`
26 | Describe the units of the new quantity
27 |
28 | Returns
29 | -------
30 | qty : :class:`Quantity` or NoneType
31 | The new quantity if `number` is not None; otherwise `None`
32 | """
33 | if number is None:
34 | return None
35 | if is_zero(number):
36 | return number
37 | return number*eval_qty(units)
38 |
39 |
40 | def in_units(qty, units):
41 | """
42 | Convert quantity to specified `units` and return numerical value.
43 |
44 | If `qty` is `None`, then return `None`, regardless of `units`.
45 |
46 | .. note::
47 | If `qty` is not `None`, then the following two expressions are
48 | equivalent:
49 |
50 | 1. ``chemtk.units.in_units(qty, units)``
51 | 2. ``qty.in_units(units)``
52 |
53 | Parameters
54 | ----------
55 | qty : :class:`Quantity` or NoneType
56 | Specify the quantity to convert
57 | units : str or :class:`Quantity`
58 | Describe the units to convert `qty` to
59 |
60 | Returns
61 | -------
62 | number : int, float, or NoneType
63 | The numerical value of the converted quantity, if `qty` is not None;
64 | otherwise `None`
65 | """
66 | if qty is None:
67 | return None
68 | return qty.in_units(units)
69 |
70 |
71 | def has_units(qty, units):
72 | """
73 | Test quantity (`qty`) for compatibility with given `units`.
74 |
75 | .. note::
76 | The following two expressions are equivalent:
77 |
78 | 1. ``chemtk.units.has_units(qty, units)``
79 | 2. ``qty.has_units(units)``
80 |
81 | Parameters
82 | ----------
83 | qty : :class:`Quantity` or NoneType
84 | Specify the quantity to test
85 | units : str or :class:`Quantity`
86 | Describe the units `qty` must be convertible to
87 |
88 | Returns
89 | -------
90 | is_compatible : bool
91 | True if and only if the units of `qty` can be converted to `units`.
92 | """
93 | return qty.has_units(units)
94 |
95 |
96 | def to_SI_from(value, units):
97 | """
98 | Convert `value` having specified `units` to the equivalent SI units.
99 |
100 | Parameters
101 | ----------
102 | value : int or float
103 | Specify value of quantity to convert to SI units
104 | units : str or :class:`Quantity`
105 | Describe the units associated with `value`
106 |
107 | Returns
108 | -------
109 | new_value : int or float
110 | Numerical value of SI units quantity
111 | """
112 | return value*eval_qty(units).value
113 |
114 |
115 | def from_SI_to(value, units):
116 | """
117 | Convert `value` in SI units to specified compatible `units`.
118 |
119 | Parameters
120 | ----------
121 | value : int or float
122 | Specify value of SI units quantity to convert
123 | units : str or :class:`Quantity`
124 | Describe the units to convert SI quantity to
125 |
126 | Returns
127 | -------
128 | new_value : int or float
129 | Numerical value of converted quantity.
130 | """
131 | return value/eval_qty(units).value
132 |
--------------------------------------------------------------------------------
/pgradd/Units/utils.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 |
3 |
4 | def is_zero(val):
5 | # Compare scalar or array quantity to zero.
6 | if isinstance(val, np.ndarray):
7 | return (val == 0).all()
8 | else:
9 | return val == 0
10 |
--------------------------------------------------------------------------------
/pgradd/__init__.py:
--------------------------------------------------------------------------------
1 | # 2016. Vlachos Group Geun Ho Gu. University of Delaware.
2 |
3 |
4 | ####
5 | #
6 | # setuptools likes to see a name for the package,
7 | # and it's best-practices to have the __version__
8 | # present, too:
9 | #
10 | name = 'pgradd'
11 | __version__ = '2.9.13'
12 | #
13 | ####
14 |
--------------------------------------------------------------------------------
/pgradd/data/BensonGA/gas_benson/corrections.yaml:
--------------------------------------------------------------------------------
1 | units:
2 | molar enthalpy: kcal/mol
3 | molar entropy: cal/(mol*K)
4 | molar heat capacity: cal/(mol*K)
5 | temperature: K
6 |
7 | # The groups below are entered directly from _Thermochemical Kinetics_ 2nd ed.;
8 | # S.W. Benson; New York: John Wiley & Sons, 1976 pp. 272-273.
9 |
10 | groups:
11 | AlkaneGauche:
12 | thermochem:
13 | T_ref: 298.0
14 | H_ref: 0.80
15 | S_ref: null
16 | Cp_data: []
17 | range: [298, 1500]
18 | AlkeneGauche:
19 | thermochem:
20 | T_ref: 298.0
21 | H_ref: 0.50
22 | S_ref: null
23 | Cp_data: []
24 | range: [298, 1500]
25 | Cis:
26 | thermochem:
27 | T_ref: 298.0
28 | H_ref: 1.00
29 | S_ref: 1.2
30 | Cp_data:
31 | - [300, -1.34]
32 | - [400, -1.09]
33 | - [500, -0.81]
34 | - [600, -0.61]
35 | - [800, -0.39]
36 | - [1000, -0.26]
37 | - [1500, 0.0]
38 | range: [298, 1500]
39 | Double Cis:
40 | thermochem:
41 | T_ref: 298.0
42 | H_ref: 2.00
43 | S_ref: null
44 | Cp_data:
45 | - [300, 1.34]
46 | - [400, 1.09]
47 | - [500, 0.81]
48 | - [600, 0.61]
49 | - [800, 0.39]
50 | - [1000, 0.26]
51 | - [1500, 0.0]
52 | range: [298, 1500]
53 | tbCis:
54 | thermochem:
55 | T_ref: 298.0
56 | H_ref: 3.00
57 | S_ref: null
58 | Cp_data: []
59 | range: [298, 1500]
60 | Double tbCis:
61 | thermochem:
62 | T_ref: 298.0
63 | H_ref: 2.00
64 | S_ref: null
65 | Cp_data: []
66 | range: [298, 1500]
67 | Ortho:
68 | thermochem:
69 | T_ref: 298.0
70 | H_ref: 0.57
71 | S_ref: -1.61
72 | Cp_data:
73 | - [300, 1.12]
74 | - [400, 1.35]
75 | - [500, 1.30]
76 | - [600, 1.17]
77 | - [800, 0.88]
78 | - [1000, 0.66]
79 | - [1500, -0.05]
80 | range: [298, 1500]
81 | Ether oxygen gauche:
82 | thermochem:
83 | T_ref: 298.0
84 | H_ref: 0.30
85 | S_ref: null
86 | Cp_data: []
87 | range: [298, 1500]
88 | Ditertiary ether:
89 | thermochem:
90 | T_ref: 298.0
91 | H_ref: 8.4
92 | S_ref: null
93 | Cp_data: []
94 | range: [298, 1500]
--------------------------------------------------------------------------------
/pgradd/data/BensonGA/gas_benson/extra.yaml:
--------------------------------------------------------------------------------
1 |
2 | groups:
3 | 'O(C)(CO)':
4 | 'thermochem':
5 | T_ref: 298.15 K
6 | ND_Cp_data:
7 | - [300 K, 1.325981974561945]
8 | - [400 K, 1.7826531859148724]
9 | - [500 K, 2.0254563368545795]
10 | - [600 K, 2.1947895188052811]
11 | - [700 K, 2.3347070446415898]
12 | - [800 K, 2.4416184214704226]
13 | - [900 K, 2.5209531212293683]
14 | - [1000 K, 2.5954776202265162]
15 | range: [298 K, 1500 K]
16 |
--------------------------------------------------------------------------------
/pgradd/data/BensonGA/gas_benson/index.yaml:
--------------------------------------------------------------------------------
1 | # ===============
2 | # gas_benson.yaml
3 | # ===============
4 | #
5 | # This file contains Benson group data for gas phase compounds.
6 | # Unlike ``surface_benson.yaml``, this file is *not* automatically generated
7 | # and is maintained by hand.
8 |
9 |
10 | units:
11 | molar enthalpy: kcal/mol
12 | molar entropy: cal/(mol*K)
13 | molar heat capacity: cal/(mol*K)
14 | temperature: K
15 |
16 | include:
17 | - hydrocarbons.yaml
18 | - oxygenates.yaml
19 | - nitrogenates.yaml
20 | - radicals.yaml
21 |
22 |
--------------------------------------------------------------------------------
/pgradd/data/BensonGA/gas_benson/original.yaml:
--------------------------------------------------------------------------------
1 | include:
2 | - hydrocarbons.yaml
3 | - oxygenates.yaml
4 | - nitrogenates.yaml
5 | - radicals.yaml
6 | - strain.yaml
7 | - corrections.yaml
8 |
--------------------------------------------------------------------------------
/pgradd/data/BensonGA/gas_benson/radicals.yaml:
--------------------------------------------------------------------------------
1 | units:
2 | molar enthalpy: kcal/mol
3 | molar entropy: cal/(mol*K)
4 | molar heat capacity: cal/(mol*K)
5 | temperature: K
6 |
7 | # The groups below are entered directly (excepting changes as noted) from
8 | # _Thermochemical Kinetics_ 2nd ed.; S.W. Benson; New York: John Wiley & Sons,
9 | # 1976 pp. 73.
10 |
11 | groups:
12 | C[.](C)(H)2:
13 | thermochem:
14 | T_ref: 298.0
15 | H_ref: 39.1 #35.82
16 | S_ref: 30.7
17 | Cp_data:
18 | - [300, 5.99]
19 | - [400, 7.24]
20 | - [500, 8.29]
21 | - [600, 9.13]
22 | - [800, 10.44]
23 | - [1000, 11.47]
24 | - [1500, 13.14]
25 | range: [298, 1500]
26 |
27 | C[.](C)2(H):
28 | thermochem:
29 | T_ref: 298.0
30 | H_ref: 37.45
31 | S_ref: 10.74
32 | Cp_data:
33 | - [300, 5.16]
34 | - [400, 6.11]
35 | - [500, 6.82]
36 | - [600, 7.37]
37 | - [800, 8.26]
38 | - [1000, 8.84]
39 | - [1500, 9.71]
40 | range: [298, 1500]
41 |
42 | C[.](C)3:
43 | thermochem:
44 | T_ref: 298.0
45 | H_ref: 38.00
46 | S_ref: -10.77
47 | Cp_data:
48 | - [300, 4.06]
49 | - [400, 4.92]
50 | - [500, 5.42]
51 | - [600, 5.75]
52 | - [800, 6.27]
53 | - [1000, 6.35]
54 | - [1500, 6.53]
55 | range: [298, 1500]
56 |
57 | # This group is remapped to C(C)(H)3 according to Benson (1976):
58 | #
59 | #C(C[.])(H)3:
60 | # thermochem:
61 | # T_ref: 298.0
62 | # H_ref: -10.08
63 | # S_ref: 30.41
64 | # Cp_data:
65 | # - [300, 6.19]
66 | # - [400, 7.84]
67 | # - [500, 9.40]
68 | # - [600, 10.79]
69 | # - [800, 13.02]
70 | # - [1000, 14.77]
71 | # - [1500, 17.58]
72 | # range: [298, 1500]
73 |
74 | C(C[.])(C)(H)2:
75 | thermochem:
76 | T_ref: 298.0
77 | H_ref: -4.95
78 | S_ref: 9.42
79 | Cp_data:
80 | - [300, 5.50]
81 | - [400, 6.95]
82 | - [500, 8.25]
83 | - [600, 9.35]
84 | - [800, 11.07]
85 | - [1000, 12.34]
86 | - [1500, 14.25]
87 | range: [298, 1500]
88 |
89 | C(C[.])(C)2(H):
90 | thermochem:
91 | T_ref: 298.0
92 | H_ref: -1.90
93 | S_ref: -12.07
94 | Cp_data:
95 | - [300, 4.54]
96 | - [400, 6.00]
97 | - [500, 7.17]
98 | - [600, 8.05]
99 | - [800, 9.31]
100 | - [1000, 10.05]
101 | - [1500, 11.17]
102 | range: [298, 1500]
103 |
104 | C(C[.])(C)3:
105 | thermochem:
106 | T_ref: 298.0
107 | H_ref: 1.50
108 | S_ref: -35.10
109 | Cp_data:
110 | - [300, 4.37]
111 | - [400, 6.13]
112 | - [500, 7.36]
113 | - [600, 8.12]
114 | - [800, 8.77]
115 | - [1000, 8.76]
116 | - [1500, 8.12]
117 | range: [298, 1500]
118 |
--------------------------------------------------------------------------------
/pgradd/data/BensonGA/library.yaml:
--------------------------------------------------------------------------------
1 |
2 | include:
3 | - gas_benson/original.yaml
4 | - gas_benson/extra.yaml
5 |
--------------------------------------------------------------------------------
/pgradd/data/GRWAqueous2018/library.yaml:
--------------------------------------------------------------------------------
1 |
2 | include:
3 | - surface.yaml
4 | - uq.yaml
--------------------------------------------------------------------------------
/pgradd/data/GRWSurface2018/library.yaml:
--------------------------------------------------------------------------------
1 |
2 | include:
3 | - surface.yaml
4 | - uq.yaml
--------------------------------------------------------------------------------
/pgradd/data/GuSolventGA2017Aq/library.yaml:
--------------------------------------------------------------------------------
1 |
2 | include:
3 | - surface.yaml
4 |
5 |
--------------------------------------------------------------------------------
/pgradd/data/GuSolventGA2017Vac/library.yaml:
--------------------------------------------------------------------------------
1 |
2 | include:
3 | - surface.yaml
4 | - uq.yaml
--------------------------------------------------------------------------------
/pgradd/data/PPY/gas_benson/corrections.yaml:
--------------------------------------------------------------------------------
1 | units:
2 | molar enthalpy: kcal/mol
3 | molar entropy: cal/(mol*K)
4 | molar heat capacity: cal/(mol*K)
5 | temperature: K
6 |
7 | # The groups below are entered directly from _Thermochemical Kinetics_ 2nd ed.;
8 | # S.W. Benson; New York: John Wiley & Sons, 1976 pp. 272-273.
9 |
10 | groups:
11 | AlkaneGauche:
12 | thermochem:
13 | T_ref: 298.0
14 | H_ref: 0.80
15 | S_ref: null
16 | Cp_data: []
17 | range: [298, 1500]
18 | AlkeneGauche:
19 | thermochem:
20 | T_ref: 298.0
21 | H_ref: 0.50
22 | S_ref: null
23 | Cp_data: []
24 | range: [298, 1500]
25 | Cis:
26 | thermochem:
27 | T_ref: 298.0
28 | H_ref: 1.00
29 | S_ref: 1.2
30 | Cp_data:
31 | - [300, -1.34]
32 | - [400, -1.09]
33 | - [500, -0.81]
34 | - [600, -0.61]
35 | - [800, -0.39]
36 | - [1000, -0.26]
37 | - [1500, 0.0]
38 | range: [298, 1500]
39 | Double Cis:
40 | thermochem:
41 | T_ref: 298.0
42 | H_ref: 2.00
43 | S_ref: null
44 | Cp_data:
45 | - [300, 1.34]
46 | - [400, 1.09]
47 | - [500, 0.81]
48 | - [600, 0.61]
49 | - [800, 0.39]
50 | - [1000, 0.26]
51 | - [1500, 0.0]
52 | range: [298, 1500]
53 | tbCis:
54 | thermochem:
55 | T_ref: 298.0
56 | H_ref: 3.00
57 | S_ref: null
58 | Cp_data: []
59 | range: [298, 1500]
60 | Double tbCis:
61 | thermochem:
62 | T_ref: 298.0
63 | H_ref: 2.00
64 | S_ref: null
65 | Cp_data: []
66 | range: [298, 1500]
67 | Ortho:
68 | thermochem:
69 | T_ref: 298.0
70 | H_ref: 0.57
71 | S_ref: -1.61
72 | Cp_data:
73 | - [300, 1.12]
74 | - [400, 1.35]
75 | - [500, 1.30]
76 | - [600, 1.17]
77 | - [800, 0.88]
78 | - [1000, 0.66]
79 | - [1500, -0.05]
80 | range: [298, 1500]
81 | Ether oxygen gauche:
82 | thermochem:
83 | T_ref: 298.0
84 | H_ref: 0.30
85 | S_ref: null
86 | Cp_data: []
87 | range: [298, 1500]
88 | Ditertiary ether:
89 | thermochem:
90 | T_ref: 298.0
91 | H_ref: 8.4
92 | S_ref: null
93 | Cp_data: []
94 | range: [298, 1500]
--------------------------------------------------------------------------------
/pgradd/data/PPY/gas_benson/extra.yaml:
--------------------------------------------------------------------------------
1 |
2 | groups:
3 | 'O(C)(CO)':
4 | 'thermochem':
5 | T_ref: 298.15 K
6 | ND_Cp_data:
7 | - [300 K, 1.325981974561945]
8 | - [400 K, 1.7826531859148724]
9 | - [500 K, 2.0254563368545795]
10 | - [600 K, 2.1947895188052811]
11 | - [700 K, 2.3347070446415898]
12 | - [800 K, 2.4416184214704226]
13 | - [900 K, 2.5209531212293683]
14 | - [1000 K, 2.5954776202265162]
15 | range: [298 K, 1500 K]
16 |
--------------------------------------------------------------------------------
/pgradd/data/PPY/gas_benson/index.yaml:
--------------------------------------------------------------------------------
1 | # ===============
2 | # gas_benson.yaml
3 | # ===============
4 | #
5 | # This file contains Benson group data for gas phase compounds.
6 | # Unlike ``surface_benson.yaml``, this file is *not* automatically generated
7 | # and is maintained by hand.
8 |
9 |
10 | units:
11 | molar enthalpy: kcal/mol
12 | molar entropy: cal/(mol*K)
13 | molar heat capacity: cal/(mol*K)
14 | temperature: K
15 |
16 | include:
17 | - hydrocarbons.yaml
18 | - oxygenates.yaml
19 | - nitrogenates.yaml
20 | - radicals.yaml
21 |
22 |
--------------------------------------------------------------------------------
/pgradd/data/PPY/gas_benson/original.yaml:
--------------------------------------------------------------------------------
1 | include:
2 | - hydrocarbons.yaml
3 | - oxygenates.yaml
4 | - nitrogenates.yaml
5 | - radicals.yaml
6 | - strain.yaml
7 | - corrections.yaml
8 |
--------------------------------------------------------------------------------
/pgradd/data/PPY/gas_benson/radicals.yaml:
--------------------------------------------------------------------------------
1 | units:
2 | molar enthalpy: kcal/mol
3 | molar entropy: cal/(mol*K)
4 | molar heat capacity: cal/(mol*K)
5 | temperature: K
6 |
7 | # The groups below are entered directly (excepting changes as noted) from
8 | # _Thermochemical Kinetics_ 2nd ed.; S.W. Benson; New York: John Wiley & Sons,
9 | # 1976 pp. 73.
10 |
11 | groups:
12 | C[.](C)(H)2:
13 | thermochem:
14 | T_ref: 298.0
15 | H_ref: 39.1 #35.82
16 | S_ref: 30.7
17 | Cp_data:
18 | - [300, 5.99]
19 | - [400, 7.24]
20 | - [500, 8.29]
21 | - [600, 9.13]
22 | - [800, 10.44]
23 | - [1000, 11.47]
24 | - [1500, 13.14]
25 | range: [298, 1500]
26 |
27 | C[.](C)2(H):
28 | thermochem:
29 | T_ref: 298.0
30 | H_ref: 37.45
31 | S_ref: 10.74
32 | Cp_data:
33 | - [300, 5.16]
34 | - [400, 6.11]
35 | - [500, 6.82]
36 | - [600, 7.37]
37 | - [800, 8.26]
38 | - [1000, 8.84]
39 | - [1500, 9.71]
40 | range: [298, 1500]
41 |
42 | C[.](C)3:
43 | thermochem:
44 | T_ref: 298.0
45 | H_ref: 38.00
46 | S_ref: -10.77
47 | Cp_data:
48 | - [300, 4.06]
49 | - [400, 4.92]
50 | - [500, 5.42]
51 | - [600, 5.75]
52 | - [800, 6.27]
53 | - [1000, 6.35]
54 | - [1500, 6.53]
55 | range: [298, 1500]
56 |
57 | # This group is remapped to C(C)(H)3 according to Benson (1976):
58 | #
59 | #C(C[.])(H)3:
60 | # thermochem:
61 | # T_ref: 298.0
62 | # H_ref: -10.08
63 | # S_ref: 30.41
64 | # Cp_data:
65 | # - [300, 6.19]
66 | # - [400, 7.84]
67 | # - [500, 9.40]
68 | # - [600, 10.79]
69 | # - [800, 13.02]
70 | # - [1000, 14.77]
71 | # - [1500, 17.58]
72 | # range: [298, 1500]
73 |
74 | C(C[.])(C)(H)2:
75 | thermochem:
76 | T_ref: 298.0
77 | H_ref: -4.95
78 | S_ref: 9.42
79 | Cp_data:
80 | - [300, 5.50]
81 | - [400, 6.95]
82 | - [500, 8.25]
83 | - [600, 9.35]
84 | - [800, 11.07]
85 | - [1000, 12.34]
86 | - [1500, 14.25]
87 | range: [298, 1500]
88 |
89 | C(C[.])(C)2(H):
90 | thermochem:
91 | T_ref: 298.0
92 | H_ref: -1.90
93 | S_ref: -12.07
94 | Cp_data:
95 | - [300, 4.54]
96 | - [400, 6.00]
97 | - [500, 7.17]
98 | - [600, 8.05]
99 | - [800, 9.31]
100 | - [1000, 10.05]
101 | - [1500, 11.17]
102 | range: [298, 1500]
103 |
104 | C(C[.])(C)3:
105 | thermochem:
106 | T_ref: 298.0
107 | H_ref: 1.50
108 | S_ref: -35.10
109 | Cp_data:
110 | - [300, 4.37]
111 | - [400, 6.13]
112 | - [500, 7.36]
113 | - [600, 8.12]
114 | - [800, 8.77]
115 | - [1000, 8.76]
116 | - [1500, 8.12]
117 | range: [298, 1500]
118 |
--------------------------------------------------------------------------------
/pgradd/data/PPY/library.yaml:
--------------------------------------------------------------------------------
1 |
2 | include:
3 | - gas_benson/original.yaml
4 | - gas_benson/extra.yaml
5 |
--------------------------------------------------------------------------------
/pgradd/data/PtSurface2023/library.yaml:
--------------------------------------------------------------------------------
1 |
2 | include:
3 | - surface.yaml
--------------------------------------------------------------------------------
/pgradd/data/PtSurface2023/uq.yaml:
--------------------------------------------------------------------------------
1 | UQ:
2 | RMSE:
3 | 'thermochem':
4 | T_ref: 298.15 K
5 | H_ref: 3.4958 kcal/mol
6 | S_ref: 1.6683 cal/(mol*K)
7 | Cp_data:
8 | - [100 K, 0.6589 cal/(mol*K)]
9 | - [200 K, 0.5180 cal/(mol*K)]
10 | - [300 K, 0.4344 cal/(mol*K)]
11 | - [400 K, 0.4030 cal/(mol*K)]
12 | - [500 K, 0.3902 cal/(mol*K)]
13 | - [600 K, 0.3840 cal/(mol*K)]
14 | - [700 K, 0.3806 cal/(mol*K)]
15 | - [800 K, 0.3781 cal/(mol*K)]
16 | - [900 K, 0.3756 cal/(mol*K)]
17 | - [1000 K, 0.3728 cal/(mol*K)]
18 | - [1100 K, 0.3697 cal/(mol*K)]
19 | - [1200 K, 0.3666 cal/(mol*K)]
20 | - [1300 K, 0.3635 cal/(mol*K)]
21 | - [1400 K, 0.3605 cal/(mol*K)]
22 | - [1500 K, 0.3579 cal/(mol*K)]
23 | DOF:
24 | 100
25 |
26 | InvCovMat:
27 | 'groups':
28 | - 'C(Pt)4'
29 | - 'C(C)(Pt)3'
30 | - 'surface-ring strain'
31 | - 'C(C)(H)2(O)'
32 | - 'O(C)(Pt)'
33 | - 'CCPt3'
34 | - 'O(C)(H)'
35 | - 'CO(C)(H)'
36 | - 'C(CO)(Pt)3'
37 | - 'C(C)(H)(O)(Pt)'
38 | - 'CPt3CPt1'
39 | - 'CO(C)(Pt)'
40 | - 'C(C)(O)(Pt)2'
41 | - 'CCOH'
42 | - 'CPt3CPt2'
43 | - 'C(H)(Pt)3'
44 | - 'C(H)2(Pt)2'
45 | - 'C(C)(H)2(Pt)'
46 | - 'C(C)(H)(Pt)2'
47 | - 'CPt2CPt1'
48 | - 'CPt1CPt1'
49 | - 'CCPt1'
50 | - 'C(CO)(H)2(Pt)'
51 | - 'C(H)2(O)(Pt)'
52 | - 'CPt1OPt1'
53 | - 'C(H)3(Pt)'
54 | - 'C(C)(H)3'
55 | - 'CCPt2'
56 | - 'CC'
57 | - 'CPt2OPt1'
58 | - 'CPt2CPt2'
59 | - 'C(CO)(H)(Pt)2'
60 | - 'CO(H)(Pt)'
61 | - 'C(H)(O)(Pt)2'
62 | - 'CO(Pt)2'
63 | - 'C(O)(Pt)3'
64 | - 'H'
65 | - 'O(H)2'
66 | - 'O(Pt)2'
67 | - 'O(H)(Pt)'
68 | - 'C(H)(O)2(Pt)'
69 | - 'O(CO)(Pt)'
70 | - 'CO2s(Pt)'
71 | - 'CO(O)(Pt)+O(CO)(H)'
72 | - 'C(H)4s'
73 | - 'C(C)2(H)(O)'
74 | - 'C(C)2(O)(Pt)'
75 | - 'C(C)(CO)(H)(O)'
76 | - 'CO(C)2'
77 | - 'C(CO)(H)(O)(Pt)'
78 | - 'C(C)(CO)(O)(Pt)'
79 | - 'C(CO)2(O)(Pt)'
80 | - 'C(CO)2(H)2'
81 | - 'CO(CO)(H)'
82 | - 'CO(C)(CO)'
83 | - 'C(CO)(O)(Pt)2'
84 | - 'C(C)(CO)(H)2'
85 | - 'C(C)(CO)(Pt)2'
86 | - 'C(CO)2(H)(Pt)'
87 | - 'C(C)(CO)(H)(Pt)'
88 | - 'C(C)2(H)(Pt)'
89 | - 'C(CO)2(Pt)2'
90 | - 'CO(CO)(Pt)'
91 | - 'C(C)2(Pt)2'
92 | - 'C(C)2(H)2'
93 | - 'CO(CO)2'
94 | - 'C(CO)2(H)(O)'
95 |
--------------------------------------------------------------------------------
/pgradd/data/Roel_Ru/library.yaml:
--------------------------------------------------------------------------------
1 |
2 | include:
3 | - surface.yaml
--------------------------------------------------------------------------------
/pgradd/data/SalciccioliGA2012/library.yaml:
--------------------------------------------------------------------------------
1 |
2 | include:
3 | - surface.yaml
4 |
5 |
--------------------------------------------------------------------------------
/pgradd/data/XieGA2022/library.yaml:
--------------------------------------------------------------------------------
1 |
2 | include:
3 | - surface.yaml
4 |
5 |
--------------------------------------------------------------------------------
/pgradd/tests/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VlachosGroup/PythonGroupAdditivity/c7a77ef3489931f16edeb525882af64702fd5746/pgradd/tests/__init__.py
--------------------------------------------------------------------------------
/pgradd/tests/test_SMILES_to_thermo_examples.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """
3 | pmutt.test_constants
4 | Tests for SMILES_to_thermo_examples file
5 | Created on Tues Oct 23 2018
6 | """
7 | import unittest
8 | from pgradd.GroupAdd.Library import GroupLibrary
9 | import pgradd.ThermoChem
10 |
11 |
12 | class TestExamples(unittest.TestCase):
13 |
14 | def test_BensonGA(self):
15 | lib = GroupLibrary.Load('BensonGA')
16 | descriptors = lib.GetDescriptors('C1CO1')
17 | thermochem = lib.Estimate(descriptors, 'thermochem')
18 | GroupDict = {'C(C)(H)2(O)': 2, 'O(C)2': 1, 'Oxirane': 1}
19 | HoRT = thermochem.get_HoRT(298.15)
20 | self.assertAlmostEqual(HoRT, -21.09467743150278)
21 | self.assertEqual(descriptors, GroupDict)
22 |
23 | def test_Salciccioli(self):
24 | lib = GroupLibrary.Load('SalciccioliGA2012')
25 | descriptors = lib.GetDescriptors('C([Pt])C[Pt]')
26 | thermochem = lib.Estimate(descriptors, 'thermochem')
27 | GroupDict = {'C(C)(H)2(Pt)': 2, 'surface-ring strain': 0.217}
28 | H = thermochem.get_H(298.15, units='kcal/mol')
29 | self.assertAlmostEqual(H, -11.307743997749277)
30 | self.assertEqual(descriptors, GroupDict)
31 |
32 | def test_GU_Aq(self):
33 | lib = GroupLibrary.Load('GuSolventGA2017Aq')
34 | descriptors = lib.GetDescriptors('C(=O)([Pt])O')
35 | thermochem = lib.Estimate(descriptors, 'thermochem')
36 | GroupDict = {'CO(O)(Pt)+O(CO)(H)': 1.0}
37 | HoRT = thermochem.get_HoRT(500)
38 | self.assertAlmostEqual(HoRT, -109.86212002776878)
39 | self.assertEqual(descriptors, GroupDict)
40 |
41 | def test_Wittreich_Surface_ND(self):
42 | lib = GroupLibrary.Load('GRWSurface2018')
43 | descriptors = lib.GetDescriptors('[Pt]C([Pt])C([Pt])([Pt])C=O')
44 | thermochem = lib.Estimate(descriptors, 'thermochem')
45 | GroupDict = {'C(C)(H)(Pt)2': 1, 'C(C)(CO)(Pt)2': 1, 'CO(C)(H)': 1,
46 | 'CPt2CPt2': 1, 'CCPt2': 1, 'surface-ring strain': 0.392}
47 | HoRT = thermochem.get_HoRT(750)
48 | self.assertAlmostEqual(HoRT, -13.423119203382337)
49 | self.assertEqual(descriptors, GroupDict)
50 |
51 | def test_Wittreich_Surface_Dim(self):
52 | lib = GroupLibrary.Load('GRWSurface2018')
53 | descriptors = lib.GetDescriptors('[Pt]C([Pt])C([Pt])([Pt])C=O')
54 | thermochem = lib.Estimate(descriptors, 'thermochem')
55 | GroupDict = {'C(C)(H)(Pt)2': 1, 'C(C)(CO)(Pt)2': 1, 'CO(C)(H)': 1,
56 | 'CPt2CPt2': 1, 'CCPt2': 1, 'surface-ring strain': 0.392}
57 | H = thermochem.get_H(750, 'kcal/mol')
58 | self.assertAlmostEqual(H, -20.005853103142883)
59 | self.assertEqual(descriptors, GroupDict)
60 |
61 | def test_Wittreich_Aqueous_ND(self):
62 | lib = GroupLibrary.Load('GRWAqueous2018')
63 | descriptors = lib.GetDescriptors('C(=O)([Pt])O')
64 | thermochem = lib.Estimate(descriptors, 'thermochem')
65 | GroupDict = {'CO(O)(Pt)+O(CO)(H)': 1.0}
66 | HoRT = thermochem.get_HoRT(500)
67 | self.assertAlmostEqual(HoRT, -107.57909464133714)
68 | self.assertEqual(descriptors, GroupDict)
69 |
70 | def test_Wittreich_Aqueous_Dim(self):
71 | lib = GroupLibrary.Load('GRWAqueous2018')
72 | descriptors = lib.GetDescriptors('C(=O)([Pt])O')
73 | thermochem = lib.Estimate(descriptors, 'thermochem')
74 | GroupDict = {'CO(O)(Pt)+O(CO)(H)': 1.0}
75 | H = thermochem.get_H(500, 'kJ/mol')
76 | self.assertAlmostEqual(H, -447.23102885789655)
77 | self.assertEqual(descriptors, GroupDict)
78 |
79 | def test_Xie_Ru0001_Example1_ND(self):
80 | lib = GroupLibrary.Load('XieGA2022')
81 | descriptors = lib.GetDescriptors('[Ru]C([Ru])C([Ru])([Ru])C')
82 | thermochem = lib.Estimate(descriptors, 'thermochem')
83 | GroupDict = {'C(C)(H)(Ru)2': 1, 'C(C)2(Ru)2': 1, 'C(C)(H)3': 1,
84 | 'CRu2CRu2': 1}
85 | HoRT = thermochem.get_HoRT(500)
86 | self.assertAlmostEqual(HoRT, -35.040312149773726)
87 | self.assertEqual(descriptors, GroupDict)
88 |
89 | def test_Xie_Ru0001_Example1_Dim(self):
90 | lib = GroupLibrary.Load('XieGA2022')
91 | descriptors = lib.GetDescriptors('[Ru]C([Ru])C([Ru])([Ru])C')
92 | thermochem = lib.Estimate(descriptors, 'thermochem')
93 | GroupDict = {'C(C)(H)(Ru)2': 1, 'C(C)2(Ru)2': 1, 'C(C)(H)3': 1,
94 | 'CRu2CRu2': 1}
95 | H = thermochem.get_H(500, 'kJ/mol')
96 | self.assertAlmostEqual(H, -145.6706333743726)
97 | self.assertEqual(descriptors, GroupDict)
98 |
99 | def test_Xie_Ru0001_Example2_ND(self):
100 | lib = GroupLibrary.Load('XieGA2022')
101 | descriptors = lib.GetDescriptors('CCC')
102 | thermochem = lib.Estimate(descriptors, 'thermochem')
103 | GroupDict = {'C(C)(H)3': 2, 'C(C)2(H)2': 1}
104 | HoRT = thermochem.get_HoRT(500)
105 | self.assertAlmostEqual(HoRT, -41.49969417868688)
106 | self.assertEqual(descriptors, GroupDict)
107 |
108 | def test_Xie_Ru0001_Example2_Dim(self):
109 | lib = GroupLibrary.Load('XieGA2022')
110 | descriptors = lib.GetDescriptors('CCC')
111 | thermochem = lib.Estimate(descriptors, 'thermochem')
112 | GroupDict = {'C(C)(H)3': 2, 'C(C)2(H)2': 1}
113 | H = thermochem.get_H(500, 'kJ/mol')
114 | self.assertAlmostEqual(H, -172.52376948049303)
115 | self.assertEqual(descriptors, GroupDict)
116 |
117 | def test_Selements_Example_Dim(self):
118 | lib = GroupLibrary.Load('BensonGA')
119 | descriptors = lib.GetDescriptors('CCCCCC')
120 | thermochem = lib.Estimate(descriptors, 'thermochem')
121 | GroupDict = {'C(C)(H)3': 2, 'C(C)2(H)2': 4}
122 | G = thermochem.get_G(T=298.15, units='kJ/mol', S_elements=True)
123 | self.assertAlmostEqual(G, -7.732446702038452)
124 | self.assertEqual(descriptors, GroupDict)
125 |
126 |
127 | if __name__ == '__main__':
128 | unittest.main()
129 |
--------------------------------------------------------------------------------
/pgradd/yaml_io/__init__.py:
--------------------------------------------------------------------------------
1 | """
2 | =======================
3 | YAML-formatted data I/O
4 | =======================
5 |
6 | This module handles input from YAML formatted data. Because this code is in
7 | bad need of cleanup and because in the long run, I (Stephen Edie) hope to
8 | replace the input mechanism with something cleaner and faster (not involving
9 | YAML), the documentation for this module is limited at this time.
10 |
11 |
12 | ---------
13 | Reference
14 | ---------
15 |
16 | .. autodoc puts stuff extracted from docstrings here.
17 | """
18 |
19 |
20 | from .yaml_io import *
21 |
22 | __all__ = yaml_io.__all__[:]
23 |
24 | del yaml_io
25 |
--------------------------------------------------------------------------------
/pgradd/yaml_io/common.py:
--------------------------------------------------------------------------------
1 | import sys
2 |
3 |
4 | __all__ = [
5 | 'string', 'SchemaDefinitionError', 'InputDataError', 'InputDataWarning']
6 |
7 |
8 | if sys.version_info[0] >= 3:
9 | string = str
10 | else:
11 | string = str
12 | # string = unicode
13 |
14 |
15 | class SchemaDefinitionError(Exception):
16 | pass
17 |
18 |
19 | class InputDataError(Exception):
20 | pass
21 |
22 |
23 | class InputDataWarning(Warning):
24 | pass
25 |
--------------------------------------------------------------------------------
/pgradd/yaml_io/lib_interface.py:
--------------------------------------------------------------------------------
1 | import yaml
2 |
3 | from .common import string
4 |
5 |
6 | __all__ = ['parse', 'YAMLTaggedValue']
7 |
8 |
9 | class YAMLTaggedValue(object):
10 | def __init__(self, tag, value):
11 | self.tag = tag
12 | self.value = value
13 |
14 | def __str__(self):
15 | return '<%s>: %s' % (self.tag, self.value)
16 |
17 | def __repr__(self):
18 | return 'YAMLTaggedValue(%r, %r)' % (self.tag, self.value)
19 |
20 |
21 | def _construct_str(loader, node):
22 | return string(loader.construct_scalar(node))
23 |
24 |
25 | def _construct_seq(loader, node):
26 | result = loader.construct_sequence(node)
27 | return result
28 |
29 |
30 | def _construct_map(loader, node):
31 | result = dict([(tuple(key), value) if isinstance(key, list)
32 | else (key, value)
33 | for (key, value) in loader.construct_pairs(node, deep=True)])
34 | return result
35 |
36 |
37 | def _construct_tagged(loader, tag, node):
38 | if isinstance(node, yaml.MappingNode):
39 | value = _construct_map(loader, node)
40 | elif isinstance(node, yaml.SequenceNode):
41 | value = _construct_seq(loader, node)
42 | elif isinstance(node, yaml.ScalarNode):
43 | value = loader.construct_scalar(node)
44 | else:
45 | raise TypeError('Unknown node type: %s' % type(node))
46 | return YAMLTaggedValue(tag, value)
47 |
48 |
49 | try:
50 | # Use the class that's atop libyaml for speed...
51 | class Loader(yaml.CSafeLoader):
52 | pass
53 | except AttributeError:
54 | # ...and fall back on the Python implementation otherwise:
55 | class Loader(yaml.SafeLoader):
56 | pass
57 |
58 | # Note: other possible tags:
59 | # 'tag:yaml.org,2002:int', 'tag:yaml.org,2002:float',
60 | # 'tag:yaml.org,2002:bool', tag:yaml.org,2002:null',
61 | # and 'tag:yaml.org,2002:seq'
62 | Loader.add_constructor('tag:yaml.org,2002:str', _construct_str)
63 | Loader.add_constructor('tag:yaml.org,2002:map', _construct_map)
64 |
65 | # Captures all things with an explicit tag.
66 | Loader.add_multi_constructor('', _construct_tagged)
67 |
68 | # Might look into these later?
69 | # VGToolsLoader.add_multi_constructor('!', VGToolsLoader.constructor)
70 | # VGToolsLoader.add_constructor('!!seq', VGToolsLoader.seq_constructor)
71 |
72 |
73 | # We want YAML 1.2 support but the Python YAML library only supports YAML 1.1.
74 | # YAML 1.1 has lots of implicit resolvers that try to automatically convert
75 | # too many things. We address this by replacing the implicit_resolvers with
76 | # only those that are explicitly in the YAML 1.2 core set).
77 | YAML12_core_implicit_tags = [
78 | 'tag:yaml.org,2002:' + tag for tag in
79 | ['str', 'seq', 'map', 'null', 'bool', 'int', 'float']]
80 | for first in Loader.yaml_implicit_resolvers:
81 | Loader.yaml_implicit_resolvers[first] = [
82 | (tag, regexp)
83 | for (tag, regexp) in Loader.yaml_implicit_resolvers[first]
84 | if tag in YAML12_core_implicit_tags]
85 |
86 |
87 | def parse(yaml_input):
88 | """Parse data in YAML format to an abstract tree."""
89 | return yaml.load(yaml_input, Loader=Loader)
90 |
--------------------------------------------------------------------------------
/pgradd/yaml_io/yaml_io.py:
--------------------------------------------------------------------------------
1 | from .lib_interface import YAMLTaggedValue, parse
2 | from .schema import SchemaRepository
3 | # from .common import *
4 |
5 |
6 | __all__ = ['Error', 'load', 'make_loader', 'make_object_loader',
7 | 'register_class', 'register_list_type', 'register_type', 'parse']
8 |
9 |
10 | class Error(Exception):
11 | """Exception raised upon YAML input/output related error."""
12 |
13 |
14 | def load(data, context=None, name=None, tag=None, loader=None):
15 | """Construct object from abstract tree obtained using `parse()`."""
16 | if context is None:
17 | context = {}
18 | context['repo'] = _repository
19 |
20 | if tag is not None:
21 | if loader is not None:
22 | raise Error("Specification of keyword argument 'tag' conflicts "
23 | "with specification of 'loader' in yaml_io.load()")
24 | return _repository.load_tagged(name, data, context, tag)
25 | elif loader is not None:
26 | if isinstance(data, YAMLTaggedValue):
27 | raise Error("Object %r with tag %r cannot be loaded with "
28 | "loader %r in yaml_io.load().", loader)
29 | return loader(name, data, context)
30 | elif not isinstance(data, YAMLTaggedValue):
31 | raise Error("Cannot load untagged object %r; no tag or loader "
32 | "specified to yaml_io.load()." % data)
33 | else:
34 | return _repository.load_tagged(name, data.value, context, data.tag)
35 |
36 |
37 | _repository = SchemaRepository()
38 |
39 | make_loader = _repository.make_loader
40 | make_object_loader = _repository.make_object_loader
41 | register_class = _repository.register_class
42 | register_list_type = _repository.register_list_type
43 | register_type = _repository.register_type
44 |
--------------------------------------------------------------------------------
/setup.py:
--------------------------------------------------------------------------------
1 | #
2 | #
3 | # setup.py
4 | #
5 | # Installation script to get setuptools to install pgradd into
6 | # a Python environment.
7 | #
8 |
9 | import sys
10 | import setuptools
11 |
12 | # Import the lengthy rich-text README as the package's long
13 | # description:
14 | with open('README.rst', 'r') as fh:
15 | long_description = fh.read()
16 |
17 | setuptools_info = {
18 | 'name': 'pgradd',
19 | 'version': '2.9.13',
20 | 'author': 'Vlachos Research Group',
21 | 'author_email': 'vlachos@udel.edu',
22 | 'description': 'Python package implements the Group Additivity (GA) method for estimating thermodynamic properties',
23 | 'long_description': long_description,
24 | 'zip_safe': True,
25 | 'url': 'https://github.com/VlachosGroup/PythonGroupAdditivity',
26 | 'packages': setuptools.find_packages(),
27 | 'include_package_data': True,
28 | 'exclude_package_data': {
29 | '': [ 'README.rst', 'docs', 'example', 'tests', 'PKG-INFO', 'LICENSE.md' ]
30 | },
31 | 'install_requires': [
32 | 'pmutt>=1.3.2',
33 | 'scipy>=1.7.0',
34 | 'numpy>=1.21.0',
35 | 'IPython>=7.31.0',
36 | 'PyYAML>=6.0',
37 | 'rdkit>=2023.3.2'
38 | ],
39 | 'classifiers': [
40 | "Programming Language :: Python :: 3",
41 | "License :: OSI Approved :: MIT License",
42 | "Operating System :: OS Independent",
43 | "Intended Audience :: Science/Research",
44 | "Topic :: Scientific/Engineering :: Chemistry",
45 | ],
46 | }
47 |
48 | if sys.version_info[0] >= 3:
49 | #
50 | # Augment for Python 3 setuptools:
51 | #
52 | setuptools_info['long_description_content_type'] = 'text/x-rst'
53 |
54 | setuptools.setup(**setuptools_info)
55 |
--------------------------------------------------------------------------------