Skip to content

ibf-RWTH/DRAGen

Repository files navigation

DRAGen - Discrete RVE Automation and Generation

Installation | Related Projects | Tutorial

This repository presents an enhanced version of the Discrete Representative Volume Element (RVE) Automation and Generation Framework, known as DRAGen. Originally devised as an approach for generating Representative Volume Elements based on a Random Sequential Addition (RSA)-Algorithm and discrete tessellation, DRAGen has undergone significant improvements to broaden its capabilities. DRAGen collects and processes data from analysis of electron backscatter diffraction (EBSD) images via the MATLAB toolbox MTEX or OIM and presents it as a model. Subsequently, the generator follows the below mentioned steps:

  • Randomly generating ellipsoids in volume (RSA)
  • Filling empty spaces between ellipsoids (Discrete Tessellation)
  • Validation of the newly created digital microstructure with input data

The updated framework incorporates a generator for RVEs with several advanced features, drawn from real microstructures. DRAGen now possesses the ability to read input data from trained neural networks and .csv files, offering greater flexibility in microstructure generation. Notably, the generator has been enriched to reconstruct microstructures with intricate features such as;

  • Pores
  • Inclusions
  • Martensite bands
  • Hierarchical substructures
  • Crystallographic textures.

In addition to these enhancements, DRAGen has been extended to support different solvers. DRAGen is capable of creating models compatible with three widely used multiphysics frameworks: DAMASK, Abaqus, and MOOSE.

Its versatility makes it a valuable tool for scientists in the Integrated Computational Materials Engineering (ICME) community. The modular architecture of the project facilitates easy expansion with additional features, ensuring that DRAGen delivers a diverse range of functions and outputs. This diversity offers a comprehensive spectrum of microstructures, thereby contributing to the advancement of microstructure studies and the development of innovative microstructure designs.

For more:

A Novel Approach to Discrete Representative Volume Element Automation and Generation-DRAGen

DRAGen – A deep learning supported RVE generator framework for complex microstructure models

Generating Input Data for Microstructure Modelling: A Deep Learning Approach Using Generative Adversarial Networks

Note: For developing it is highly recommended to use Python versions Python 3.10.
If further questions appear please check the lower section or get in touch with us.

Installation

As the first step, conda needs to be installed. To be sure conda is installed correctly on your system look up here

Git must be installed on the system. Check with:

$ git --version

If it has not been installed use this:

$ conda install -c anaconda git

Open the user path and create the directory where the DRAGen repo will be cloned. Should be like this:

(base) C:\Users> cd \Users\{username}
(base) C:\Users\username> mkdir GitRepos
(base) C:\Users\username> cd GitRepos

To clone this repository into the desired destination, use:

$ git clone https://github.com/ibf-RWTH/DRAGen.git

To be able to use DRAGen, the working directory must be set to the location where the repo was downloaded to in the previous step file which is downloaded at the previous step. Use the commands to go to the exact file by following the path.

$ cd DRAGen

To see the folders on the current point:

$ dir

Create a virtual environment as follows:

$ conda create --name DRAGen python=3.10
$ conda activate DRAGen

(if an error occurs check your conda installation)
To see the list of the environments on conda:

$ conda info --envs

Be sure the DRAGen environment is activated it should look somewhat like this:

(DRAGen)....$ 

Install one of two required module packages depending on cuda availability on the device:

To install requirements without cuda:

(DRAGen)....$ pip install -r requirements.txt 

To install requirements if cuda is available:

(DRAGen)....$ pip install -r requirements_cuda.txt 

Check if every step is utilized correctly by running first generation with:

(DRAGen)....$ python DRAGen_nogui.py

Run DRAGen:

(DRAGen)....$ python DRAGen.py

Related Projects

MCRpy

MCRpy logo

MCRpy (Microstructure Characterization and Reconstruction in Python) facilitates the process by employing a range of descriptors and enables the reconstruction of new microstructures. One key advantage of MCRpy is its extensibility, allowing the combination of various descriptors without the need for loss functions. Additionally, it provides flexibility in choosing optimizers to address emerging optimization problems.

DAMASK

DAMASK banner

DAMASK (Düsseldorf Advanced Materials Simulation Kit) excels in its ability to handle a variety of simulation programs under different conditions, particularly for advanced high-strength materials. Its capability to address the interconnected nature of deformation, phase transformations, heating effects, and potential damage makes DAMASK an invaluable choice for researchers and practitioners seeking a comprehensive understanding of materials behavior in diverse scenarios.

Moose

Moose banner

MOOSE (Multiphysics Object-Oriented Simulation Environment) framework is an open-source software framework designed for solving complex physics-based engineering simulations. Moose supports adaptive mesh refinement which improves the accuracy and efficiency. It is possible to develop a simulation application tailored to specific needs.

MTEX

MTEX banner

MTEX (Materials Texture and Microstructure Analysis Toolbox) is an open-source Matlab tool that allows data processing using techniques such as EDSB, and analysis on microstructure and crystallographic textures. It has powerful visualization tools for displaying crystallographic data, including pole figures, stereographic projections, and other graphical representations of orientation information.