A tool for calibrating OpenSees material models using experimental data. This application uses Bayesian optimization to find the best material parameters that match experimental hysteresis curves.
S. Mohammad Hosseini V.
Shahid Beheshti University
Civil, Water, and Environmental Engineering Faculty
Email: smo.hosseini@mail.sbu.ac.ir
Check out the demo of this application on LinkedIn: View Demo
- Interactive web interface built with Streamlit
- Automatic parameter detection from OpenSees material commands
- Bayesian optimization using Optuna
- Real-time visualization of optimization progress
- Comparison plots between experimental and optimized model responses
- Support for various OpenSees uniaxial material models
- Clone the repository:
git clone https://github.com/FEMquake/material-calibrator.git
cd material-calibrator
- Create a virtual environment (recommended):
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Start the application:
streamlit run src/app.py
-
Upload your experimental data:
- Strain/deformation data file (text format)
- Stress/force data file (text format)
-
Define your OpenSees material model command
-
Set parameter bounds for optimization
-
Run the calibration
# Example material command
uniaxialMaterial('Steel02', 1, Fy, E0, b, R0, cR1, cR2, a1, 1.0, a3, 1.0, 0.0)
- streamlit: Web interface
- numpy: Numerical computations
- matplotlib: Plotting
- optuna: Bayesian optimization
- hysteresis: Hysteresis curve analysis
- openseespy: OpenSees integration
- plotly: Interactive visualizations
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.