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