Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
205 lines (197 sloc) 4.41 KB
% Copyright 2013 Max-Planck-Institut für Eisenforschung GmbH
function sym_op = sym_operators(structure, varargin)
%% Function used to define the symmetry operators for cubic and hexagonal crystals
% From the book of Kocks U. F. et al. - "Texture and Anisotropy: Preferred Orientations in
% Polycrystals and Their Effect on Materials Properties" - Cambridge University Press (2000).
% struct : Structure of the material (hcp, bcc, fcc, tet, bct or dia)
% author: d.mercier@mpie.de
% inversion ??
if nargin == 0
structure = 'hcp';
end
if strcmp(structure, 'fcc') == 1 ...
|| strcmp(structure, 'bcc') == 1 ...
|| strcmp(structure, 'dia') == 1
%24 symmetry operators for cubic crystals :
sym_op = [...
1, 0, 0 ;...
0, 1, 0 ;...
0, 0, 1 ;...
...
0 , 0, -1 ;...
0 , -1, 0 ;...
-1, 0, 0 ;...
...
0, 0, 1 ;...
1, 0, 0 ;...
0, 1, 0 ;...
...
0, 0, 1 ;...
0, -1, 0 ;...
1, 0, 0 ;...
...
0, 1, 0 ;...
0, 0, 1 ;...
1, 0, 0 ;...
...
0 , 0, 1 ;...
0 , 1, 0 ;...
-1, 0, 0 ;...
...
0 , -1, 0 ;...
0 , 0, 1 ;...
-1, 0, 0 ;...
...
0, 0, -1 ;...
0, 1, 0 ;...
1, 0, 0 ;...
...
0, -1, 0 ;...
0, 0, -1 ;...
1, 0, 0 ;...
...
-1, 0, 0 ;...
0 , 0, -1 ;...
0 , -1, 0 ;...
...
0 , 1, 0 ;...
0 , 0, -1 ;...
-1, 0, 0 ;...
...
1, 0, 0 ;...
0, 0, -1 ;...
0, 1, 0 ;...
...
0, 0, -1 ;...
1, 0, 0 ;...
0, -1, 0 ;...
...
1, 0, 0 ;...
0, 0, 1 ;...
0, -1, 0 ;...
...
0 , 0, -1 ;...
-1, 0, 0 ;...
0 , 1, 0 ;...
...
-1, 0, 0 ;...
0 , 0, 1 ;...
0 , 1, 0 ;...
...
0 , 0, 1 ;...
-1, 0, 0 ;...
0 , -1, 0 ;...
...
0 , -1, 0 ;...
-1, 0, 0 ;...
0 , 0, -1 ;...
...
-1, 0, 0 ;...
0 , 1, 0 ;...
0 , 0, -1 ;...
...
0 , 1, 0 ;...
-1, 0, 0 ;...
0 , 0, -1 ;...
...
-1, 0, 0 ;...
0 , -1, 0 ;...
0 , 0, 1 ;...
...
0, 1, 0 ;...
1, 0, 0 ;...
0, 0, -1 ;...
...
1, 0, 0 ;...
0, -1, 0 ;...
0, 0, -1 ;...
...
0, -1, 0 ;...
1, 0, 0 ;...
0, 0, 1];
elseif strcmp(structure, 'hcp') == 1
a = sqrt(0.75);
%12 symmetry operators for the hcp phase :
sym_op = [...
1, 0, 0 ;...
0, 1, 0 ;...
0, 0, 1 ;...
...
-.5, a, 0 ;...
-a , -.5, 0 ;...
0 , 0, 1 ;...
...
-.5, -a, 0 ;...
a , -.5, 0 ;...
0 , 0, 1 ;...
...
.5, a, 0 ;...
-a, .5, 0 ;...
0 , 0, 1 ;...
...
-1, 0, 0 ;...
0 , -1, 0 ;...
0 , 0, 1 ;...
...
.5, -a, 0 ;...
a , .5, 0 ;...
0 , 0, 1 ;...
...
-.5, -a, 0 ;...
-a , .5, 0 ;...
0 , 0, -1 ;...
...
1, 0, 0 ;...
0, -1, 0 ;...
0, 0, -1 ;...
...
-.5, a, 0 ;...
a , .5, 0 ;...
0 , 0, -1 ;...
...
.5, a, 0 ;...
a , -.5, 0 ;...
0 , 0, -1 ;...
...
-1, 0, 0 ;...
0 , 1, 0 ;...
0 , 0, -1 ;...
...
.5, -a, 0 ;...
-a, -.5, 0 ;...
0 , 0, -1];
elseif strcmp(structure, 'tet') == 1 || strcmp(structure, 'bct') == 1
%8 symmetry operators for the tetragonal phase :
sym_op = [...
1, 0, 0 ;...
0, 1, 0 ;...
0, 0, 1 ;...
...
-1, 0, 0 ;...
0 , 1, 0 ;...
0 , 0, -1 ;...
...
1, 0, 0 ;...
0, -1, 0 ;...
0, 0, -1 ;...
...
-1, 0, 0 ;...
0 , -1, 0 ;...
0 , 0, 1 ;...
...
0 , 1, 0 ;...
-1, 0, 0 ;...
0 , 0, 1 ;...
...
0, -1, 0 ;...
1, 0, 0 ;...
0, 0, 1 ;...
...
0, 1, 0 ;...
1, 0, 0 ;...
0, 0, -1 ;...
...
0 , -1, 0 ;...
-1, 0, 0 ;...
0 , 0, -1];
end