Wiki
Clone wikiNIsoS / 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
One could also use the following command to check the most recent commit of the NIsoS:
git log --abbrev-commit
git checkout <abbrev-commit>
Updated