-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathsintl.m
More file actions
28 lines (21 loc) · 768 Bytes
/
sintl.m
File metadata and controls
28 lines (21 loc) · 768 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
% sintl calculate sin(theta)/lambda of the reflection "H" given the unit cell "cell"
%
% sintlc = sintl(unit_cell,hkl)
%
% INPUT: unit_cell = [a b c alpha beta gamma]
% hkl = [h k l]
% OUTPUT: sin(theta)/lambda
function sintlc = sintl(ucell,HKL)
a = ucell(1);
b = ucell(2);
c = ucell(3);
calp = cos(ucell(4)*pi/180.);
cbet = cos(ucell(5)*pi/180.);
cgam = cos(ucell(6)*pi/180.);
h = HKL(1);
k = HKL(2);
l = HKL(3);
PART1 = h^2/a^2 * (1-calp^2) + k^2/b^2 * (1-cbet^2) + l^2/c^2 * (1-cgam^2) +...
2*h*k*(calp*cbet-cgam)/(a*b) + 2*h*l*(calp*cgam-cbet)/(a*c) + 2*k*l*(cbet*cgam-calp)/(b*c);
PART2 = 1 - (calp^2 + cbet^2 + cgam^2) + 2*calp*cbet*cgam;
sintlc = sqrt(PART1) / (2*sqrt(PART2));