No project description provided
Project description
ThermoNTFA
This repository contains a material routine written in Python for the thermo-elasto-plastic Nonuniform Transformation Field Analysis (ThermoNTFA) submitted to Computer Methods in Applied Mechanics and Engineering:
Fritzen, Felix and Herb, Julius and Sharba, Shadi, Thermo-Plastic Nonuniform Transformation Field Analysis for Eigenstress Analysis of Materials Undergoing Laser Melt Injection. Available at SSRN: https://ssrn.com/abstract=4926472
Abstract
In engineering applications, surface modifications of materials can greatly influence the lifetime of parts and structures. For instance, laser melt injection (LMI) of ceramic particles into a metallic substrate can greatly improve abrasive resistance. The LMI process is challenging to model due to the rapid temperature changes, which induce high mechanical stresses. Ultimately, this leads to plastification and residual eigenstresses in particles and matrix. These depend on the process parameters. In order to predict these stresses, we propose a major extension of the Nonuniform Transformation Field Analysis that enables the method to cope with strongly varying thermo-elastic material parameters over a large temperature range (here: 300 to 1300K). The newly proposed $\theta$-NTFA method combines the NTFA with a Galerkin projection to solve for the self-equilibrated fields needed to gain the NTFA system matrices. For that, we exploit our recent thermo-elastic reduced order model [1] and extend it to allow for arbitrary polarization strains. An efficient implementation and a rigorous separation of the derivation of the reduced order model is proposed. The new $\theta$-NTFA is then validated for various thermo-mechanical loadings and in thermo-mechanical two-scale simulations.
[1] S. Sharba, J. Herb, F. Fritzen, Reduced order homogenization of thermoelastic materials with strong temperature dependence and comparison to a machine-learned model, Archive of Applied Mechanics 93 (7) (2023) 2855–2876. doi: 10.1007/s00419-023-02411-6
Documentation
The documentation of this software, including examples on how to use ThermoNTFA, can be found under Documentation.
Features
- The ThermoNTFA acts as a reduced order model (ROM) and approximates the effective behavior of composite materials that consist of thermoelastic and thermoplastic constituents.
- The material parameters of all constituents are allowed to depend strongly on the temperature.
- This temperature-dependence is reflected in the ROM that is based on interpolated space-saving tabular data at arbitrarily many temperature points.
- Possible application: Eigenstress Analysis of Laser Dispersed Materials
Workflow
Offline phase: Training of the thermo-mechanical NTFA
-
Generate data using thermo-elasto-plastic simulations on the microscale at select temperatures $
\theta \in \mathcal{T}
$. For that, we used an in-house FE solver. However, any other suitable simulation software could be used. -
Compute a reduced basis consisting of plastic modes $
\underline{\underline{P}}_{\mathsf{p}}
$ via snapshot POD of the simulated plastic strain fields $\{\varepsilon_\mathsf{p}(x | \theta)\}^n_{i=1}
$. The corresponding implementation is available in our AdaptiveThermoMechROM repository in the module ntfa.py. -
Perform additional linear-elastic simulations to determined self-equilibrated fields for the plastic modes $
\underline{\underline{P}}_\mathsf{p}
$ at select temperatures $\theta \in \mathcal{T}
$. Again, we used our in-house FE solver for that. -
Based on the generated data at select temperatures $
\theta \in \mathcal{T}
$ we perform an interpolation to arbitrarily many intermediate temperatures $\theta_j
$. This method is published in our paper "Reduced order homogenization of thermoelastic materials with strong temperature-dependence and comparison to a machine-learned model", where we show that it produces highly accurate results while the effort is almost on par with linear interpolation. -
Using the interpolated data, the NTFA system matrices $
\underline{\underline{A}}(\theta_j)
$, $\underline{\underline{D}}(\theta_j)
$, $\bar{\underline{\underline{C}}}(\theta_j)
$, $\underline{\tau}_{\mathrm{\theta}}(\theta_j)
$, and $\underline{\tau}_{\mathsf{p}}(\theta_j)
$ are computed and stored as tabular data. The corresponding implementation is available in our AdaptiveThermoMechROM repository in the module ntfa.py.
Online phase: Usage of the thermo-mechanical NTFA in simulations on the macroscale
-
Load the tabular data for the NTFA matrices $
\underline{\underline{A}}(\theta_j)
$, $\underline{\underline{D}}(\theta_j)
$, $\bar{\underline{\underline{C}}}(\theta_j)
$, $\underline{\tau}_{\mathrm{\theta}}(\theta_j)
$, and $\underline{\tau}_{\mathsf{p}}(\theta_j)
$ that are generated in the offline phase based on direct numerical simulations on the microscale. Optionally truncate the NTFA modes $N_{\mathrm{modes}}
$ to be used. -
Perform a linear interpolation to determine the NTFA matrices at the current model temperature based on the tabular data. Given that the tabular data is available at sufficiently many temperatures, the linear interpolation provides results with decent accuracy. This is done using the class
thermontfa.TabularInterpolation
. -
Use the tabular data to initialize the thermo-mechanical NTFA UMAT that is implemented in the class
thermontfa.ThermoMechNTFA
. This reference implementation in Python can be transcribed to an UMAT for other academic or commercial simulation softwares. The numerical experiments in our paper are conducted using an implementation of the thermo-mechanical NTFA UMAT in C++ for an in-house FE solver.
Installation
Using the PIP package
A PIP package is available on pypi and can be installed with:
pip install thermontfa
If you want to install optional dependencies for development:
pip install thermontfa[dev]
From this repository
The most recent version of the PIP package can also be installed directly after cloning this repository.
git clone https://github.com/DataAnalyticsEngineering/ThermoNTFA.git
cd ThermoNTFA
pip install -e .
If you want to install optional dependencies for development:
git clone https://github.com/DataAnalyticsEngineering/ThermoNTFA.git
cd ThermoNTFA
pip install -e .[dev]
Requirements
- Python 3.9 or later
numpy
andh5py
(installed as part of thethermontfa
PIP package)- Supplemental data:
Manuscript
Fritzen, Felix and Herb, Julius and Sharba, Shadi, Thermo-Plastic Nonuniform Transformation Field Analysis for Eigenstress Analysis of Materials Undergoing Laser Melt Injection. Available at SSRN: https://ssrn.com/abstract=4926472
Affiliation: Data Analytics in Engineering, University of Stuttgart
Acknowledgments
-
The IGF-Project with the IGF-No.: 21079 N / DVS-No.: 06.3341 of the “Forschungsvereinigung Schweißen und verwandte Verfahren e. V.” of the German Welding Society (DVS), Aachener Str. 172, 40223 Düsseldorf was funded by the Federal Ministry for Economic Affairs and Climate Action (BMWK) via the German Federation of Industrial Research Associations (AiF) in accordance with the policy to support the Industrial Collective Research (IGF) on the basis of a decision by the German Bundestag. Furthermore, the authors gratefully acknowledge the collaboration with the members of the project affiliated committee regarding the support of knowledge, material and equipment over the course of the research.
-
Contributions by Felix Fritzen are partially funded by Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) under Germany’s Excellence Strategy - EXC 2075 – 390740016. Felix Fritzen is funded by Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) within the Heisenberg program DFG-FR2702/8 - 406068690 and DFG-FR2702/10 - 517847245.
-
Contributions of Julius Herb are partially funded by the Ministry of Science, Research and the Arts (MWK) Baden-Württemberg, Germany, within the Artificial Intelligence Software Academy (AISA).
-
The authors acknowledge the support by the Stuttgart Center for Simulation Science (SimTech).
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
File details
Details for the file thermontfa-0.1.0.tar.gz
.
File metadata
- Download URL: thermontfa-0.1.0.tar.gz
- Upload date:
- Size: 21.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1cdc5615906c01b100c1bb27b36961a4ced77cebe75deca0e0013f1989ab2c57 |
|
MD5 | d553c88cfa82a6659d75d48a439e0a64 |
|
BLAKE2b-256 | 2737877635b81c3f67bfea9f6a9d41c4505df6ba4cece6b7396c53a2fff62255 |
File details
Details for the file thermontfa-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: thermontfa-0.1.0-py3-none-any.whl
- Upload date:
- Size: 18.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4a8d0e2bf2b321157b8b3545803730b1e4ae2022ce04cb62ee109c331a0958c |
|
MD5 | 446c32f1ec6e32e02c7d9ca44b06b78d |
|
BLAKE2b-256 | f95e2bbbe372c58927d1f2639cadd17605ce8bf93540513e76141fe7bb3b2add |