Esta sección resume las ecuaciones que MatLens evalúa en el análisis de difracción de rayos X de polvo, con las convenciones exactas del código.
Ley de Bragg y conversiones de eje
Código: matlens/xrd/processing.py::two_theta_to_d, matlens/xrd/processing.py::d_to_two_theta, matlens/xrd/processing.py::two_theta_to_q.
| Símbolo | Significado | Unidades |
|---|---|---|
| 2\theta | ángulo de difracción | grados (convertido a rad internamente) |
| \lambda | longitud de onda | Å |
| d | espaciado interplanar | Å |
| Q | módulo del vector de dispersión | Å⁻¹ |
Longitudes de onda por defecto (matlens/xrd/crystal.py::TUBES): Cu Kα1 = 1.540598 Å, Kα2 = 1.544426 Å; Co, Mo, Cr, Fe y Ag también están tabulados, todos con razón Kα2/Kα1 = 0.5. En d_to_two_theta el argumento del arcoseno se recorta a [-1, 1].
Validez: difracción cinemática de primer orden (n = 1). Referencia: implementación propia.
Derivación. Dos planos paralelos separados d reflejan en fase cuando la diferencia de camino 2d\sin\theta es un múltiplo entero de \lambda: n\lambda = 2d\sin\theta. MatLens toma siempre n = 1; una reflexión de orden n sobre (hkl) aparece como la de primer orden de (nh\,nk\,nl), con d/n. Q = 4\pi\sin\theta/\lambda = 2\pi/d es independiente de la longitud de onda, y es el eje natural para comparar medidas con tubos distintos y para la PDF.
Cuándo falla. La ley supone dispersión elástica y cinemática (sin refracción ni extinción). El índice de refracción de los rayos X (1 - \delta, \delta \sim 10^{-5}) desplaza los picos a ángulo bajo en una cantidad que MatLens no corrige; los desplazamientos de cero, de altura de muestra y de transparencia solo se modelan en Rietveld. El eje de entrada se considera ya calibrado.
Ejemplo resuelto
Entrada: tres posiciones de pico (°2θ) con Cu Kα1, \lambda = 1.540598 Å; se llama a two_theta_to_d y two_theta_to_q.
| 2θ (°) | d (Å) | Q (Å⁻¹) |
|---|---|---|
| 28.443 | 3.13549 | 2.00389 |
| 47.304 | 1.92008 | 3.27235 |
| 56.122 | 1.6375 | 3.83706 |
Comprobación: Q\,d = 2\pi en todas las filas (6.2831853).
Eliminación de Kα2 (Rachinger)
Código: matlens/xrd/processing.py::strip_ka2.
Para cada punto i, interpretado como posición Kα2, se calcula el ángulo de la línea Kα1 que lo genera y se resta una fracción de la intensidad ya corregida en esa posición:
| Símbolo | Significado | Unidades |
|---|---|---|
| \lambda_1, \lambda_2 | longitudes de onda Kα1 y Kα2 | Å |
| R | razón de intensidades I_{K\alpha2}/I_{K\alpha1} (por defecto 0.5) | adimensional |
| I' | intensidad corregida | cuentas |
El recorrido es ascendente en 2\theta, de modo que I'(2\theta_1) ya está corregido (recursión de Rachinger). I'(2\theta_1) se obtiene por interpolación lineal entre los dos puntos vecinos; los puntos cuyo 2\theta_1 cae antes del inicio del barrido no se modifican. No hay ajuste ni incertidumbre asociada.
Nota (diferencia con la literatura): Rachinger usa la separación aproximada \Delta 2\theta \approx 2\tan\theta\,\Delta\lambda/\lambda; MatLens usa la geometría exacta del doblete (sin aproximación de ángulo pequeño).
Supuestos: perfiles de Kα1 y Kα2 idénticos en forma; razón R constante; paso del barrido suficientemente fino. Referencia: Rachinger, J. Sci. Instrum. 25 (1948) 254, doi:10.1088/0950-7671/25/7/125.
Cuándo falla. Con un paso grueso respecto a la separación del doblete, la interpolación lineal deja residuos; el ruido de cada punto se propaga recursivamente a los puntos situados más arriba (la varianza crece en una fracción R^2 por cada paso de la recursión), y un R distinto del real deja picos fantasma o «agujeros» negativos. La corrección no se aplica cuando la radiación ya es monocromática (Kα1).
Ejemplo resuelto
Doblete sintético: lorentzianas de FWHM 0.08° con Kα1 en 40.30° (altura 1000) y Kα2 en su posición exacta 40.4045° (altura 500, R = 0.5), paso 0.01°. Tras strip_ka2:
| magnitud | valor |
|---|---|
| separación Kα1–Kα2 (°2θ) | 0.1045 |
| intensidad en 2θ(Kα2) antes | 631.69 |
| intensidad en 2θ(Kα2) después | 144.15 |
| máx. de abs(I′ − I_Kα1 verdadera) | 8.48 |
El residuo no nulo procede de la interpolación lineal en un paso de 0.01°.
Tamaño de cristalito (Scherrer)
Código: matlens/xrd/processing.py::scherrer.
La anchura instrumental se resta según la forma de pico elegida (Klug & Alexander, X-ray Diffraction Procedures, 2.ª ed., Wiley, 1974):
con B la FWHM observada y b la instrumental (las anchuras gaussianas se suman en cuadratura y las lorentzianas linealmente al convolucionar). Con el perfil «voigt» (matlens/xrd/processing.py::sample_broadening) el pico observado, ajustado como pseudo-Voigt (FWHM H, fracción lorentziana \eta), se separa en sus componentes gaussiana y lorentziana invirtiendo las relaciones de Thompson, Cox & Hastings (J. Appl. Cryst. 20 (1987) 79):
y se resta el instrumento por componentes, H_{G,s}^2 = H_G^2 - b_G^2, H_{L,s} = H_L - b_L; \beta es la FWHM de la Voigt de la muestra, \beta = \mathrm{TCH}(H_{G,s}, H_{L,s}) (de Keijser et al., J. Appl. Cryst. 15 (1982) 308). La anchura de Caglioti se trata como gaussiana (b_L = 0).
| Símbolo | Significado | Unidades |
|---|---|---|
| D | tamaño aparente de cristalito | calculado en Å, reportado en nm |
| K | constante de forma (convención FWHM); por defecto 0.9, editable | adimensional |
| \lambda | longitud de onda (por defecto Cu Kα1) | Å |
| \beta | ensanchamiento de la muestra (FWHM), convertido a rad | rad |
| B, b | FWHM medida e instrumental | °2θ |
| \theta | mitad de la posición del pico | rad |
Anchura instrumental: un valor fijo, o la función de Caglioti (Caglioti, Paoletti & Ricci, Nucl. Instrum. 3 (1958) 223) medida con un estándar (LaB₆ SRM 660, Si SRM 640),
tomada de los parámetros caglioti_u/v/w del paso, de las claves U, V, W del archivo o del perfil instrumental de la hoja («Caglioti: U=…, V=…, W=…»). Sin ninguna, el resultado lleva el aviso «Sin corrección instrumental: el tamaño es un límite inferior / aparente». Si \beta = 0 el tamaño es infinito. No se propaga incertidumbre.
Selección de picos por fase (matlens/recipes/ops.py::xrd_scherrer, matlens/xrd/phase_assign.py): con las fases declaradas (CIF), cada pico observado se asigna a la fase cuyas reflexiones calculadas lo explican; los que tienen reflexiones de dos fases dentro de \max(\text{tol}, B) se excluyen. «Los picos más intensos» son los más intensos asignados a la fase pedida y sin solapamiento. Con varias fases y ninguna declarada, el paso se niega; sin fases se usa el patrón entero con un aviso.
Convención (Langford & Wilson, J. Appl. Cryst. 11 (1978) 102): K depende de la medida de anchura (FWHM o anchura integral), de la forma de los cristalitos y de su distribución; aquí \beta es la FWHM y K = 0.9 es el valor habitual para cristalitos aproximadamente esféricos con esa convención. Con la anchura integral debe usarse el K correspondiente a esa medida.
Comparación con Rietveld: el tamaño Scherrer de un pico es un tamaño aparente promedio en volumen a lo largo de la normal a ese plano; el tamaño de Rietveld (o LVol de un ajuste de patrón completo) sale de un modelo de perfil sobre todas las reflexiones, con otra separación tamaño/deformación. Son magnitudes distintas y no se espera que coincidan exactamente.
Validez (avisos del código): FWHM ≤ 0 invalida el resultado; se advierte sin corrección instrumental y si D cae fuera de ≈ 2–100 nm. Se ignora la contribución de microdeformación (use Williamson–Hall).
Derivación y significado. Un cristal con N planos de espaciado d (D = Nd en la dirección normal a los planos) produce una función de interferencia \sin^2(N\phi)/\sin^2\phi cuya anchura en 2\theta es inversamente proporcional a N; derivando la ley de Bragg, \Delta(2\theta)\cos\theta \approx \lambda/D. La constante K absorbe la forma del cristal y la definición de anchura (FWHM o anchura integral): 0.89–0.94 para esferas y cubos con FWHM (Langford & Wilson 1978). D es un tamaño aparente promediado en volumen del dominio coherente en la dirección [hkl], no el tamaño de partícula: una partícula policristalina o maclada da un D menor que su diámetro.
Algoritmo en MatLens (scherrer): (1) si la forma es lorentz, \beta = \mathrm{FWHM} - \mathrm{FWHM}_\text{inst} (sin recorte: un valor negativo produce \beta \le 0 y D = \infty); si es gauss (por defecto), resta en cuadratura con recorte a 0; (2) \beta y \theta a radianes; (3) D = K\lambda/(\beta\cos\theta) en Å, dividido por 10 para nm; (4) comprobaciones de validez.
Incertidumbre. No se calcula. Por propagación de primer orden, u(D)/D \approx u(\beta)/\beta, de modo que un error de 0.01° en una FWHM de 0.1° ya supone un 10 % en D. El error de modelo (forma del cristal, distribución de tamaños, microdeformación ignorada, elección de K) suele dominar y no está incluido.
Cuándo falla. Por encima de ≈ 100–200 nm el ensanchamiento por tamaño es comparable al instrumental y la resta no es fiable; por debajo de ≈ 2 nm los picos dejan de ser reflexiones de Bragg bien definidas. La microdeformación también ensancha (con \tan\theta) y se confunde con tamaño si se usa un solo pico.
Ejemplo resuelto
Pico a 2θ = 38.18° con FWHM medida 0.30°, Cu Kα1, K = 0.9; anchura instrumental desde Caglioti (U, V, W) = (0.004, −0.002, 0.003) °² con instrumental_fwhm. Resultado de scherrer:
| corrección | FWHM_inst (°) | β (°) | D (nm) | validez |
|---|---|---|---|---|
| gaussiana | 0.05279 | 0.2953 | 28.47 | ok (—) |
| lorentziana | 0.05279 | 0.2472 | 34.01 | ok (—) |
| sin corrección | 0 | 0.3 | 28.02 | warning (anchura instrumental = 0: tamaño sin corregir (use LaB6/Si)) |
Williamson–Hall
Código: matlens/xrd/processing.py::williamson_hall.
Se ajusta por mínimos cuadrados lineales sin ponderar (numpy.polyfit, grado 1) la recta y = m x + b con x = 4\sin\theta e y = \beta\cos\theta:
| Símbolo | Significado | Unidades |
|---|---|---|
| \beta | \sqrt{\max(\mathrm{FWHM}^2 - \mathrm{FWHM}_{\text{inst}}^2, 0)} en rad | rad |
| \varepsilon | microdeformación | adimensional |
| b, m | intercepto y pendiente | rad |
| K | por defecto 0.9 | adimensional |
| D | tamaño, reportado en nm | nm |
Requiere al menos dos picos; la anchura instrumental puede ser escalar o una por pico. No se reportan incertidumbres de D ni de \varepsilon, solo R^2.
Nota (diferencia con la literatura): la corrección instrumental es siempre cuadrática (gaussiana), aunque el modelo de Williamson–Hall suma anchuras de forma lineal (lorentziana); se usa FWHM en lugar de anchura integral.
Validez (avisos del código): intercepto ≤ 0 invalida el tamaño; \varepsilon < 0, R^2 < 0.8 o corrección instrumental nula generan advertencias. Supone deformación isotrópica (modelo de deformación uniforme). Referencia: implementación propia (relación citada en el docstring del módulo); Williamson & Hall, Acta Metall. 1 (1953) 22, doi:10.1016/0001-6160(53)90006-6.
Derivación. La microdeformación \varepsilon = \Delta d/d ensancha por derivación de la ley de Bragg: \beta_\varepsilon = 4\varepsilon\tan\theta. Si los ensanchamientos por tamaño (K\lambda/(D\cos\theta)) y por deformación se suman linealmente (perfiles lorentzianos), al multiplicar por \cos\theta se obtiene una recta en 4\sin\theta. El intercepto mide el tamaño y la pendiente la deformación.
Algoritmo en MatLens. (1) Anchura instrumental: escalar o un valor por pico (difundido con numpy.broadcast_to); (2) \beta en rad con resta cuadrática recortada a 0; (3) x = 4\sin\theta, y = \beta\cos\theta; (4) se lanza un error si hay menos de 2 picos; (5) recta por mínimos cuadrados sin pesos (numpy.polyfit); (6) D = K\lambda/b (Å → nm) solo si b > 0, si no D = \infty; (7) R^2 y comprobaciones.
Incertidumbre. No se calcula ninguna; con dos picos el ajuste es exacto (R^2 = 1) y no dice nada sobre la calidad. Con N picos, el error estándar de la pendiente y del intercepto podría obtenerse de la covarianza del ajuste lineal; MatLens no lo hace. Las reflexiones de distintas familias hkl con anisotropía elástica dispersan los puntos (lo que reduce R^2) sin que eso sea ruido.
Cuándo falla. Deformación o tamaño anisótropos, distribuciones de tamaños anchas, fallas de apilamiento (ensanchamiento selectivo por hkl) y picos solapados con FWHM mal medida.
Ejemplo resuelto
Siete picos generados con D = 25 nm y \varepsilon = 1.5×10⁻³ (ensanchamientos sumados linealmente, como en el modelo), a los que se suma en cuadratura una anchura instrumental de 0.05° y un ruido relativo gaussiano del 2 % (semilla fija). FWHM de entrada:
| 2θ (°) | FWHM (°) |
|---|---|
| 28.4 | 0.4018 |
| 33 | 0.435 |
| 47.4 | 0.4794 |
| 56.2 | 0.5628 |
| 69.1 | 0.6419 |
| 76.3 | 0.6702 |
| 88 | 0.7838 |
Resultado de williamson_hall:
| magnitud | valor |
|---|---|
| pendiente = ε | 0.001681 |
| intercepto (rad) | 0.005192 |
| D (nm) | 26.7 |
| R² | 0.9694 |
| validez | ok (—) |
La desviación respecto a los valores de partida mide el sesgo de restar la anchura instrumental en cuadratura y del ruido; MatLens no da incertidumbre de D ni de \varepsilon.
Refinamiento de celda unidad
Código: matlens/xrd/peaksearch.py::refine_cell.
Para cada reflexión indexada:
con los términos independientes permitidos por el sistema cristalino:
| Sistema | Términos t_i |
|---|---|
| cúbico | h^2+k^2+l^2 |
| tetragonal | h^2+k^2, l^2 |
| hexagonal (y trigonal en ejes hexagonales) | h^2+hk+k^2, l^2 |
| ortorrómbico | h^2, k^2, l^2 |
| monoclínico | h^2, k^2, l^2, hl |
| triclínico | h^2, k^2, l^2, kl, hl, hk |
Q observado se calcula como Q = (2\sin\theta/\lambda)^2 con \theta = (2\theta_{\text{obs}} - z)/2. Con corrección de cero activada (por defecto) se añade una columna lineal:
donde \delta (grados) se acumula en el cero z.
Procedimiento: 3 iteraciones. En cada una se genera la lista de reflexiones de la celda actual, se asignan picos observados a reflexiones uno a uno (pares más cercanos primero) dentro de una tolerancia que comienza en 0.15° y se reduce a la mitad por iteración (mínimo 0.05°), y se resuelve el sistema lineal por mínimos cuadrados sin ponderar (numpy.linalg.lstsq). Se necesitan al menos (parámetros + 1) picos indexados. Los valores iniciales son la celda de la fase de referencia (CIF) y cero = 0. La celda directa se recupera invirtiendo G^{*} (o con fórmulas cerradas en sistemas de alta simetría).
Incertidumbre (k = 1): solo para los coeficientes c_i,
No se propaga a a, b, c, \alpha, \beta, \gamma ni al volumen.
Figura de mérito:
| Símbolo | Significado | Unidades |
|---|---|---|
| N | número de líneas observadas indexadas | — |
| \langle\lvert\Delta 2\theta\rvert\rangle | media de \lvert 2\theta_{\text{obs}} - 2\theta_{\text{calc}} - z\rvert | ° |
| N_{\text{pos}} | reflexiones calculadas posibles hasta el último pico observado | — |
| A | matriz de diseño de N filas y p columnas | Å⁻² |
Muestras multifase (matlens/xrd/phase_assign.py::assign_peaks, paso xrd.cell): con varias fases, las reflexiones de cada fase (posición e intensidad relativa calculadas del CIF; solo las de intensidad ≥ 1 % de la línea más fuerte de la fase) se comparan con los picos observados. Un pico se asigna a una fase si está a menos de la tolerancia de una de sus reflexiones y ninguna reflexión de otra fase cae dentro de \max(\text{tol}, \mathrm{FWHM}_{\text{obs}}); si caen reflexiones de dos fases se marca como solapado. La asignación se repite una vez con las celdas refinadas. La celda de cada fase se refina excluyendo los picos solapados y los de otras fases; los picos usados se listan en el resultado. Si quedan menos de p+1 picos, el paso se detiene y sugiere el refinamiento Rietveld de patrón completo (Rietveld, J. Appl. Cryst. 2 (1969) 65), que se ejecuta (escala, fondo, celda, cero, W y tamaño) si se activa «Rietveld si faltan picos».
Validez: los trigonales se tratan en ejes hexagonales (la celda romboédrica no está soportada); requiere una celda inicial cercana a la verdadera. Referencia: Smith & Snyder, J. Appl. Cryst. 12 (1979) 60, doi:10.1107/S002188987901178X (figura de mérito).
Detalles del algoritmo leídos del código. En cada iteración la lista de reflexiones se genera hasta d_\text{min} = \lambda/(2\sin(\min(2\theta_\text{obs,max} + 2°, 179°)/2)). La asignación es uno a uno: se ordenan todos los pares (observado, calculado) con distancia \le tolerancia y se aceptan de menor a mayor distancia, sin reutilizar ni el pico ni la reflexión. Si quedan menos de p + 1 pares (p = términos + cero), se lanza un error con el número de picos indexados. Los grados de libertad son \max(N - p, 1). La celda se reconstruye con fórmulas cerradas (cúbico a = c_1^{-1/2}; tetragonal y hexagonal a = c_1^{-1/2} o \sqrt{4/(3c_1)}, c = c_2^{-1/2}; ortorrómbico por eje) o invirtiendo G^* (monoclínico, triclínico).
Incertidumbre (lo que no incluye). La esd devuelta (esd["Q-coef"]) es la de los coeficientes en Å⁻², no la de a, b, c; el usuario debe propagarla: para un cúbico, \sigma(a) = \tfrac12 a^3\sigma(c_1). Las correlaciones con el cero no se informan. El error sistemático por desplazamiento de muestra (que varía como \cos\theta, no como una constante) no está modelado: solo se corrige un cero constante.
Ejemplo resuelto
Ocho reflexiones de una celda cúbica con a = 5.4400 Å, desplazadas +0.03° en cero y con ruido gaussiano de 0.004° (semilla fija); celda inicial a = 5.431 Å (Si, grupo Fd\bar3m). Resultado de refine_cell:
| magnitud | valor |
|---|---|
| a (Å) | 5.43988 |
| cero z (°) | 0.02809 |
| volumen (ų) | 160.978 |
| σ(c₁) (Å⁻²), k = 1 | 3.66e-06 |
| líneas indexadas N | 8 |
| F_N | 195.3 |
Por propagación de primer orden, a = c_1^{-1/2} da \sigma(a) = \tfrac12 a^3\sigma(c_1) = 0.000295 Å; MatLens no hace este paso.
Función de distribución de pares G(r)
Código: matlens/core/pdf_analysis.py::g_of_r.
con la función de modificación de Lorch (opcional):
(M = 1 sin Lorch). La integral se evalúa con la regla del trapecio sobre los puntos medidos.
| Símbolo | Significado | Unidades |
|---|---|---|
| S(Q) | factor de estructura total, ya corregido y normalizado | adimensional |
| Q | vector de dispersión | Å⁻¹ |
| r | distancia; por defecto 0–30 Å en pasos de 0.01 Å | Å |
| G(r) | PDF reducida | Å⁻² |
| Q_{\min}, Q_{\max} | límites; por defecto los extremos de los datos | Å⁻¹ |
La resolución en r reportada es \pi/Q_{\max} (Å). Se descartan valores no finitos; se requieren al menos 20 puntos. Se advierte si Q_{\max} < 15 Å⁻¹ (oscilaciones de terminación de período ≈ 2\pi/Q_{\max}). No hay propagación de incertidumbre.
Modelo de comparación (matlens/core/pdf_analysis.py::debye_sq), ecuación de Debye para N dispersores puntuales iguales:
Supuestos: MatLens no aplica correcciones de fondo, absorción, Compton ni normalización; S(Q) debe venir ya corregido. Referencias: Egami & Billinge, Underneath the Bragg Peaks, 2.ª ed., Pergamon 2012, cap. 3; Lorch, J. Phys. C 2, 229 (1969), doi:10.1088/0022-3719/2/2/305; Debye, Ann. Phys. 351, 809 (1915), doi:10.1002/andp.19153510606.
Significado. G(r) = 4\pi r[\rho(r) - \rho_0] es la transformada seno de la función de interferencia reducida F(Q) = Q[S(Q) - 1]; sus máximos están en las distancias interatómicas. Al truncar en Q_\max, G(r) queda convolucionada con \sin(Q_\max r)/r, que produce las oscilaciones de terminación; la función de Lorch las suprime a costa de ensanchar los picos (peor resolución en r).
Cuándo falla. Si S(Q) no está normalizado a 1 en alto Q, G(r) tiene una pendiente espuria a bajo r; las correcciones (fondo, polarización, absorción, Compton, Laue) deben hacerse antes. Con un difractómetro de Cu (Q_\max \approx 8 Å⁻¹) la resolución \pi/Q_\max ≈ 0.4 Å es insuficiente para separar distancias de enlace próximas.
Ejemplo resuelto
Agregado cúbico centrado en las caras de 3×3×3 celdas (108 átomos, a = 3.6 Å, vecino más próximo a/\sqrt2 = 2.5456 Å); S(Q) calculado con debye_sq entre 0.5 y 25 Å⁻¹ y transformado con g_of_r (Lorch activado):
| magnitud | valor |
|---|---|
| primer máximo de G(r) en 2–3 Å (Å) | 2.55 |
| resolución π/Q_max (Å) | 0.1257 |
Puntuación de búsqueda-identificación (search-match)
Código: matlens/xrd/searchmatch.py::score_entry, matlens/xrd/searchmatch.py::_score_at.
con k = \mathbf a\cdot\mathbf b/\mathbf b\cdot\mathbf b (\mathbf a = \sqrt{I_{\text{ref}}}, \mathbf b = \sqrt{I_{\text{obs}}}) la escala óptima por mínimos cuadrados. Las intensidades se normalizan a máximo 100.
| Parámetro | Valor por defecto |
|---|---|
| tolerancia de posición | 0.12 °2θ, ampliada a 0.5·mediana(FWHM) si es mayor; coincidencia si la distancia ≤ tol/2 |
| desplazamiento de cero | 9 valores en [-\text{tol}, +\text{tol}]; se elige el de mayor C |
| escala de celda | 9 factores en [0.99, 1.01]; una celda escalada exige C \ge 0.8 y ninguna línea fuerte ausente |
| líneas de referencia | se ignoran las de intensidad relativa < 2 |
| rechazo | más de una línea de referencia > 50 % sin coincidencia |
| puntuación mínima | 20 en search, 45 en auto_identify |
Entre factores de celda se penaliza la distorsión con 2|1-f|/0.01 puntos. La identificación multifase (matlens/xrd/searchmatch.py::auto_identify) es voraz: acepta la mejor fase, elimina sus picos explicados y repite (hasta 5 fases, ganancia mínima de intensidad explicada 5 %).
Validez: la puntuación es heurística (0–100), no una probabilidad; no tiene incertidumbre. Referencia: implementación propia.
Referencias adicionales con DOI
- Langford & Wilson, J. Appl. Cryst. 11 (1978) 102, doi:10.1107/S0021889878012844 (constante de Scherrer según forma y definición de anchura).
- Caglioti, Paoletti & Ricci, Nucl. Instrum. 3 (1958) 223, doi:10.1016/0369-643X(58)90029-X (perfil instrumental U, V, W).
- Scherrer, Nachr. Ges. Wiss. Göttingen (1918) 98 (sin DOI).