Skip to main content

Material analysis package to plot or extract properties like tensile modulus etc.

Project description

**This package is still under development. Be aware of often updates, versions below 0.2 are pre-alpha, and can be changed without any warning, or without any backward compatibility! **

MaTan

Shortcut comes from Material Ananalysis - ultimately is should contains modules allowing user to calculate metals and polymers properties from tensile, HDT (polymers) and DSC tests, as well as the others. There are few similar packages in PyPI, but none of them I found good to me, so I wrote new one.

For now it includes:

  • ISO:527-1 (polymers tensile test)

In near future all the findings functions will be finished, so you can describe your sample with thermal modifications, comments and compositions as parameter, as well as CI/CD. This should be 0.1.6 version.

Nextly the FEM module which will allow to create materials models will be implemented. In the beginning, the first feature will allow to create tensile FEM material models, with calculation of mean/worst real values stress-strain curve, and extracting from this curve the needed parameters, like plastic strains, Young's Modulus etc. At this point export to .csv file will be implemented. This should be 0.1.7 version Next phase will be export these models directly to .xml file as ANSYS is using such type, and this seems to be a FEM tool I will be working with. ANSYS already have tool to import from .csv file, so it will just make whole process faster. Later I will try to make export to FreeCAD's/CalculiX material models. This will be 0.1.8. Finally from that version to 0.2 we will try to make whole package robust, and stable as possible.

Documentation

Abstract

Nowadays, Python is one of the most popular programming languages, even in non-informatics fields like mechanical engineering, due to its simplicity, and computer analysis solvers using FEM methods are part of almost all components, albeit access to material data is sometimes hard due to inadequate data in the datasheets, problems with calculations, inconsistent information, etc. To overcome this problem, the Python package was created, which allows to calculate the stress, strains, tensile modulus, and other properties from force and elongation data from a machine. For now, it includes only polymer tests according to the ISO-527-1 standard, but in the future, other standards should be included.

Moreover, the package would need a graphical user interface, which could make it even simpler to use and, more importantly, allow users to upload their obtained results into OpenAccess databases and export plastic strains, tensile modulus, and other properties needed to perform FEM and other numerical analysis. That could make FEM methods even more accessible, which would lead to a decrease in the use of unnecessary materials and, due to this, less CO2 pollution.

How to use it?

Just simply put elongation and force arrays into sample.

Be aware that sometimes csv files can have diffrent extension depends on machine manufacturer. To be sure just check it using simples notepad, or try to read it by pandas.

import matan as mt
import pandas as pd

path_to_your_CSV = r"path/to/your/CSV"

# BE AWARE
# Somethimes some software machines uses diffrent encoding! Check the documentation of pandas.read_csv for more
df = pd.read_csv(path_to_your_CSV)

elongation_array=df["elongation"]
force_array=df["force"]

# This uses N ewtons and mm by default to ensure [N/mm^2] as it is equal to MPa
# by default force units are Newtons and lenght units are mm
example=mt.sample(
    name="your sample name",
    thickness = 5,
    width= 5,
    elongation_array=elongation_array,
    force_array=force_array
)

#Use method below to convert engineering values into  real
example.calculate_real_values()

# tensile modulus values between engineering value and real value
print(ext.eng_values.tensile_modulus, ext.real_values.tensile_modulus)

## Engineering values

# Value of strenght
print(ext.eng_values.strength.value, ext.eng_values.strength.strain)

# Values at break
print(ext.eng_values.at_break.stress, ext.eng_values.at_break.strain)

# Yield strenght values
print(ext.eng_values.yield_strength.value, ext.eng_values.yield_strength.strain)

## Real values

# Value of strenght
print(ext.real_values.strength.value, ext.real_values.strength.strain)

# Values at break
print(ext.real_values.at_break.stress, ext.real_values.at_break.strain)

# Yield strenght values
print(ext.real_values.yield_strength.value, ext.real_values.yield_strength.strain)

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

matan-0.1.5.3.tar.gz (13.0 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page