Friday, January 21, 2022

Installing DAMASK Using Binary Source Code Method to Intergrade with MSC Marc

 The development of DAMASK started in 2006 with the establishment of a new research group named Computational Mechanics of Polycrystals (CMCn) at the Max-Planck-Institut für Eisenforschung (MPIE). The aim of this joint research group between the Max-Planck-Gesellschaft and the Fraunhofer-Gesellschaft was the development of enhanced material models and simulation technologies from the single crystal up to the component scale [48]. In the course of the CMCn project, it turned out that the Crystal Plasticity (CP) codes existing in the public domain at that time were not flexible enough for this purpose. Therefore, a new CP implementation was initiated, aiming at a strict modularization to allow for flexible incorporation of material models on all length scales. Within the CMCn project, two different homogenization schemes and various constitutive models for plasticity have been incorporated into the new code. The capability to choose from a set of different available constitutive models within a single simulation is a unique feature of the developed simulation framework. Together with R.A. Lebensohn from the Los Alamos National Lab (LANL), Humboldt awardee at MPIE in 2010, a spectral method based mechanical boundary value problem solver was added to complement the existing user material interfaces to commercial Finite Element Method (FEM) solvers. In addition to the core routines, numerous utilities for pre- and post-processing have been added to the package now referred to as DAMASK.

In September 2011, a website (https://damask.mpie.de) was launched to release the code to the public domain as free software according to GPL 3. The idea of a flexible open source CP implementation was very well received by the scientific community. Presently, more1 than 50 groups across the world use DAMASK, including universities such as University of California Los Angeles (UCLA), research facilities such as LANL, and multinational companies such as Tata Steel. These groups contribute to the further code development as well, e.g. by adding features such as new or modified constitutive models.

In 2015, multi-physics extensions were incorporated into DAMASK to consistently treat coupled problems, such as thermo-mechanics, chemo-mechanics, and damage-mechanics. Since early 2016, the code is hosted in a public repository using GitLab (see Appendix A for details) to enable and assist collaborative development among the growing user community.

Source Code

The DAMASK core is written in Fortran 2018 with a few enhancements in C. The pre- and post-processing tools are written in Python 3. A Unix-style operation system is a prerequisite for installation from source. DAMASK has been installed on different GNU/Linux distributions and on MacOS. Compilation on Windows is possible via the Windows Subsystem for Linux (WSL).

1. Download, check, and unpack the source code:

wget https://damask.mpie.de/download/damask-3.0.0-alpha5.tar.xz
wget https://damask.mpie.de/download/damask-3.0.0-alpha5.tar.xz.sha256

---> sha256sum -c damask-3.0.0-alpha5.tar.xz.sha256
----> tar -xf damask-3.0.0-alpha5.tar.xz

2. Get an overview of the prerequisites available on your system:

cd damask-3.0.0-alpha5

./DAMASK_prerequisites.sh

cat system_report.txt

Grid and Mesh Solver

A recent version of the GNU Compiler Collection, the Intel Parallel Studio XE, or the Intel oneAPI toolkit is needed to build the grid solver and/or mesh solver from source.

Warning

The ifx Fortran driver from the Intel oneAPI toolkit does not yet support constructs from Fortran 2018 used in DAMASK.


The solvers included with DAMASK are build with CMake and rely on PETSc. A PETSc installation with support for MPI and the following external packages is needed:


(a) BLAS/LAPACK

(b) HDF5 with MPI support, zlib support is strongly recommended

(c) FFTW with MPI support (grid solver only)

(d) Packages such as SuperLU, HYPRE, MUMPS, or ML for certain sparse linear solvers.

If all prerequisites are installed, compiliation and installation follows the standard CMake procedure:

cmake -S damask-3.0.0-alpha5 -B build-grid -DDAMASK_SOLVER=grid

cmake --build build-grid --target install

cmake -S damask-3.0.0-alpha5 -B build-mesh -DDAMASK_SOLVER=mesh

cmake --build build-mesh --target install



Tuesday, January 4, 2022

Damask

 https://zhuanlan.zhihu.com/p/345653209

How To Install Damask - Auxiliary Software

 1. Auxiliary software

1.1 compiler

sudo apt-get install gfortran g++ gcc default-jre cmake -y

1.2 HDF5

./configure --prefix=/usr/local/hdf5
make -j4
make check
make install -j4

sudo h5cc -o h5_extend h5_extend.c
sudo apt install hdf5-helpers
sudo apt-get install libhdf5-serial-dev

1.3Python and corresponding modules

sudo apt install python3
sudo apt install python3-pip
sudo pip3 install numpy vtk scipy h5py -i https://pypi.tuna.tsinghua.edu.cn/simple 
*[use tsinghua source]*
sudo pip3 install numpy vtk scipy h5py -i https://pypi.doubanio.com/simple
*[use douban source]
checks whether the required Python modules are installed and working
./DAMASK_prerequisites.sh

1.4 paraview install

sudo apt install paraview -y

How do I enable the source code repositories?

 You can enable source code repositories by uncommenting (removing #'s) deb-src repositories from /etc/apt/sources.list.

sed -i '/deb-src/s/^# //' /etc/apt/sources.list && apt update

If you want to disable source code repositories, you can comment it back

sed -i '/deb-src/s/^/# /' /etc/apt/sources.list && apt update

How To Create a New Sudo-enabled User on Ubuntu 20.04

 https://www.digitalocean.com/community/tutorials/how-to-create-a-new-sudo-enabled-user-on-ubuntu-20-04-quickstart

To install the latest general purpose GPU (GPGPU) software packages on Ubuntu 20.04 (focal)

 https://dgpu-docs.intel.com/installation-guides/ubuntu/ubuntu-focal.html

How to install GCC the C compiler on ubuntu

 https://linuxconfig.org/how-to-install-gcc-the-c-compiler-on-ubuntu-20-04-lts-focal-fossa-linux

How to install cmake on ubuntu

 https://vitux.com/how-to-install-cmake-on-ubuntu/