Calculating the grain orientation parallel to loading direction?

100 views
Skip to first unread message

MTEXNewbie

unread,
Apr 28, 2018, 1:33:48 PM4/28/18
to MTEX
Suppose I am pulling a sample along the x-axis.

How do I calculate the orientation of a certain grain parallel to the loading direction (x-axis)? It should be in the form <xyz>.


Thank you.

ruediger Kilian

unread,
Apr 28, 2018, 1:46:11 PM4/28/18
to mtex...@googlegroups.com
Hi,
maybe you could elaborate what you actually mean? Do you want the crystal direction parallel to e.g. the x-direction? That'll be inv(o)*xvector and will be in crystal coordinates.
Cheers,
Rüdiger

MTEXNewbie

unread,
Apr 28, 2018, 2:07:58 PM4/28/18
to MTEX
Yes, I want the crystal direction parallel to x-axis.

I couldn't use the code you have given above, Could you please provide a bit more explanation?

ruediger Kilian

unread,
Apr 28, 2018, 2:13:50 PM4/28/18
to mtex...@googlegroups.com

MTEXNewbie

unread,
Apr 28, 2018, 3:16:53 PM4/28/18
to MTEX
I have reused some codes from David's snippet to calculate Young's modulus from Elastic Constants -

csEC = crystalSymmetry('m-3m',[3.6599 3.6599 3.6599],[90.0000 90.0000 90.0000]*degree,'x||a','z||c','mineral','Iron fcc', 'color', 'light blue');
% orientations of phase/grain from ebsd
go=grains(1).meanOrientation;

% assuming both, your ebsd and CS above have not the same reference
% frame use transformReferenceFrame
go = transformReferenceFrame(go,csEC); % in case

% other wise
% rotate the tensile direction which is xvector in this case, into crystal coordiantes
yc=inv(go).*xvector;

The output is :

 mineral: Iron fcc (m-3m)
  h  3.1103
  k  0.8758
  l -1.7188


Is there a way to convert it to <xyz> in MTEX or do I have to convert it myself?

ruediger Kilian

unread,
Apr 28, 2018, 3:43:02 PM4/28/18
to mtex...@googlegroups.com
Hi,
what do you mean with <xyz>?

<uvw>? If h is the crystal direction in (hkl)
h.dispStyle='uvw'
If you want a vector3d, simply use vector3d(h).

Cheers,
Rüdiger

MTEXNewbie

unread,
Apr 29, 2018, 10:18:18 AM4/29/18
to MTEX
By <xyz> I mean to express the direction in integer number format, e.g. <-123>

The command yc=inv(go).*xvector is outputting direction, right?

ruediger Kilian

unread,
Apr 29, 2018, 10:42:48 AM4/29/18
to 'Dwayne' via MTEX
Of what type (double,vector3d,Miller,rotation,orientation,...) is the result you are getting?

MTEXNewbie

unread,
Apr 29, 2018, 11:27:04 AM4/29/18
to MTEX
These are the types of result I got - https://i.imgur.com/0X7OdYf.png

The 1st set is (hkl) so it's representing planes, the 2nd set is [uvw] so it's representing direction. Both sets are in terms of Miller Indices. Apologies if I am wrong.

Now, how do I get the direction in integer number format? I tried to multiply [uvw] by 'n' but could not get integer for all 3 values.

ruediger Kilian

unread,
Apr 29, 2018, 11:41:10 AM4/29/18
to mtex...@googlegroups.com
Exactly, Miller are directions in crystal coordinates, the vector3d in specimen coordinates.
If you like integers, for the Millers you can try round() if the exact direction does not matter. Similarly you can multiply your vector3d by a large number and round.

Cheers,
Rüdiger

MTEXNewbie

unread,
Apr 29, 2018, 12:01:22 PM4/29/18
to MTEX
I was under the impression that I will always get integers since it's in a basic cubic crystal co-ordinate. The problem is, I have done a micro-mechanical test with few grains. So it is important to have exact directions.

I have tried to multiply both [uvw] and vector3d by higher numbers but could not get integers for all 3 values.

Is there anything wrong with the code above that I have applied, or is there a way to get accurate 'integer' Miller indices?
Reply all
Reply to author
Forward
0 new messages