Forsterite to Wadsleyite Phase Transformation edit page

David Mainprice 23/01/2018

Specify Crystal Symmetries

% crystal symmetry
Fo_CS  = crystalSymmetry('222', [4.756 10.207 5.98], 'mineral', 'Forsterite', 'color', 'light green')
Wad_CS = crystalSymmetry('222', [5.6978 11.462 8.2571], 'mineral', 'Wadsleyite', 'color', 'light blue')
Fo_CS = crystalSymmetry
 
  mineral : Forsterite 
  color   : light green
  symmetry: 222        
  elements: 4          
  a, b, c : 4.8, 10, 6 
 
 
Wad_CS = crystalSymmetry
 
  mineral : Wadsleyite  
  color   : light blue  
  symmetry: 222         
  elements: 4           
  a, b, c : 5.7, 11, 8.3

Define Burgers orientation relation between parent and child phases

                <html>
                   <table class="usertable">
                      <tr>
                         <td>
                               <p>(01-1)Wad &amp; [001]ol</p>
                         </td>
                      </tr>
                   </table>
                </html>
    Parent           Child
(100)Forsterite  || (01-1)Wadsleyite
(010)Forsterite  ||  (012)Wadsleyite
[001]Forsterite  || [100]Wadsleyite
Fo2Wa = orientation.map(...
  Miller(1,0,0,Fo_CS,'hkl'),Miller(0,1,-1,Wad_CS,'hkl'),...
  Miller(0,0,1,Fo_CS,'uvw'),Miller(1,0,0,Wad_CS,'uvw'))
Fo2Wa = misorientation (Forsterite → Wadsleyite)
 
 (001) || (100)   [010] || [011]

axis/angle pair for Forsterite to Wadsleyite misorientation

mis_axis_wrt_Fo = round(axis(Fo2Wa))
mis_axis_wrt_Wad = round(Miller(mis_axis_wrt_Fo,Wad_CS,'hkl'))
mis_angle_Fo_Wad = angle(Fo2Wa)/degree
mis_axis_wrt_Fo = Miller (222)
  h k l
  1 3 1
 
mis_axis_wrt_Wad = Miller (Wadsleyite)
  h  k  l
  2 12  3
mis_angle_Fo_Wad =
   95.4115

generate Child Wadsleyite orientations using misorientation 'Forsterite2Wadsleyite'

% Forsterite Parent orientation
ori_Fo_Parent = orientation.id(Fo_CS)
% compute a Wadsleyite child orientation related to the Parent Forsterite orientation
Wad_Child = ori_Fo_Parent * inv(Fo2Wa)
ori_Fo_Parent = orientation (Forsterite → y↓→x)
 
  Bunge Euler angles in degree
  phi1  Phi phi2
     0    0    0
 
 
Wad_Child = orientation (Wadsleyite → y↓→x)
 
  Bunge Euler angles in degree
     phi1     Phi    phi2
  234.231      90      90

compute all symmetrically possible child orientations - strange angles like 144.231 144.231 0 0 etc - maybe I made a mistake here ? RH: this is incorrect

Wad_Child_orientations_Symm = unique(Wad_Child.symmetrise * inv(Fo2Wa))

% RH: this is correct - you have to symmetrise the parent and then apply
% the orientation relation ship to get all possibe variants
Wad_Child_orientations = unique(ori_Fo_Parent.symmetrise * inv(Fo2Wa))

% Childs using the function variants
% RH: this is correct as well and gives the same result as above
Wad_Child_orientations = ori_Fo_Parent * inv(Fo2Wa.variants)


% all possible child to child misorientations- I get the same result here !
% Wad_Child_mori = (100)/71.5371
% RH: this is correct
Wad_Child_mori = unique(Fo2Wa.variants * inv(Fo2Wa))
%
%
% Wad_Wad misorientation peak - N.B. This not an variant or child rather a twin
% Data analysis from an experiment at T = 1600C & P = 16 GPa
gB_Child_Child = orientation.byAxisAngle(Miller(0,0,1,Wad_CS,'uvw'),90.0*degree,Wad_CS,Wad_CS)
%**************************************************************************
Warning: Symmetry missmatch! The following crystal frames seem to be different

  Wadsleyite (222)
  Forsterite (222)
 
 
Wad_Child_orientations_Symm = orientation (Wadsleyite → y↓→x)
  size: 2 x 1
 
  Bunge Euler angles in degree
     phi1     Phi    phi2
  144.231 144.231       0
  324.231 144.231       0
 
 
