find_tjs


Download program files. program.
Download sample data. data
Download lists of triple junction (output). triples
Download visualization program. program to display TJs.
Download images with junctions. images


This program analyzes lists of grain boundary line segments to detect groups of three that meet at a single point, a triple junction. It then writes a file containing all of the segments meeting at a triple point.


Program capabilities:
- Accepts hexagonal and square point grids
- It will process up to 1000 maps in a single run
- Using display_tjs, it can produce maps (in postscript format) showing the triple junction segments on the orientation map.


Example:
As an example to show how the program works, we will detect triple junctions on 30 EBSD maps of high purity Ni.
For this example, we will use the line segments output by the example for extract_gb_traces. This output can be found here.
The folder should contain 30 text files named segments_Ni_0NN.txt, where NN are integers from 00 to 29.
The 30 files in this folder need to be moved to the folder find_tjs.
The next step is to configure the parameters in input.txt. These parameters are described in the lower part of input.txt.
The version of input.txt saved on this site is configured to run the files available at the link above, so do not change anything for this example.
Next, open a terminal window in the find_tjs folder. From here, you simply compile and run the program, as follows:

(base) GR20HUB2021:find_tjs gr20$ make
gfortran -O3 -c -ffixed-line-length-none main.f
gfortran -O3 -c -ffixed-line-length-none sub.f
gfortran -O3 -c -ffixed-line-length-none sub2.f
gfortran -O3 -c -ffixed-line-length-none symmetry.f
gfortran main.o sub.o sub2.o symmetry.o -o find_tjs
(base) GR20HUB2021:find_tjs gr20$ find_tjs
==============================================
PROGRAM SEARCHES LISTS OF LINE SEGMENTS
TO FIND TRIPLETS THAT MEET AT A POINT
AND THEN WRITES AN ORDERED LIST TO A FILE

rohrer@cmu.edu
version 04/12/22
==============================================
There are 4031 lines in file 0.
I found: 947 triple junctions.
There are 3986 lines in file 1.
I found: 927 triple junctions.
There are 4083 lines in file 2.
I found: 970 triple junctions.
There are 4008 lines in file 3.
I found: 927 triple junctions.
There are 3946 lines in file 4.
I found: 915 triple junctions.
There are 3922 lines in file 5.
I found: 906 triple junctions.
There are 3795 lines in file 6.
I found: 894 triple junctions.
There are 3774 lines in file 7.
I found: 861 triple junctions.
There are 3634 lines in file 8.
I found: 811 triple junctions.
There are 3584 lines in file 9.
I found: 756 triple junctions.
There are 3484 lines in file 10.
I found: 749 triple junctions.
There are 3278 lines in file 11.
I found: 673 triple junctions.
There are 3179 lines in file 12.
I found: 646 triple junctions.
There are 3103 lines in file 13.
I found: 589 triple junctions.
There are 3024 lines in file 14.
I found: 587 triple junctions.
There are 2980 lines in file 15.
I found: 553 triple junctions.
There are 2975 lines in file 16.
I found: 551 triple junctions.
There are 2964 lines in file 17.
I found: 545 triple junctions.
There are 2981 lines in file 18.
I found: 560 triple junctions.
There are 2893 lines in file 19.
I found: 512 triple junctions.
There are 2969 lines in file 20.
I found: 523 triple junctions.
There are 2897 lines in file 21.
I found: 520 triple junctions.
There are 2860 lines in file 22.
I found: 509 triple junctions.
There are 2822 lines in file 23.
I found: 491 triple junctions.
There are 2847 lines in file 24.
I found: 495 triple junctions.
There are 2806 lines in file 25.
I found: 523 triple junctions.
There are 2828 lines in file 26.
I found: 491 triple junctions.
There are 2866 lines in file 27.
I found: 514 triple junctions.
There are 3014 lines in file 28.
I found: 592 triple junctions.
There are 2948 lines in file 29.
I found: 566 triple junctions.
Program complete

At the conclusion, 30 files will have been written. They are named segments_Ni_triples_0NN.txt where NN are integers from 00 to 29. These are used for the next step of the processing. However, it is always useful to check the efficacy of the process. You can use the program display_tjs to create a postscript image of the triple junction segments on the orientation map to insure that they are in the correct place. To do this, you will need to complete the following steps:
1. Download the program
2. To create the images, you will need the original *.ang files
and the lists of triple junctions. They must be in the folder, display_tjs.
3. You will need to configure the input.txt file. The version of input.txt saved on this site is configured to run the files available at the link above, so do not change anything for this example. Note that the file is configured to make only three images, of maps 20, 21, and 22. Of course you can make images of them all, but this is enough to see if it is working.
4. Next, open a terminal window in the display_tjs folder. From here, you simply compile and run the program, as follows:

(base) GR20HUB2021:find_tjs gr20$ cd display_tjs
(base) GR20HUB2021:display_tjs gr20$ make
gfortran -O3 -c -ffixed-line-length-none main.f
(base) GR20HUB2021:display_tjs gr20$ display_tjs
=================================================
PROGRAM TO DISPLAY TJ LINE SEGMENTS ON EBSD MAPS

rohrer@cmu.edu
version 06/10/2022
=================================================
File Mod_Mod1_020.ang has 183848 lines.
File segments_Ni_triples_020.txt has 1601 lines.
finding grains ...
File Mod_Mod1_021.ang has 183848 lines.
File segments_Ni_triples_021.txt has 1592 lines.
finding grains ...
File Mod_Mod1_022.ang has 183848 lines.
File segments_Ni_triples_022.txt has 1559 lines.
finding grains ...
Program complete

When the program completes, it will have written three files:
map_Mod_Mod1_020.ps
map_Mod_Mod1_021.ps
map_Mod_Mod1_022.ps
A section of map_Mod_Mod1_020.ps is displayed below. In the image, each colored circle is an orientation point, colored by orientation, and the green lines are the grain boundary segments and the points where three meet are the triple points.




Return To Main Page