Skip to main content

ThermoNTFA

arXiv DOI Documentation Status pytest flake8 black Python PyPI

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

thermoNTFA

Offline phase: Training of the thermo-mechanical NTFA

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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

  1. 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.

  2. 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.

  3. 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 and h5py (installed as part of the thermontfa PIP package)
  • Supplemental data: Identifier

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).

Metadata

Release files for thermontfa 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for thermontfa 0.1.0
File Size Uploaded
thermontfa-0.1.0.tar.gz 21.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for thermontfa 0.1.0
File Interpreter ABI Platform
thermontfa-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 40.1 kB

Release files / thermontfa-0.1.0.tar.gz

Download URL thermontfa-0.1.0.tar.gz
Size 21.3 kB
Tags Source
SHA-256 checksum
How to use checksums
1cdc5615906c01b100c1bb27b36961a4ced77cebe75deca0e0013f1989ab2c57
BLAKE2b-256 checksum
How to use checksums
2737877635b81c3f67bfea9f6a9d41c4505df6ba4cece6b7396c53a2fff62255
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.11.6

Release files / thermontfa-0.1.0-py3-none-any.whl

Download URL thermontfa-0.1.0-py3-none-any.whl
Size 18.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e4a8d0e2bf2b321157b8b3545803730b1e4ae2022ce04cb62ee109c331a0958c
BLAKE2b-256 checksum
How to use checksums
f95e2bbbe372c58927d1f2639cadd17605ce8bf93540513e76141fe7bb3b2add
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.11.6

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page