Skip to main content

Interactive GUI based program that generates the overall species balance, system of ODEs needed for the solve_ivp and odeint method, and calculates the Jacobian both symbolically and numerically. The resulting code can easily be copied and pasted as is to be integrated with the aforementioned SciPy functions.

Project description

Chemical System Generator

Generator for symbolic functions for both full and simple systems

Symbol Generator

chemsys.py is a Gui based chemical reaction system generator that generates the right hand side (RHS) of a chemical system to be used with the solve_ivp and odeint method, the jacobian, and the overall equations for each reactions and each individual chemical species. It will generate Latex formatted equations for the individual chemical reactions, overall mass balances for each species, and both symbolic and numerical text files for the RHS and jacobian.

Installation

pip install chemsys

conda install -c tjczec01 chemsys

1. Chemical reactions

This program will generate the Latex forms of each individual reaction and then save them as both a pdf and svg. The string forms of the equations will be saved in a text (txt) file. An example of some inital reactions are given below.

2. Overall reactions for each chemical species

This program will generate the Latex forms of each individual reaction and then save them as both a pdf and svg. The string forms of the equations will be saved in a text (txt) file. An example of some inital reactions are given below.

3. Right Hand Side

The right hand side (RHS) of the system of equations will be generated both symbolically and with initial values substituted into their respective places. This is the required system for scipy's solve_ivp and odeint method. This function requires a callable in the form of fun(t, y):

4. Jacobian

The Jacobian matrix is symbolically generated in order to improve the accuracy and speed of the solvers used in the aforementioned method.

5. Use

5.1 Generate all necessary lists and values as follows.

from chemsys.cs import gui, symbolgen
chemical_names, number_of_reactions, Initial_reactions, Equation_list, indvdf, filepath, kvalues, ea_values, r_gas, pdf_path = gui.fullgui()

5.2 Calculate the jacobian and all other desired functions as follows.

C_Symbols, K_Vals, EA_Vals, reactants, products, equations, slat, dlat, chem, chemD, chemw, right_hand_side, right_hand_sidef, Jac, Jac_numpy, Jac_math, Jac_Simple, lm, latex_matrix, Jac_symbol, Jac_numpy_symbol, Jac_math_symbol, Jac_simple_symbol, lm_symbol, latex_matrix_symbol, DLatb = symbolgen.fullgen(chemical_names, number_of_reactions, Initial_reactions, Equation_list, indvdf, filepath, kvalues, ea_values, r_gas, chemical_names, pdf_path)

6.1 References

Czechorski, Travis J, "A kinetic and thermodynamic model of ethylene dichloride pyrolysis." (2019). Electronic Theses and Dissertations. Paper 3359. Retrieved from https://ir.library.louisville.edu/etd/3359

By Travis Czechorski under the supervision of Dr. Vance Jaeger.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chemsys-1.0.49.tar.gz (79.3 kB view details)

Uploaded Source

Built Distribution

chemsys-1.0.49-py3-none-any.whl (81.0 kB view details)

Uploaded Python 3

File details

Details for the file chemsys-1.0.49.tar.gz.

File metadata

  • Download URL: chemsys-1.0.49.tar.gz
  • Upload date:
  • Size: 79.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.10

File hashes

Hashes for chemsys-1.0.49.tar.gz
Algorithm Hash digest
SHA256 83f21f447755961a199b578f0d732360f34211366d91f5ce641a3c5ffa98ac81
MD5 882b91a468569c0efbb1d6c5d1f4c940
BLAKE2b-256 48a6bf0345e9940e0be99bce36f59ae93d74da559a7f01cfb7d64c1e2fd1ec9c

See more details on using hashes here.

File details

Details for the file chemsys-1.0.49-py3-none-any.whl.

File metadata

  • Download URL: chemsys-1.0.49-py3-none-any.whl
  • Upload date:
  • Size: 81.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.10

File hashes

Hashes for chemsys-1.0.49-py3-none-any.whl
Algorithm Hash digest
SHA256 39a91f0237bddbea131ec6d834a7794102a31f089670eb0157f034e41e29b637
MD5 b6a783b85a0bfa11903e14183590a9f2
BLAKE2b-256 c46ed2311d15e0cbc6999ec281de1c9ec9e2facbeaa16d656e7a7c75a4bb4394

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page