calcTaylor edit page

compute Taylor factor and strain dependent orientation gradient

Syntax

[MFun,~,spinFun] = calcTaylor(eps,sS,'SO3Fun','bandwidth',32)
[M,b,W] = calcTaylor(eps,sS)

Input

eps strainTensor list in crystal coordinates
sS slipSystem list in crystal coordinates

Output

Mfun SO3FunHarmonic (orientation dependent Taylor factor)
spinFun SO3VectorFieldHarmonic
M taylor factor
b vector of slip rates for all slip systems
W spinTensor

Example

% define 10 percent strain
eps = 0.1 * strainTensor(diag([1 -0.75 -0.25]))
eps = strainTensor (xyz)
  type: Lagrange 
  rank: 2 (3 x 3)
 
 *10^-2
   10    0    0
    0 -7.5    0
    0    0 -2.5
% define a crystal orientation
cs = crystalSymmetry('cubic')
ori = orientation.byEuler(0,30*degree,15*degree,cs)
cs = crystalSymmetry
 
  symmetry: m-3m   
  elements: 48     
  a, b, c : 1, 1, 1
 
 
ori = orientation (m-3m → xyz)
 
  Bunge Euler angles in degree
  phi1  Phi phi2
     0   30   15
% define a slip system
sS = slipSystem.fcc(cs)
sS = slipSystem (m-3m)
 
  u    v    w  | h    k    l CRSS
  0    1   -1    1    1    1    1
% compute the Taylor factor w.r.t. the given orientation
[M,b,W] = calcTaylor(inv(ori)*eps,sS.symmetrise)
M =
    2.7187
b =
  Columns 1 through 7
    0.0000    0.0000    0.0142    0.0332    0.0000    0.0000    0.0198
  Columns 8 through 14
    0.0000    0.0000    0.0000    0.0000    0.0204    0.0000    0.0000
  Columns 15 through 21
    0.0000    0.0000    0.0345    0.0093    0.0000    0.0296    0.0000
  Columns 22 through 24
    0.1110    0.0000    0.0000
 
W = spinTensor (m-3m)
  rank: 2 (3 x 3)
 
 *10^-3
      0 -20.77  31.63
  20.77      0 -15.51
 -31.63  15.51      0
% update orientation
oriNew = ori .* orientation(-W)
oriNew = orientation (m-3m → xyz)
 
  Bunge Euler angles in degree
     phi1     Phi    phi2
  356.003 29.6499 17.2781