calc_discrete_dist


Download program files. program.
Download sample data. data
Download sample output 1D disorientation angle distribution. disorientation angle distribution
Download sample output 2D grain boundary plane distribution. grain boundary plane distribution
Download sample output 5D grain boundary plane distribution. grain boundary character distribution


This program accepts line segment (2D) or triangle (3D) data and computes the one-dimensional (1D) disorientation distribution, two-dimensional grain boundary plane distribution (GBPD) irrespective of disorientation, and the five-dimensional (5D) grain boundary plane distribution (GBCD). The distributions are computed using a finite set of discrete bins that span the parameters. 2D data is interpreted stereologically, 3D data is interpreted without approximation. There is also an option to interpret the 2D data as columnar. The 1D distribution can be visualized in a plane using any graphics program. The GBPD and GBCD are visualized using graph_discrete_dist


calc_discrete_dist has three main functions that can be carried out one at a time or in a single run: computing the disorientation angle distribution, the GBPD, or the GBCD. 2D data from multiple sections must be concatenated by condition_segs prior to the calculation.


Example:
As an example to show how the program works, we will compute all three distributions for the data produced by the example for condition_segs.
The necessary data can be downloaded here.
This file needs to be moved to the folder calc_discrete_dist.
The next step is to configure the parameters in input.txt for the run. These parameters are described in the lower part of the input.txt file.
The version of input.txt saved on this site is configured to run the file available at the link above, so do not change anything for this example.
Next, open a terminal window in the calc_discrete_dist folder. From here, you simply compile and run the program, as follows:
(base) gr20macmin:calc_discrete_dist gr20$ make clean
rm -f main.o sub.o sub2.o symmetry.o
(base) gr20macmin:calc_discrete_dist 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 calc_discrete_dist
(base) gr20macmin:calc_discrete_dist gr20$ calc_discrete_dist
=================================================
PROGRAM FOR COMPUTING DISCRETIZED GRAIN BOUNDARY
DISTRIBUTIONS. IT CAN COMPUTE 1D DISORIENTATION
DISTRIBUTIONS, 2D GRAIN BOUNDARY PLANE DISTRIBUTIONS
(GBPDs), AND 5D GRAIN BOUNDARY CHARACTER
DISTRIBUTIONS (GBCDs). 3D TRIANGLE DATA IS SIMPLY
DISCRETIZED INTO BINS. DATA CONSISTING OF GRAIN
BOUNDARY TRACES OBSERVED ON A SECTION PLANE ARE
INTERPRETED STEREOLOGICALLY ACCORDING TO
SAYLOR ET AL., MET TRANS. 35A (2004) 1981. LINE
SEGMENT DATA CAN ALSO BE BINNED UNDER THE ASSUMPTION
THAT THE MICROSTRUCTURE IS COLUMNAR

rohrer@cmu.edu
version 04/09/2022
=================================================
Using data in file: all_segments_Ni.txt
msym = 3 rotation = 1 radian = 1 step size = 0.20
File all_segments_Ni.txt has 97701 lines.
There are 30 lines in the header
on average, there are 4.1 steps per segment
calculating the disorientation angle distribution ...
disorientation angle distribution complete
calculating the 2D grain boundary plane distribution ...
10000 line segments classified
20000 line segments classified
30000 line segments classified
40000 line segments classified
50000 line segments classified
60000 line segments classified
70000 line segments classified
80000 line segments classified
90000 line segments classified
2D grain boundary plane distribution complete
calculating the grain boundary character distribution ...
20000 line segments classified
40000 line segments classified
60000 line segments classified
80000 line segments classified
Program complete
(base) gr20macmin:calc_discrete_dist gr20$


When the program finishes, it has produced three files:
The disorientation distribution: all_segments_Ni_disor_dist.txt
The 2D grain boundary plane distribution. all_segments_Ni_gbpd.txt
The 5D grain boundary character distribution. all_segments_Ni_gbcd.txt
The links to the above files make it possible to check that you get the same thing.
To view the GBPD and GBCD, you will need to use graph_discrete_dist.

However, the disorientation distribution can be graphed in a 2D plane. The result from the example data is illustrated below.


Return To Main Page