Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.7%) to scientific vocabulary
Keywords
Repository
Python Package for Tensile Testing batch analysis
Basic Info
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 2
Topics
Metadata Files
README.md
Extudion: Python Package for Tensile Testing
Tensile testing, a key method in material science and engineering, assesses a sample's response to controlled tension until failure, aiming to determine its tensile properties.
These properties, including tensile strength, Young's modulus, and Yield strength, offer insights into material behavior.
The process of tensile testing involves placing the test specimen in the testing machine and slowly extending it until it fractures.
The elongation of the gauge section is recorded against the applied force, and this data is used to calculate the strain and stress.
However, the sheer volume of data generated by tensile tests, especially when multiple datasets are produced for each sample, poses a significant challenge in terms of analysis efficiency and accuracy.
Traditional manual analysis methods often entail tedious and time-consuming tasks, including data filtering, analysis, and parameter estimation, impeding the pace of research and development in materials science.
Set up Instructions
Run the following command in the conda/miniconda terminal to install the package:
pip install extrudion
Import the package in your Jupyter project or Python script:
import extrudion as ex
Available Functions:
The Extrudion package comes with one public main class method:
import extrudion as ex
ex.start(folder_path)
This start an automated process where the folder given as a function argument gets analyzed file by file. The initial length and sample area are given as user input.
Additional methods for analyzing a specific file or a specific folder can be called by importing the file:
The TRAFolder class for analyzing a full folder, without using the command line input:
import extrudion.file as ex
ex.TRAFolder(folder_path).analyze( _
{'sample_area': sample_area, 'initial_length': initial_length})
The TRAFolder class for analyzing a single file:
import extrudion.file as ex
ex.TRAFile(file_path).analyze( _
{'sample_area': sample_area, 'initial_length': initial_length})
Additional Information
More information on the usage of the package, the reported results and the physics behind the computation can be found in the Doc File inside the repository.
Physics Fundamentals
Stress = Force['N'] / sample_thickness / 10 * 10^3
returns gives the stress in kPa
Strain = ln( length['mm'] / initial length ['mm'] )
Young Modulus = slope of the best line fit for the curve
Intercept = the incercet of the previous fit
Yield Stress and Strain are the point of intersection for the Young modulus line shifted by 0.02 in the Strain and the data.
Results
The numerical analysis output is stored in a csv file.
An example is shown in the following table.
For each file we have max stress and strain coordinates, Young's modulus, and the intercept of the fitting line in the linear regime.
The intersection coordinates between the shifted line and the stress-strain curve are displayed as yield stress and yield strain.
| File | Max Stress (kPa) | Max Strain | Young Modulus (kPa) | Intercept (kPa) | Yield Stress (kPa) | Yield Strain | |-----------|------------------|------------|----------------------|------------------|--------------------|--------------| | File.TRA | 61.73 | 0.14 | 692 | 0.80 | 50.29 | 0.092 |
Plot Example
The output of the analysis is as shown in the figure Below.
The stress-strain curve, depicted in blue, features a blue dot denoting the maximum stress. A fitted line representing Young's modulus is depicted in orange dashed, alongside a 2\% shifted line displayed in dotted green.
The point of intersection between the stress-strain curve and the green dotted line shows the stress and strain yield.
Owner
- Name: Paride Azzari
- Login: azzarip
- Kind: user
- Location: Zurich
- Company: ETH Zurich
- Repositories: 1
- Profile: https://github.com/azzarip
Theoretical Physicist and Computational Scientist at ETH Zurich
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: Azzari
given-names: Paride
orcid: https://orcid.org/0000-0001-5400-1576
title: "Extrudion: Python Package for Tensile Analysis"
version: 2.0.4
date-released: 2024-03-05
doi: 10.3929/ethz-b-000673804
url: "https://github.com/azzarip/extrudion_py"
GitHub Events
Total
- Push event: 6
Last Year
- Push event: 6
Packages
- Total packages: 1
-
Total downloads:
- pypi 40 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 30
- Total maintainers: 1
pypi.org: extrudion
Analyzes TRA files for stress and strain
- Documentation: https://extrudion.readthedocs.io/
- License: MIT
-
Latest release: 2.2.1
published 12 months ago
Rankings
Maintainers (1)
Dependencies
- contourpy 1.1.1
- cycler 0.11.0
- fonttools 4.42.1
- fsspec 2023.9.1
- joblib 1.3.2
- kiwisolver 1.4.5
- matplotlib 3.8.0
- numpy 1.26.0
- packaging 23.1
- pandas 2.1.1
- pillow 10.0.1
- pyparsing 3.1.1
- python-dateutil 2.8.2
- pytz 2023.3.post1
- scikit-learn 1.3.1
- scipy 1.11.2
- setuptools 68.2.2
- setuptools-scm 8.0.2
- six 1.16.0
- threadpoolctl 3.2.0
- tomli 2.0.1
- typing-extensions 4.8.0
- tzdata 2023.3
- fsspec ^2023.9.1
- matplotlib ^3.8.0
- numpy ^1.26.0
- pandas ^2.1.1
- python >=3.10,<3.13