/texture

A bundle of Python scripts for crystallographic texture analysis

Primary LanguageJupyter Notebook

TEXTURE

A collection of python modules to analyze/plot crystallographic texture. Below is the list of main modules included in this package, which can be useful for those who study crystallographic texture / crystal plasticity and those who need to repeatedly plot/visualize the crystallographic data. Also a few modules can be used to generate ideal model textures.

  1. upf.py This module can plot pole figures in any crystallographic structure from a discrete set of orientations. Look at the examples in ./ipynb/ folder. One can plot pretty pole figure plots and have a lot of options. (see also some example pole figures generated by this module in below) Compatible formats are:
    1. EPF (experimental pole figure formats used in popLA)
    2. VPSC texture (the collection of discrete orientations used in VPSC,EVPSC)
    3. Bruker's *.uxd file
  2. bcc_rolling_fiber.py This module generates a set of 'ideal' fiber textures including 'gamma','alpha','eta','epsilon' and 'sigma'. This module was used to create the set of BCC fibers studied in the paper entiled "Forming limit prediction using a self-consistent crystal plasticity framework: a case study for BCC fiber textures" submitted to Modelling and Simulations in Materials Science and Engineering.
  3. hcp_fiber.py A set of model basal-pole fibers for AZ31/ZE10 magnesium alloys. This module has been used in a paper under preparation, that is entitled "Texture-based forming limit prediction for Mg sheet alloys ZE10 and AZ31".
  4. cmb.py A tool to sample discrete orientation files from a discretly sampled COD in the Euler space. One can use this to extract the arbitrary number of discrete orientations from COD files generated by popLA.
  5. cod_section.py A tool to visualize cod sections from directe orientation files

Features


Plot beautiful pole figures from a population of discrete orientations (such as the texture input to VPSC code).

![image of AZ31] (https://github.com/youngung/texture/blob/dev/images/Mg_texture.png)

Experimental pole figures can be also drawn using exactly the same template. The below example shows the case for the EPF format (a.k.a. the popLA format).

![image of FSS] (https://github.com/youngung/texture/blob/dev/images/fss.png)

One can generate model textures typically found in rolled sheets. For example, a gamma fiber typically found in various mild steel sheets can be easily created.

![image of gamma fiber texture] (https://github.com/youngung/texture/blob/dev/images/gamma_fib_ngr08000_sigma015_contf.png)

Installation


Following installation guide has been checked for Mac and Linux machines. For Windows, I have not thoroughly checked but the same method should be applicable.

What you first need is Python and scientific python packages including NumPy, SciPy, Matplotlib. I recommend the use of Anaconda, which will install all of these packages easily. You'll need a fortran compiler as well - I use gfortran.

You can simply clone this repository to your local filesystem. I usually use 'set.sh' to install. But one can also do followings

python setup.py build
python setup.py install --user

After a successful installation, consider testing pole-figure plotting feature. In the prompt, enter IPython interpreter.

ipython --pylab

In IPython, you can test if you can draw (100) and (110) pole figures of a texture consisting of 1000 random grains as below.

![image of random texture] (https://github.com/youngung/texture/blob/dev/images/tx_tutorial.gif)

If you have a texture file in the format compatible with VPSC, you can give a specific filename

![image of az31 magnesium alloy] (https://github.com/youngung/texture/blob/dev/images/tx_tutorial2.gif)

One can draw experimental incomplete pole figures as well.

![image of experimental pole figure] (https://github.com/youngung/texture/blob/dev/images/tx_tutorial3.gif)

Data and pole figures generated by this module have been used in the following publications

License

This software was written by Youngung Jeong and it started in 2011 while he was a student at POSTECH, South Korea. TEXTURE is a collection of personal libraries used to study crystallographic texture. You are permitted to redistribute the source code (and binaries). This software is distributed in the hope that it will be useful but without any warranty.

Contact information

Youngung Jeong

Materials Science and Engineering

Changwon National University

yjeong@changwon.ac.kr