Wad_Child_orientations = orientation (Wadsleyite → y↓→x)
  size: 2 x 1
 
  Bunge Euler angles in degree
     phi1     Phi    phi2
  305.769      90     270
  234.231      90      90
 
 
Wad_Child_orientations = orientation (Wadsleyite → y↓→x)
  size: 1 x 2
 
  Bunge Euler angles in degree
     phi1     Phi    phi2
  234.231      90      90
  305.769      90     270
 
 
Wad_Child_mori = misorientation (Wadsleyite → Wadsleyite)
  size: 2 x 1
 
  Bunge Euler angles in degree
  phi1     Phi    phi2
     0       0       0
     0 71.5371     180
 
 
gB_Child_Child = misorientation (Wadsleyite → Wadsleyite)
 
 (001) || (001)   [100] || [010]

Parent (Forsterite) to 4 Daughter (Wadsleyite) variants

Mis = inv(O1) * O2

% all crystallographically equivalent orientations using symmetry of Parent
% Parent (Forsterite) reference orientation Euler (0,0,0)
ori_Fo_Parent = orientation.byEuler(0,0,0,Fo_CS)
% all crystallographically equivalent Child orientations
ori_Wad_Childs = symmetrise(ori_Fo_Parent) * inv(Fo2Wa)
ori_Fo_Parent = orientation (Forsterite → y↓→x)
 
  Bunge Euler angles in degree
  phi1  Phi phi2
     0    0    0
 
 
ori_Wad_Childs = orientation (Wadsleyite → y↓→x)
  size: 4 x 1
 
  Bunge Euler angles in degree
     phi1     Phi    phi2
  234.231      90      90
  305.769      90     270
  54.2314      90      90
  125.769      90     270

Find all combinations of ori_Wad_Childs to define misorientations for child

n=0;
nsymm = length(ori_Wad_Childs);
for i=1:nsymm
  ori_Wad_Childs(i);
  for j=1:nsymm
    if(ne(i,j))
      n=n+1;
      %fprintf('%i %i %i \n',i,j,n);
      Mis_deltaO(n) = inv(ori_Wad_Childs(i))*ori_Wad_Childs(j);
    end
  end
end
Mis_deltaO
Mis_deltaO = misorientation (Wadsleyite → Wadsleyite)
  size: 1 x 12
 
  Bunge Euler angles in degree
  phi1     Phi    phi2
     0 71.5371     180
     0     180       0
   180 108.463       0
     0 71.5371     180
   180 108.463       0
     0     180       0
   180     180     180
   180 108.463       0
     0 71.5371     180
   180 108.463       0
   180     180     180
     0 71.5371     180
%Mis_Axes = round(axis(Mis_unique))
%Mis_Angles = angle(Mis_unique)./degree
%Mis_unique = unique(Mis_deltaO)
%axis(Mis_unique(1))
%angle(Mis_unique(1))/degree
%axis(Mis_unique(2))
%angle(Mis_unique(2))/degree

Citing this page. This page is part of the documentation of MTEX, a free and open source MATLAB toolbox for analyzing and modeling crystallographic textures. It was written by The MTEX Developers and is published at https://mtex-toolbox.github.io/Forsterite_to_WadsleyiteMainprice.html. If you use MTEX, or reuse text or figures from this page, in your research, please cite

F. Bachmann, R. Hielscher, H. Schaeben: Texture Analysis with MTEX - Free and Open Source Software Toolbox, Solid State Phenomena 160 (2010), 63-68. 10.4028/www.scientific.net/SSP.160.63

BibTeX
@article{bachmann2010mtex,
  author  = {F. Bachmann and R. Hielscher and H. Schaeben},
  title   = {Texture Analysis with MTEX - Free and Open Source Software Toolbox},
  journal = {Solid State Phenomena},
  volume  = {160},
  pages   = {63-68},
  year    = {2010},
  doi     = {10.4028/www.scientific.net/SSP.160.63},
  url     = {https://doi.org/10.4028/www.scientific.net/SSP.160.63}
}

Other papers describing specific MTEX methods are listed under Publications — please cite the one that best fits your application. The MTEX source code is licensed under the GNU General Public License v2.0; the text and figures of this documentation are licensed under CC BY 4.0, which permits reuse — including by automated systems — provided The MTEX Developers and this page are credited.