Git Product home page Git Product logo

haixingfang / 3d-geb-mixed-mode-model Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 2.0 396 KB

Austenite-ferrite TransModel 2.0 for predicting austenite-ferrite phase transformations in low-alloyed steels during continuous cooling, isothermal or thermal cycling using a Gibbs energy balance approach.

License: GNU General Public License v3.0

MATLAB 99.93% Shell 0.07%
nucleation steel mixed-mode gibbs-energy-balance 3d-modelling austenite-ferrite

3d-geb-mixed-mode-model's Introduction

Code for simulating diffraction patterns of laboratory X-ray diffraction contrast tomography (LabDCT). Comparison between simulated and experimental projections is also available. The code was developed by Haixing Fang in his postdoc project woking together with Prof.dr. Dorte Juul Jensen and Dr. Yubin Zhang. The project is funded by the European Research Council (ERC) under the Europea Union's Horizon 2020 research and innovation programme (M4D - grant agreement 788567). The code may be continuously updated as work progresses.

Preparations for running the code

Installing external Matlab toolboxes that are freely accessible:

  1. DIPimage: http://www.diplib.org/, for image processing.
  2. Multi-Parametric Toolbox 3 (mpt3): https://www.mpt3.org/, for generating Voronoi cells and polyheron mesh in 3D.
  3. MTEX toolbox: https://mtex-toolbox.github.io/, for analyzing and plotting crystallographic data.

For convenience, I have attached the DIPimage 2.9, mtex 5.1.1 and mpt3 scripts in the folder. One can just clone the whole master file for running the code without the need to download these toolboxes.

It is also recommended to have 'computer vision system toolbox' installed with your own Matlab package.

All the codes have been tested executable with Matlab 2014b or above. However, it is preferentially to run the code with a Matlab version 2018b or later.

How to run the code

step 1 - run input_main.m

This step is to setup grain structure input, which can be either virtual rendered grain structure or from experimentally characterized structure written in h5 file. One can change values of variables 'grain_file' and 'grain_flag' to modify input option.

This requires input from step 1 to run the simulations of diffraction images. Note to remember check the experimental parameter defined in exp_parameters.m. Images will be saved in the '\TFT' folder and data saved in the '\DA' folder.

If the meshed input structure already exists, one can skip the first step and directly run 'diffLabDCTsim_poly_3Dmesh_abs_DQE.m'.

Others

If you wish to compare the simulated diffraction image with the experimental one as well as analyzing experimental LabDCT data. You can run diffLabDCTsim_poly_3Dmesh_comp_exp_v3_abs_DQE.m provided you have the meshed input of the experimental grain structure and also the experimental diffraction images, which by default named as 'proj0000.tiff' alike.

The output images will be saved in the '\TFT_cmp' folder and data saved in the '\DA_cmp' folder.

Examples of input and one experimental LabDCT projection image can be found in the '\Examples' folder.

Remind

Always start with simulations for one projection at a certain rotation angle before running simulations for a whole dataset, e.g. 181 projections for a full rotation of 360 degrees.

License

This package is free to use, ditribute and adapt for non-commercial use only. See LICENSE for license rights and limitations (CC BY-NC 4.0).

Reference

H. Fang, D. Juul Jensen, Y. Zhang, A flexible and standalone forward simulation model for laboratory X-ray diffraction contrast tomography, Acta Crystallographica Section A, 2020, vol.76, pp. 652-663.
Please cite this article if you use or get inspired by the code presented here.

3d-geb-mixed-mode-model's People

Contributors

haixingfang avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

jibesoky akihoo

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.