Overview of ChemPy capabilities
masterChemPy is a Python library designed for researchers and engineers to solve chemistry-related problems through modeling. It provides core abstractions for representing substances, reactions, and reaction systems, and supports both numerical and symbolic computation.
Key Capabilities:
- Chemical Representation: Classes for substances (with composition, weight, charge, and pretty-printing via LaTeX/HTML/Unicode) and reactions (defined by stoichiometry and thermodynamic/kinetic parameters).
- Reaction Systems: Tools to analyze reaction networks (e.g., identifying disjoint sets or connectivity) and express them as:
- Systems of Ordinary Differential Equations (ODEs) for chemical kinetics.
- Systems of non-linear equations for chemical equilibria (including multi-phase systems).
- Mathematical Solving:
- Symbolic Math: Uses
SymPyto solve stoichiometry problems analytically, including under-determined systems. - Numerical Solving: Integrates with
pyodesysfor ODEs andpyneqsysfor non-linear equations. - Optimization: Uses
PuLPto express under-determined systems in a canonical form with minimized coefficients.
- Symbolic Math: Uses
- Data Support: Supports
NumPyarrays, symbolic inputs, and arrays with explicit units for dimensionality checking (e.g., verifying reaction order against rate constants).