Skip to main content

Model Identification, Discrimination, and Design of Experiments.

Project description

MIDDoE: Model-(based) Identification, Discrimination, and Design of Experiments

PyPI MIT License GitHub Stars


🌍 About MIDDoE

MIDDoE is an open-source Python package designed to streamline model identification for dynamic lumped models. Developed to address gaps in existing tools, MIDDoE offers a structured framework integrating:

Model Identification
Model Discrimination
Experimental Design

With its flexible and user-friendly design, MIDDoE ensures practical usability across various scientific disciplines.


✨ Key Features

Comprehensive Workflow — A structured framework that covers all essential steps in model identification.
Flexible Integration — Supports external simulators while offering built-in options.
Adaptable Design — Easily accommodates physical constraints for practical applications.
Accessible Framework — Uses NumPy-based structures for improved generality and minimal dependencies.
User-Friendly Interface — Designed for use beyond traditional process systems engineering applications.


⚙️ Functionalities

MIDDoE offers a wide range of numerical capabilities to support model identification, including:

🔍 Sensitivity Analysis — Identifies key parameters influencing model behaviour.
📊 Estimability Analysis — Determines which parameters can be reliably estimated.
📈 Parameter Estimation — Estimates model parameters based on experimental data.
📉 Uncertainty Analysis — Evaluates confidence in model predictions.
🧪 MBDoE for Model Discrimination (MBDoE-MD) — Optimises experiments to distinguish between competing models.
🎯 MBDoE for Parameter Precision (MBDoE-PP) — Designs experiments to improve parameter precision.
🧪 Model Validation — Assesses predictive accuracy using independent data.

Additional service functionalities include:

  • 📂 Data Handling
  • 📑 Plotting and Reporting
  • 🧬 In-silico Data Generation

🧪 Applications

MIDDoE has been successfully applied across various domains, including:

  • 💊 Pharmaceutical systems
  • 🧫 Biological processes
  • 🪨 Mineral systems
  • ⚗️ Chemical processes

🚀 Installation

MIDDoE can be installed via PyPI or by cloning the repository:

PyPI Installation

pip install middoe

Git Clone

git clone https://github.com/zuhairblr/middoe.git

📚 Tutorials and Examples

MIDDoE provides a comprehensive set of tutorials and case studies demonstrating its application in:

  • 📋 Pharmaceutical Systems
  • 🧬 Biological Processes
  • 🪨 Mineral Systems
  • ⚗️ Chemical Processes

📝 Documentation will be available soon to guide users through package functionalities.


💬 Getting Help

For support and community interaction:


👨‍💻 Developers

We welcome contributions! If you'd like to improve MIDDoE, report issues, or suggest new features, please visit the GitHub repository for guidelines.

Contributing Terms

By contributing to MIDDoE, you agree to the following terms:
1️⃣ Your contributions are submitted under the MIT License.
2️⃣ You confirm that you have the rights to submit these contributions.


🛡️ License

MIDDoE is licensed under the MIT License. See the LICENSE file for more details.


📖 Citation

If you use MIDDoE in your research, please cite:

  1. Tabrizi, Z., Barbera, E., Leal da Silva, W.R., & Bezzo, F. (2025).
    MIDDoE: An MBDoE Python package for model identification, discrimination, and calibration.
    Digital Chemical Engineering, 17, 100276.
    https://doi.org/10.1016/j.dche.2025.100276

  2. Tabrizi, S.Z.B., Barbera, E., Da Silva, W.R.L., & Bezzo, F. (2025).
    A Python/Numpy-based package to support model discrimination and identification.
    In J.F.M. Van Impe et al. (Eds.), Systems and Control Transactions, 4, 1282-1287.
    https://doi.org/10.69997/sct.192104


🧪 Applied To

MIDDoE has been applied in various EU reports, research works, and projects, e.g.:

  1. Tabrizi, Z., Rodriguez, C., Barbera, E., Leal da Silva, W.R., & Bezzo, F. (2025).
    Wet Carbonation of Industrial Recycled Concrete Fines: Experimental Study and Reaction Kinetic Modeling.
    Ind Eng Chem Res, 64(45), 21412–21425.
    https://doi.org/10.1021/acs.iecr.5c02835

🙏 Acknowledgements

This work is part of the CO2Valorize project, funded by the European Union’s Horizon Europe research and innovation programme under the Marie Skłodowska-Curie Grant Agreement No. 101073547.

MIDDoE is a collaborative effort between:

Additionally, MIDDoE has been extended to integrate with gPROMS, a commercial process and model simulator developed by Siemens Industry Software Limited, UK.

We warmly thank the research community for their valuable feedback and ongoing contributions that have helped shape and improve this project.


🔗 Resources


💻 Developed with ❤️ by the MIDDoE team

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

middoe-0.1.1.tar.gz (185.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

middoe-0.1.1-py3-none-any.whl (191.3 kB view details)

Uploaded Python 3

File details

Details for the file middoe-0.1.1.tar.gz.

File metadata

  • Download URL: middoe-0.1.1.tar.gz
  • Upload date:
  • Size: 185.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for middoe-0.1.1.tar.gz
Algorithm Hash digest
SHA256 ff007944a870a27e4af399bf521164afd021aced646b514b49ff0e5c803b432f
MD5 23cae8d2a329e241fb1293ca81716146
BLAKE2b-256 1b0dffaada80b972c7408e9ef6ae12f16233ccd815a24110b04b9b643942125e

See more details on using hashes here.

Provenance

The following attestation bundles were made for middoe-0.1.1.tar.gz:

Publisher: release.yaml on zuhairblr/middoe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file middoe-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: middoe-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 191.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for middoe-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1be49a05497423f6cfc45c1ad1c42866107431c9cb1393429b92e72421eb72ce
MD5 70eaa92b9ed82f6899c6c0d0ec1eca62
BLAKE2b-256 ff5e19247856949c25861871d75b19bc3ff94c796bd55ad3228a450cc2d751f1

See more details on using hashes here.

Provenance

The following attestation bundles were made for middoe-0.1.1-py3-none-any.whl:

Publisher: release.yaml on zuhairblr/middoe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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