Page 1 of 1

sample oriented in one direction

Posted: Thu Apr 28, 2016 2:14 pm
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?

Re: sample oriented in one direction

Posted: Tue May 17, 2016 8:43 pm
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.

Re: sample oriented in one direction

Posted: Wed Jun 22, 2016 12:43 pm
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!

Re: sample oriented in one direction

Posted: Thu Jun 23, 2016 11:22 am
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)

Re: sample oriented in one direction

Posted: Sat Mar 04, 2017 9:19 am
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!

Re: sample oriented in one direction

Posted: Mon Mar 06, 2017 10:27 am
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

Re: sample oriented in one direction

Posted: Wed Apr 12, 2017 8:50 am
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

Re: sample oriented in one direction

Posted: Sat Apr 15, 2017 4:28 pm
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.