Wiki

Clone wiki

NIsoS / Home

NIsoS -- Non-Isothermal Simulator

Non-Isothermal Simulator (NIsoS) is a finite-element multiphysics simulation toolkit by Mechanics of Functional Materials Division (Institute of Materials Science, Technische Universität Darmstadt) based on Multiphysics Object-Oriented Simulation Environment (MOOSE) framework. NIsoS has implemented a unified thermodynamic-consistent phase-field scenario considering interactions among thermal evolution, fluid dynamics, and microstructure evolution to achieve reliable microstructure and property prediction under non-isothermal conditions.

This repository provides NIsoS in an open version, containing organized utilities, for the user outside the Mechanics of Functional Materials Division to perform the simulations based on former publications.

NIsoS is now updated daily with new utilities released to the repository. Please contact yang.yang@tu-darmstadt.de to require access to the source of the NIsoS.

About MOOSE

The Multiphysics Object-Oriented Simulation Environment (MOOSE) is a finite-element, multiphysics framework primarily developed by Idaho National Laboratory. For more information about MOOSE, please see the official website: http://mooseframework.org

Overview

Currently, NISoS has following utilities released:

Selective Sintering

  • General powder-bed ICs
  • Non-isothermal phase-field kinetics
  • Beam-induced effective heat source (Gaussian / Gusarov)
  • Surface indicator for scanning beam center
  • Temperature-gradient-driven kinetics (e.g., thermophoresis)

Cite:

Yang, Y., Ragnvaldsen, O., Bai, Y., Yi, M., & Xu, B-. X. (2019). 3D non-isothermal phase-field simulation of microstructure evolution during selective laser sintering. npj Computational Materials, 5(1), 1-12.

Yang, Y., Oyedeji, T. D., Kühn, P., & Xu, B-. X. (2020). Investigation on temperature-gradient-driven effects in unconventional sintering via non-isothermal phase-field simulation. Scripta Materialia, 186, 152-157.

Laser Powder Bed Fusion

  • Heat-Melt-Microstructure--coupled phase-field kinetics

(under construction)

Thermal Simulation with Interface Resistance Based on Diffuse-Interface Microstructure

  • Anisotropic interface thermal conductivity
  • Direct computational homogenization with linear boundary conditions (satisfying Hill-Mandel condition)
  • Utilities for visualizing homogenized thermal anisotropy

Cite:

Yang, Y., Fathidoost, M., Oyedeji, T. D., Bondi, P., Zhou, X-. D., Egger, H., & Xu, B-. X. (2022). A diffuse-interface model of anisotropic interface thermal conductivity and its application in thermal homogenization of composites. Scripta Materialia, 212, 114537.

Installation of NIsoS

Step 1. Install environment packages

As other MOOSE-based applications, NIsoS Klein requires:

  • MOOSE framework

  • LibMesh, a C++ FEM library on which the MOOSE is built to utilize its FEM utilities

  • PETSc, a library for performing scalable (parallel) computation of partial differential equations, which is utilized by both MOOSE and LibMesh

Please refer to Install MOOSE to install environment packages that correspond to your operating system/platform.

Step 2. Clone NIsoS

Clone NIsoS to your local projects directory:

mkdir ~/projects
cd ~/projects
git clone https://bitbucket.org/mfm_tuda/nisos.git

Enter the username and password to access the repository. Please contact yang.yang@tu-darmstadt.de to grant access of your email (Atlassian account):

Username for 'https://bitbucket.org': <username>
Password for 'https://<username>@bitbucket.org': <password>

Step 3. Compile NIsoS

Please compile NIsoS using

make -j N

where N is the number of processors to compile NIsoS in parallel. Please notice that by default the direcotry 'nisos' should next to the one 'moose', e.g.,

projects
├── moose 
├── nisos
├── <other_moose-based_app>
...

If the directory tree is different from the above, please specify the path of directory 'moose' in the Makefile as:

MOOSE_SUBMODULE := /path/to/your/moose

Update NIsoS

Same as the MOOSE framework, which is updated continuously, please be aware that NIsoS is also under daily development with new utilities released to the depository irregularly. Therefore, it is important to have the most recent release of NIsoS.

Please refer to Update MOOSE and Conda to properly update the environment packages and MOOSE.

To update your NIsoS repository use the following commands:

cd ~/projects/nisos
git fetch origin
git rebase origin/master

Then, re-compile NIsoS by

make -j N

Notice that for every update the username and password would be required. One could use the following command to set the global configuration for the git:

git config --global credential.helper store
Then, git would store the credential information after the next input of username and password.

One could also use the following command to check the most recent commit of the NIsoS:

git log --abbrev-commit
and use the following command to roll back to the historical NIsoS:
git checkout <abbrev-commit>

Updated