sample oriented in one direction

General forum for EasySpin: questions, how to's, etc.
Post Reply
khimik
Newbie
Posts: 1
Joined: Thu Apr 28, 2016 2:09 pm

sample oriented in one direction

Post by khimik »

We have semi-oriented Cu spectra in which the samples are
oriented in one dimension only (random distribution in other
dimensions) which is not coincident with any lab frame axis.

My understanding is that this can be modelled in two ways.
1) using rotatecrystal to get crystal orientations with a small rotation
angle step. We need to define the axis of rotation. If the rotation is
around lab X axis, then one would use xL = [1;0;0] to define the rotation
axis. Can one use xL = [a;b;c] to define an arbitrary axis of rotation?
What is the precise meaning of parameters a, b and c?
2) alternatively, we can use pepper directly with a custom Ordering
function. The custom ordering function will give distribution of
molecules as a function on parameters phi and theta. What is the exact
meaning of phi and theta?

Are both these approaches correct?
Stefan Stoll
EasySpin Creator
Posts: 1047
Joined: Mon Jul 21, 2014 10:11 pm
Location: University of Washington

Re: sample oriented in one direction

Post by Stefan Stoll »

Both approaches should work.

For using the custom ordering function with pepper, phi and theta indicate the polar angles that the magnetic field (zL) makes in the molecular frame (xM,yM,zM). E.g. if phi = 0 and theta = pi/2, then the molecular orientation is such that the static magnetic field is along xM. If you provide a function that gives non-zero values only for a very small region on phi-theta space, then EasySpin will include only those orientations, and skip all the ones where your function returns zero.

For using the crystal rotations to construct a plane, you can supply rotatecrystal with a vector of your choice (second parameter) that gives the rotation axis in lab coordinates (xL, yL, zL). E.g. [1 1 0] indicates a rotation axis that lies in the xL-yL plane and 45 degrees off the xL axis. Or, more generally, if you give nRot = [a b c], then the rotation axis is a*xL+b*yL+c*zL, where xL, yL and zL are the unit axes of the lab frame.
lc675
Newbie
Posts: 4
Joined: Tue Jun 30, 2015 4:12 am

Re: sample oriented in one direction

Post by lc675 »

Hi, may I please ask you to check that what I'm doing is correct?
As it was explained in the previous post, I have semi-oriented Cu spectra. So far I have been use rotatecrystal to simulate the disorder over 2 directions, which is very easy to set up if the rotation axis overlaps with one of the lab axes. From your response, I struggle to understand how I can set the rotation axis for angles that are different from 0, 45 and 90 deg (and multiples of those angles). For example, if I want to rotate around the crystal z axis (zC), and zC lies in the xL-zL plane at 45 deg off the zL axis, I would use these commands:

cori0 = [0 45 0]*pi/180; % initial crystal orientation in lab frame
nRot_L = [-0.707;0;0.707]; % rotation axis = x axis of lab frame
rho = (0:1:360)*pi/180;
cori = rotatecrystal(cori0,nRot_L,rho); % rotate crystal by rho around nRot
Exp.CrystalOrientation = cori;

Where the nRot_L=[a b c] indices are given by the R_C2L matrix. With this method, I think I can "easily" simulate the disorder for any orientation of my crystal, I just have to change a, b and c according to the new rotation matrix for the new angle, but is this correct? Or have I completely misinterpreted the documentation? The way you suggested is very intuitive, but how would I simulate something rotated by, let's say, 15 deg?
Many thanks for your help and time!
Stefan Stoll
EasySpin Creator
Posts: 1047
Joined: Mon Jul 21, 2014 10:11 pm
Location: University of Washington

Re: sample oriented in one direction

Post by Stefan Stoll »

You can generate any rotation axis using polar angles:

Code: Select all

phi = rand*2*pi;  % radians
theta = rand*pi;  % radians
nRot_L = ang2vec(phi,theta)
lc675
Newbie
Posts: 4
Joined: Tue Jun 30, 2015 4:12 am

Re: sample oriented in one direction

Post by lc675 »

Dear Stefan,
Is there a way to visualise the L2M (lab frame to molecular frame) rotation matrix? If not, would it be possible to check how Easyspin is handling both the crystal rotation and the corresponding molecular frame orientation with respect to the lab frame? For example, if I have:

Exp.MolFrame = [0 -90 40]*pi/180; % Euler angles for C->M transformation
cori0 = [0 30 0]*pi/180; % initial crystal orientation in lab frame

The two matrices visualised with the erot command are:
R_C2L =

0.8660 0 -0.5000
0 1.0000 0
0.5000 0 0.8660


R_C2M =

0.0000 0.6428 0.7660
-0.0000 0.7660 -0.6428
-1.0000 0 0.0000

What would be the M2L resulting matrix?
Many thanks for your help!
Stefan Stoll
EasySpin Creator
Posts: 1047
Joined: Mon Jul 21, 2014 10:11 pm
Location: University of Washington

Re: sample oriented in one direction

Post by Stefan Stoll »

Code: Select all

R_M2C = R_C2M.';      % M frame -> C frame 
R_M2L = R_C2L*R_M2C;  % M framce -> C  frame -> L frame
lc675
Newbie
Posts: 4
Joined: Tue Jun 30, 2015 4:12 am

Re: sample oriented in one direction

Post by lc675 »

Dear Stefan,

Really sorry for bothering you again. May I please ask you to check that the M2L rotation matrix is indeed R_M2L = R_C2L*R_M2C and not R_M2L = R_M2C*R_C2L?
Using the former, the molecular frame does not follow the rotation of the crystal around yC, but instead does a rotation around the yM axis.
Thanks
Stefan Stoll
EasySpin Creator
Posts: 1047
Joined: Mon Jul 21, 2014 10:11 pm
Location: University of Washington

Re: sample oriented in one direction

Post by Stefan Stoll »

The rotation is indeed R_M2L = R_C2L*R_M2C. Note that this is a passive rotation, or in other words a coordinate transformation. A tensor T (like the g or A tensor) is transformed form the M to the L frame by A_L = R_M2L*A_M*R_M2L.'. This leaves the tensor orientation unaffected, but changes its coordinate representation. If you need active rotations, transpose all the rotation matrices.
Post Reply