couple experimental calo and rheo data
Project description
Pranzo
Pranzo is a Python library designed to study structural build-up at rest in cementitious materials by coupling data from isothermal calorimetry and rheometry experiments (Michel et al. 2024). Its simplicity allows for quick data analysis, even during your lunch break.
Table of Contents
License
Copyright © 2024 ETH Zurich (Luca Michel, Flavio Lorez & David S. Kammer)
Pranzo is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Pranzo is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with Pranzo. If not, see https://www.gnu.org/licenses/.
Installation
Requirements
- Python 3.7+
- numpy
- pandas
- h5py
- bamboost < 0.9
Installation using pip
pip install pranzo
Installation in editable mode
git clone https://gitlab.ethz.ch/cmbm-public/toolboxes/pranzo
cd pranzo
pip install -e .
Basic Usage
Input
The input to Pranzo includes:
- Calorimetry data: Machine output file (
calo_fileid.csv) - Rheometry data: Machine output file (
rheo_fileid.csv) - Meta data: Written by the user (
meta_fileid.toml)
An experiments consists of different measurements (calo, rheo). Ensure that each experiment has a unique identifier (fileid).
The structure for meta_fileid.toml is given in examples/meta_example.toml.
While Pranzo is built to couple calorimetry and rheometry data, it can also be used for standalone calorimetry or rheometry experiments.
Saving Data
Pranzo saves data in a bamboost database. Sample code to add an experiment to a database is given in the notebook examples/example_usage.ipynb.
Alternatively, save an experiment from the command line:
save_exp db_name data_dir file_id
db_name: Name of the bamboost databasedata_dir: Directory containing the data filesfile_id: Identifier of the experiment
Analyzing data
Below are basic examples of data analysis with pranzo. Further examples are given in the notebook examples/example_usage.ipynb.
from bamboost import Manager
from pranzo import Analyzer
db = Manager('db_name')
exp = db['file_id']
a = Analyzer(exp)
# to quickly plot time evolutions
a.plot_Gt()
a.plot_ht()
a.plot_Ht()
# to access data arrays
rheo = a.rheo
t = rheo['time_s'][:]
G = rheo['storage_modulus_Pa'][:]
calo = a.calo
t = calo['time_s'][:]
h = calo['heat_flow_W'][:]
H = calo['heat_J'][:]
# to couple heat and storage modulus data
import numpy as np
import matplotlib.pyplot as plt
time = np.linspace(0, 4*3600, 10000)
G = rheo.interpolate('storage_modulus_Pa', time)
H = calo.interpolate('norm_heat_Jpgbinder', time)
plt.semilogy(H, G)
plt.show()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pranzo-0.1.2.tar.gz.
File metadata
- Download URL: pranzo-0.1.2.tar.gz
- Upload date:
- Size: 14.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9fe2d92459f4660e7cbc39acac5c478fed277a2d17ded3d75f7a9c7a08813465
|
|
| MD5 |
8956053a22deeb9d0b13bf7d545a9e0a
|
|
| BLAKE2b-256 |
7db8b96ff83becf083782a174ad9e95f5d9466e93b3389256fc476604e37def5
|
File details
Details for the file pranzo-0.1.2-py3-none-any.whl.
File metadata
- Download URL: pranzo-0.1.2-py3-none-any.whl
- Upload date:
- Size: 15.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d0bd5546d096f351d64cb3e5514ec8efc0a23e3328c1d4dfc80a6296fbe42d0c
|
|
| MD5 |
5b54e605008bd3270a28127eccefdfdb
|
|
| BLAKE2b-256 |
e8c76187f43afb3e85eb93ce2ee3fcab1de858496d52eae6f0de326d71c8a2f6
|