Taylor factor, strain direction and rolling direction

328 views
Skip to first unread message

Suresh Kodukula

unread,
Sep 17, 2018, 10:19:03 AM9/17/18
to MTEX
Dear all

According to the taylor factor calculation i.e.


% some plane strain
q = 0;
epsilon = strainTensor(diag([1 -q -(1-q)]))

% define a crystal orientation
ori = orientation('Euler',0,30*degree,15*degree,cs)

% compute the Taylor factor
[M,b,mori] = calcTaylor(inv(ori)*epsilon,sS.symmetrise);

Here, the strain tensor and orientation (g) are aligned in rolling direction.
Is it possible to calculate the taylor factor with an angle (alpha) between strain direction and rolling direction.

Best Regards,
Suresh.


Please be as detailed as possible, explain what you want to do, what kind of data you are using. Attaching simplified code and data is always useful. Click the the button { } to inline code and finally remove these lines before posting :)

ruediger Kilian

unread,
Sep 17, 2018, 12:33:09 PM9/17/18
to mtex...@googlegroups.com
Hi Suresh,

you can calculate the Taylor factor for any given strain tensor and of course you can also rotate the strain tensor into whatever direction you need.
You can either deine it directly by a 3-by-3 matrix or have a look at tensor/rotate.

Cheers,
Rüdiger



Suresh Kodukula

unread,
Sep 17, 2018, 2:08:06 PM9/17/18
to mtex...@googlegroups.com
Dear Rüdiger,

Thanks for quick reply. Yes, I am rotating strain tensor, but I am not achieving the right result. Seems I am doing wrong. Here I will explain my problem and now after your mail i realised my mistake. 
My idea is to calculate the taylor factor in rolling direction and at angle to rolling direction. Here after realising my mistake i have thought two approaches, which one is correct could you suggest...

Approach :1
I have crystal axis i.e. phi1, PHI , phi2 which is the crystal axis.  So I can calculate bunge cosine matrix (g). 
I have basic 3x3 strain tensor (eps). But to convert the strain tensor  to the crystal frame i can g*eps*g which gives me eps_cf.

If i calculate now taylor factor is it becomes in Rolling direction. Then i can rotate eps_cf tensor by an angle (in x and y) to calculate the taylor factor in an angle to rolling direction.

Approach 2:

From phi1, PHI, phi2 i can calculate hkl and uvw. Then rotate eps tensor into hl director. i think i can do this using vector notation.
then calculate taylor factor eps_hkl  in RD and again do an operation of x, y axis by angle to calculate taylor factor. 

It is quite complicated for me to figure it out. first one is little easer may be it seems the 2nd one is right :) 

I would be very grateful if you could suggest more sound approach. Nevertheless  I will try code both and see which is more logically right .....

Thanking you once again,

Br,
Suresh.

--
If you want to reduce the number of emails you get through this forum login to https://groups.google.com/forum/?fromgroups=#!forum/mtexmail, click "My membership" and select "Don't send me email updates". You can still get emails on selected topics by staring them.
---
You received this message because you are subscribed to a topic in the Google Groups "MTEX" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/mtexmail/HQCla6gkedU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to mtexmail+u...@googlegroups.com.
Visit this group at https://groups.google.com/group/mtexmail.
For more options, visit https://groups.google.com/d/optout.

Suresh Kodukula

unread,
Sep 18, 2018, 11:13:45 AM9/18/18
to mtex...@googlegroups.com
Dear Rüdiger 
& Dear all,

Here is the code and I am attaching the orientation (for example). The idea is to calculate the taylor factor of a grain in rolling direction and as well at an angle (alpha) from RD.

Idea is to calculate the strain tensor in crystal space i.e. o.*eps does in taylor factor function. I tried to verify it through calculating the orientation of the crystal i.e. phi1, PHI, phi2 calculating g matrix. Then to calculate the strain tensor on crystal space, g' x epsxg gave me the same result.

Then as the primary strain tensor e11 = 1 so its in the x i.e rolling direction ( i believe). Then if necessary i can turn the strain tensor by an angle alpha using rotation('Euler', phi1*degree, 0*degree, 0*degree). i did the same for both the above approaches and the result has been same.

I wanted to know that my concept is right to calculate the taylor factor.  Below is the code for the taylor factor. and i will paste code for the g function below and attach an orientation (o) as mat file.

Thanking you.
Suresh.

%% main file 

%% Load slipsystems

 

cs = crystalSymmetry('432');

sS = slipSystem.bcc(cs);

 

% and all symmetrically equivalent variants

sS = sS.symmetrise;

%% Initializing the strain ratio matrix

no_q = 0.95/0.05 +1;

 

for i = 1:no_q

    qi(i)= i*0.05;

end

 

%% 

% load GDPO;

% o      = GDPO(1).meanOrientation;

 

%%

 

load o;

 

g      = Func_cal_gmatrix(o);

 

Ang    = 0*degree;

clear M;

 

