To install all necessary dependencies for the notebooks in this folder, follow these steps:
-
Prerequisites:
- Python 3.12 or higher shall be installed
- Ability to open and execute Jupyter notebooks (e.g. Conda Environment)
-
Create a virtual environment (optional but recommended):
python -m venv maenv source maenv/bin/activate # On Windows use `maenv\Scripts\activate`
-
Clone repository in desired directory:
git clone https://github.com/BartgeierXC/FuelCellOED.git
-
Install required packages:
cd ./FuelCellOED pip install -r requirements.txt
This repository aggregates all workflow modules and supporting resources according to the publication "Optimal Experimental Design for Fuel Cell Model Parameter Identification", including visualization functions and data preparation tools. It is organized into three main directories: data, examples, and src.
Contains all data used in the generation of results, as well as intermediate and output files produced by the modules.
01 - 05 Contains ready-to-use notebooks implementing all workflow steps based on the exemplary model implementation.
06 - 11 Contains the original demo notebooks used to create the results for the according publication.
Contains all functional modules of the repository as well as the fuel cell model.
-
Experiments
Implements D-, A-, and Pi-optimality design calculations for direct use in the notebooks. -
Math Utilities
Provides derivative calculations, scaling functions, experiment metrics, model evaluation routines, and parameter fitting/variation functions. -
Minimizer
Contains multiple minimization routines. The notebooks use differential evolution (DE) due to its parallelizability. -
Model
Defines the general model class and parameter-set class, including their derivations.
The Hahn Stack Model is the central implementation used for all experiment evaluations and parameter estimation. -
Statistical Models
Implements a reusable statistical model class and provides one instance initialized with model-specific values. -
Utilities
Provides experiment serialization functionality for exporting and importing experiments. -
Visualization
Contains all visualization functions, including plotting polarization curves, parameter estimations, and parameter variations.
Together, these modules give access to OED methods for parametric models. They can be flexibly applied to different FC models, as well as other applications, given the models are present in a analytically closed form. For usage reference please refer to the example notebooks.