Investigate structural build-up at rest in cementitious systems
Project description
buildupp - Structural build-up at rest in cementitious materials
The buildupp package supports investigations of structural build-up at rest in cementitious materials. It provides tools for analyzing coupled calorimetry and rheometry measurements (Michel et al. 2024), and is easily extensible for the study of blended cements. Material properties are centralized and variations in physical properties such as particle size distributions (PSD) are efficiently tracked.
Repository Structure
The repository is structured as follows:
buildupp/ Directory
This directory contains the core logic for the package:
blend.py: Implements the logic for material blending, focusing on different powder compositions.experiment.py: Defines theExperimentclass that models hydration experiments based on given inputs and system measurements.config.py: Handles the loading and management of user-specific settings (e.g., paths, material databases, default experimental setup).hydration.py: Provides methods for thermodynamic analysis of the hydration of cementitious materials.utils.py: A collection of utility functions to support various tasks like data handling and file parsing.
config/ Directory
This directory contains all the configuration files that define physical properties, paths, and material data:
chemistry_database.ini: Contains chemical properties (e.g., molar mass, density, formation enthalpy) for various cementitious compounds.data.py: A file that defines the default data frames for experiment analysis.paths.ini: Defines the root paths for the data directories used in the experiments.physical_properties.ini: Contains physical properties like density, SSA (specific surface area), and PSD (particle size distribution) file paths for various materials.systems_measured.py: Stores predefined experimental data, including different cementitious systems (e.g., OPC, LS, MK).user_functions.py: Allows the user to define custom functions to read PSD data. The current default function is for Horiba Partica LA-950 Laser Scattering PSD Analyzer but can be extended for other setups.
Key Features
- Customizable PSD Data Import: The package allows you to define your own functions to read PSD data files, adapting to different measurement instruments.
- Material Database: Includes predefined chemical and physical properties for various materials used in cementitious systems (e.g., OPC, LS, MK).
- Simulation of Hydration Reactions: Through the
Experimentclass, you can perform structural build-up investigations from coupled calorimetry and rheometry measurements. - Flexible Configuration: User-specific settings can be customized through configuration files like
paths.ini. Material properties are kept track of inchemical_database.ini.
Installation
buildupp can be installed with pip
pip install buildupp
Usage
To start using the package, you can first configure your paths and material properties by modifying the relevant configuration files:
-
Set Up Paths: Open the
config/paths.inifile and define the root directories for your data. Make sure the correct paths are specified for each user. -
Define Material Properties: Modify
config/physical_properties.inito define the physical properties for the materials in your study. Each material can have properties such asdensity_gpcm3,ssa_bet_m2pg, andpsdfile paths. -
Define User Functions (if needed): If you need to read PSD files from an instrument not covered by the default
read_psd_csv, you can define your custom function inconfig/user_functions.py. -
Analyze an Experiment: You can use the
Experimentclass fromexperiment.pyto analyze coupled calorimetry/rheometry data. Here's an example of creating an experiment object:from buildupp.experiment import Experiment from buildupp.config import Config # Load configuration config = Config(config_dir='./config') # Define experiment inputs (can also use default) exp_inputs = { 'db_entry': config.systems_measured['opc'][0]['db_entry'] } # Create the experiment object experiment = Experiment(exp_inputs=exp_inputs, config=config) # Plot experimental results (example) exp.plot_GtildeDVproductsperVgrain(ax=ax, c=c.opc, type=type, label='PC')
Alternatively, you can directly use the default
configfrom buildupp.PROJECT_ROOTfrom buildupp import config, Experiment # leveraging config s = config.systems_measured c = config.colors desktop_path = config.desktop_directory # generate figure fig, ax = plt.subplots() type = 'semilogy' # plot all PC measurements for i, e in enumerate(s.opc): exp = Experiment(e) if i == 0: exp.plot_GtildeDVproductsperSgrain(ax=ax, c=c.opc, type=type, label='PC') else: exp.plot_GtildeDVproductsperSgrain(ax=ax, c=c.opc, type=type)
License
Copyright © 2024 ETH Zurich (Luca Michel)
buildupp 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.
buildupp 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 buildupp. If not, see https://www.gnu.org/licenses/.
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
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 buildupp-0.0.5.tar.gz.
File metadata
- Download URL: buildupp-0.0.5.tar.gz
- Upload date:
- Size: 20.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4b486b380fdc4f9a64c40a832f0c11be3236de728f14dbdb4e9d7e6000da837a
|
|
| MD5 |
cc1c34c21cc7b87468719e7146f66422
|
|
| BLAKE2b-256 |
2c0339f29190d4ed879604d75a0fc5ccafdaa98744d7e39c8c1816c2f8100d9a
|
File details
Details for the file buildupp-0.0.5-py3-none-any.whl.
File metadata
- Download URL: buildupp-0.0.5-py3-none-any.whl
- Upload date:
- Size: 18.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4cfbe107c7ecece9ab3865db61da71404dd221ae4fe216fb8efffbd5117ff1d7
|
|
| MD5 |
0657c8471ffb4c6c07ddf0d93a86c442
|
|
| BLAKE2b-256 |
2c1fc38a3d98c429d8c4b587a6dd2874f54c0f0d5f7a9826359075eaac5b1887
|