rotf   = rotation('Euler', Ang, 0,0);   

 

    for i = 1:length(qi)

        q = qi(i);

    

        eps  = strainTensor(diag([1 -q -(1-q)]),'name','strain');

        

        epsr = o.*eps; epsr = rotf .* epsr;

        

        epsg = g' * eps.matrix * g;

        epsgr = epsr; 

        epsgr.M = epsg; epsgr = rotf .* epsgr;

        

        [Mr(i),b,mori] = calcTaylor(epsr, sS);  

        [Mg(i),b,mori] = calcTaylor(epsgr,sS);  

 

    end

    

        [m, ind] = min(Mr);

        qr = qi(ind); 

        

        [m, ind] = min(Mg);

        qg = qi(ind); 

   

        Rr  = qr/(1-qr)

        Rg  = qg/(1-qg)

        figure();plot(qi, Mr);

        

 %%

 

%% Func_Cal_gmatrix 


function [g] =  Func_cal_gmatrix(o)

 

p1 = o.phi1;

p  = o.Phi; p2 = o.phi2;

 

g(1,1) = cos(p1)*cos(p2) - sin(p1)*sin(p2)*cos(p);

g(1,2) = sin(p1)*cos(p2) + cos(p1)*sin(p2)*cos(p);

g(1,3) = sin(p2)*sin(p);

 

g(2,1) = -cos(p1)*sin(p2) - sin(p1)*cos(p2)*cos(p);

g(2,2) = -sin(p1)*sin(p2) + cos(p1)*cos(p2)*cos(p);

g(2,3) = cos(p2)*sin(p);

 

g(3,1) = sin(p1)*sin(p);

g(3,2) = -cos(p1)*sin(p);

g(3,3) = cos(p);

 

end







On Mon, Sep 17, 2018 at 7:33 PM ruediger Kilian <ruedige...@unibas.ch> wrote:
o.mat

ruediger Kilian

unread,
Sep 18, 2018, 1:06:19 PM9/18/18
to mtex...@googlegroups.com
Hi Suresh,
while I also have no idea about your reference frame and whether xvector or any other direction is parallel to your rolling direction, the rest looks ok to me.
Cheers,
Rüdiger

Suresh Kodukula

unread,
Sep 19, 2018, 7:01:33 AM9/19/18
to MTEX

Dear Rüdiger 
& Dear all,

Thank you for confirming that my interpretation is okay. Now I have another strange problem.
I have the code and attached the ebsd in grains format too. Just briefly explaining.

The grains format file (part of it as size limitations) tDPO.mat is the grain map of ebsd file of steel sample cross section. i.e. TD-ND plane. I coded exact direction of interpretation into the file.

Now I want to calculate the taylor factor for every grain  for a contraction ratio (q). Varying q between 0 to 1 I want to calculate the min.Taylor factor. Its working.
When I started to calculate similarly at an angle to RD. At first i am transforming the strain tensor into crystal space by inv(o).eps. Then I assume my strain (e11) is aligned in the rolling direction (?). If i want to calculate taylor factor at an angle i will again rotate strain vector by an angle.

Now the problem is the taylor factors are exactly same at 0 deg and 90 deg angle. I am not able to figure it out why. I tried randomly many grain (orientations). Is it symmetry issue ? I am attaching again orientation of a grain as there is a problem for putting 

Below is the code, and the file for the function is also below . The tDPO.mat file is also attached.

Thanking You in advance.
Suresh.


clc; clear all

addpath /Users/sureshk/Documents/mtex-5.0.1;

startup_mtex;

 

%% plotting convention

setMTEXpref('xAxisDirection','east');

setMTEXpref('zAxisDirection','intoPlane');

 

load tDPO;

 

% figure();

% plot(tDPO, tDPO.meanOrientation);

 

%% Load slipsystems

 

cs = crystalSymmetry('432');

sS = slipSystem.bcc(cs);

 

% and all symmetrically equivalent variants

sS = sS.symmetrise;

 

%% Initializing the strain ratio matrix

 

dq = 0.025;

no_q = 0.95/dq +1;

 

for i = 1:no_q

    qi(i)= i*dq;

end

%%

o      = tDPO(109).meanOrientation;

g      = Func_cal_gmatrix(o);

 

Ang    = 45;

clear M;

 

rotf   = rotation('Euler', Ang*degree, 0*degree, 0*degree);   

 

    for i = 1:length(qi)

        q = qi(i);

    

        eps  = strainTensor(diag([1 -q -(1-q)]),'name','strain');

        

        % Calculating the strain tensor in crystal frame

        % So the rolling direction is aligned to the crystal frame X dir'n

        epsr = inv(o).* eps; %epsr = rotf .* epsr; 

        

        % calculating the strain tensor from g matrix and transforming to 

        % the crystal space

        epsg = g * eps.matrix * g';

        epsgr = eps; 

        epsgr.M = epsg; % converting the matrix into tensor

        epsgr = rotf .* epsgr; % Rotating by an angle 'Ang' to the rolling direction

        

        

        [Mr(i),br(i,:),mori] = calcTaylor(epsr, sS);  

        [Mg(i),bg(i,:),mori] = calcTaylor(epsgr,sS);  

 

    end

    % Looking for different contraction ratio, the min taylor factor

    

        [m, ind0] = min(Mr); ind0

        qr = qi(ind0); 

        

        [m, inda] = min(Mg); inda

        qg = qi(inda); 

   

        R0  = qr/(1-qr)

        Ra  = qg/(1-qg)

        figure();

        subplot(2,1,1) ;plot(qi, Mr);

        subplot(2,1,2) ;plot(qi, Mg);

        

 %% Function code

 

Function [g] =  Func_cal_gmatrix(o)

tDPO.mat
Reply all
Reply to author
Forward
0 new messages