Talk:Unit cell
Contents
Extra math expressions
A given real-space cubic lattice will have dimensions:
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \left(a,b,c\right)}
Such that the position of any particular cell within the infinite lattice is:
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{r}_{hkl} = \left\langle ah,bk,cl\right\rangle }
Where h, k, and l are indices. The corresponding inverse-space lattice would be:
In the case where :
Vectors
There are many equivalent ways to define/construct the Cartesian basis for the unit cell in real-space. The unit cell vectors can be written as:
According to this, the vectors can be written as:
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \begin{array}{l} \mathbf{a} = \begin{bmatrix} a \\ 0 \\ 0 \end{bmatrix} \\ \mathbf{b} = \begin{bmatrix} b \cos{\gamma} \\ b \sin{\gamma} \\ 0 \end{bmatrix} \\ \mathbf{c} = \begin{bmatrix} c \cos{\beta} \\ c_y \\ c_z \\ \end{bmatrix} = \begin{bmatrix} c \cos{\beta} \\ \frac{c}{\sin \gamma} \left( \cos \alpha - \cos \beta \cos \gamma \right) \\ \frac{c}{\sin \gamma} \sqrt{ 1 - \cos^2 \alpha - \cos^2 \beta - \cos^2 \gamma + 2 \cos \alpha \cos \beta \cos \gamma } \\ \end{bmatrix} \end{array} }
which is mathematically equivalent.
According to:
- K. N. Trueblood, H.-B. Bürgi, H. Burzlaff, J. D. Dunitz, C. M. Gramaccioli, H. H. Schulz, U. Shmueli and S. C. Abrahams Atomic Dispacement Parameter Nomenclature. Report of a Subcommittee on Atomic Displacement Parameter Nomenclature Acta Cryst 1996, A52, 770-781. doi: 10.1107/S0108767396005697
- Failed to parse (Conversion error. Server ("https://wikimedia.org/api/rest_") reported: "Cannot get mml. Server problem."): {\displaystyle {\begin{array}{l}\mathbf {a} ={\begin{bmatrix}a\\0\\0\end{bmatrix}}\\\mathbf {b} ={\begin{bmatrix}b\cos {\gamma }\\b\sin {\gamma }\\0\end{bmatrix}}\\\mathbf {c} ={\begin{bmatrix}c\cos {\beta }\\-c\sin \beta \cos \alpha ^{*}\\{\frac {1}{c^{*}}}\\\end{bmatrix}}={\begin{bmatrix}c\cos {\beta }\\{\frac {c}{\sin \gamma }}\left(\cos \alpha -\cos \beta \cos \gamma \right)\\{\frac {c}{\sin \gamma }}{\sqrt {1-\cos ^{2}\alpha -\cos ^{2}\beta -\cos ^{2}\gamma +2\cos \alpha \cos \beta \cos \gamma }}\\\end{bmatrix}}\end{array}}}
TBD: Reciprocal vector components
- Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \begin{alignat}{2} \mathbf{u} & = ... \\ \mathbf{v} & = ... \\ \mathbf{w} & = \frac{\mathbf{a}\times\mathbf{b}}{\mathbf{a}\cdot (\mathbf{b}\times\mathbf{c}) } \\ & =\frac{1}{V} \mathbf{a}\times\mathbf{b} \\ & =\frac{1}{V} \begin{bmatrix} 0 \\ 0 \\ a b \sin{\gamma} \end{bmatrix} \\ \end{alignat} }
Calculate q_hkl generally
def q_hkl(self, h, k, l):
"""Determines the position in reciprocal space for the given reflection."""
# The 'unitcell' coordinate system assumes:
# a-axis lies along x-axis
# b-axis is in x-y plane
# c-axis is vertical (or at a tilt, depending on beta)
# Convert from (unitcell) Cartesian to (unitcell) fractional coordinates
reduced_volume = sqrt( 1 - (cos(self.alpha))**2 - (cos(self.beta))**2 - (cos(self.gamma))**2 + 2*cos(self.alpha)*cos(self.beta)*cos(self.gamma) )
#volume = reduced_volume*self.lattice_spacing_a*self.lattice_spacing_b*self.lattice_spacing_c
a = ( self.lattice_spacing_a , \
0.0 , \
0.0 )
b = ( self.lattice_spacing_b*cos(self.gamma) , \
self.lattice_spacing_b*sin(self.gamma) , \
0.0 )
c = ( self.lattice_spacing_c*cos(self.beta) , \
self.lattice_spacing_c*( cos(self.alpha) - cos(self.beta)*cos(self.gamma) )/( sin(self.gamma) ) , \
self.lattice_spacing_c*reduced_volume/( sin(self.gamma) ) )
# Compute (unitcell) reciprocal-space lattice vectors
volume = np.dot( a, np.cross(b,c) )
u = np.cross( b, c ) / volume # Along qx
v = np.cross( c, a ) / volume # Along qy
w = np.cross( a, b ) / volume # Along qz
qhkl_vector = 2*pi*( h*u + k*v + l*w )
qhkl = sqrt( qhkl_vector[0]**2 + qhkl_vector[1]**2 + qhkl_vector[2]**2 )
return (qhkl, qhkl_vector)
def q_hkl_length(self, h, k, l):
qhkl, qhkl_vector = self.q_hkl(h,k,l)
#qhkl = sqrt( qhkl_vector[0]**2 + qhkl_vector[1]**2 + qhkl_vector[2]**2 )
return qhkl