Package: matan
**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! **MaTanShortcut comes fromMaterialAnanalysis - 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.DocumentationAbstractNowadays, 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.importmatanasmtimportpandasaspdpath_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 moredf=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 mmexample=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  realexample.calculate_real_values()# tensile modulus values between engineering value and real valueprint(ext.eng_values.tensile_modulus,ext.real_values.tensile_modulus)## Engineering values# Value of strenghtprint(ext.eng_values.strength.value,ext.eng_values.strength.strain)# Values at breakprint(ext.eng_values.at_break.stress,ext.eng_values.at_break.strain)# Yield strenght valuesprint(ext.eng_values.yield_strength.value,ext.eng_values.yield_strength.strain)## Real values# Value of strenghtprint(ext.real_values.strength.value,ext.real_values.strength.strain)# Values at breakprint(ext.real_values.at_break.stress,ext.real_values.at_break.strain)# Yield strenght valuesprint(ext.real_values.yield_strength.value,ext.real_values.yield_strength.strain)