HysteresisAnalyzer is a Python-based automated post-processing tool for calculating energy dissipation per loading cycle from force–displacement hysteresis data. The script reads experimental or numerical results from an Excel file, automatically detects full loading cycles, computes the enclosed hysteresis area for each cycle, and exports results with plots and data files.
- Automatic Cycle Detection: Identifies full loading cycles based on displacement reversals.
- Energy Dissipation Calculation: Computes hysteresis loop area using numerical integration.
- Batch Processing: Handles any number of cycles in a single run.
- Data Export: Saves each cycle as a separate CSV file.
- Visualization: Generates force–displacement plots with annotated energy dissipation.
- Organized Output: Automatically creates folders for cycles, plots, and energy values.
- Ensure that Python and the required libraries are installed.
- Place your hysteresis data Excel file in the same directory as the script.
- Column 1: Displacement (mm)
- Column 2: Force (kN)
- Update the Excel file name in the script if required:
file_name = "GlobalResponse_FDCurve.xlsx" - Run the script:
python hysteresis_analyzer.py - Results will be generated automatically in the output folders.
Splitted Cycles/
├── cycle_1.csv
├── cycle_2.csv
├── ...
├── Plots/
│ ├── cycle_1.png
│ ├── cycle_2.png
│ └── ...
└── Areas/
├── cycle_1_area.txt
├── cycle_2_area.txt
└── ...
- Python 3.x
- pandas
- numpy
- matplotlib
- scipy
- Cyclic structural testing
- Seismic and hysteresis analysis
- Experimental mechanics
- Finite element post-processing
- Energy-based damage assessment
This project is licensed under the MIT License.
You are free to use, modify, and distribute this software under the terms of the MIT License. If you use this software in your research or publications, please provide appropriate credit to the developer.
- Developer: Tufail Mabood
- Contact: WhatsApp
- Note: This tool is open-source. Contributions, improvements, and validation studies are welcome.