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.1829
b =
  Columns 1 through 7
    0.0000    0.0000    0.0565    0.0000    0.0097    0.0000    0.0565
  Columns 8 through 14
    0.0422    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000
  Columns 15 through 21
    0.0000    0.0000    0.0106    0.0067    0.0000    0.0067    0.0000
  Columns 22 through 24
    0.0293    0.0000    0.0000
 
W = spinTensor (m-3m)
  rank: 2 (3 x 3)
 
 *10^-3
      0  43.07   -5.6
 -43.07      0 -10.46
    5.6  10.46      0
% update orientation
oriNew = ori .* orientation(-W)
oriNew = orientation (m-3m → xyz)
 
  Bunge Euler angles in degree
      phi1      Phi     phi2
  0.287316  29.3354  17.2179