Schnelle Berechnung von Streumustern mithilfe hypergeometrischer Funktionsalgorithmen
HeimHeim > Blog > Schnelle Berechnung von Streumustern mithilfe hypergeometrischer Funktionsalgorithmen

Schnelle Berechnung von Streumustern mithilfe hypergeometrischer Funktionsalgorithmen

Jun 11, 2024

Scientific Reports Band 13, Artikelnummer: 780 (2023) Diesen Artikel zitieren

1588 Zugriffe

3 Altmetrisch

Details zu den Metriken

Die Streuung von Licht, Röntgenstrahlung, Elektronen oder Neutronen an Materie wird häufig zur Strukturcharakterisierung von atomaren bis hin zu makroskopischen Längenskalen genutzt. Mit dem Aufkommen hochbrillanter Strahlquellen und der Entwicklung schneller, großflächiger Pixeldetektoren werden Streumuster nun mit beispiellosen Bildraten und Bildgrößen erfasst. Die langsame Analyse dieser Streumuster hat sich zu einem schwerwiegenden Engpass entwickelt, der wissenschaftliche Erkenntnisse behindert. Hier stellen wir einen Algorithmus vor, der auf der Verwendung hypergeometrischer Funktionen basiert und im Vergleich zu aktuellen numerischen Integrationsalgorithmen eine Rechengeschwindigkeitssteigerung von bis zu 105 ermöglicht. Hypergeometrische Funktionen liefern analytische Beschreibungen geometrischer Formen, können schnell als Reihen und asymptotische Entwicklungen berechnet und effizient in GPUs implementiert werden. Der Algorithmus bietet die nötige Rechengeschwindigkeit, um Streumuster auf Zeitskalen zu berechnen, die für Echtzeit-Experiment-Feedback, die Analyse großer Streudatenmengen und für die Generierung von Trainingsdatensätzen für maschinelles Lernen erforderlich sind.

Die Streuung von Licht, Röntgenstrahlen, Elektronen oder Neutronen durch Materie wird häufig zur Charakterisierung der Materialstruktur von der atomaren bis zur makroskopischen Längenskala genutzt1,2. Um mehrskalige Strukturinformationen zu erhalten, müssen Streuexperimente Streumuster über große Detektorflächen erfassen. Moderne Pixeldetektoren decken daher immer größere Bereiche ab, wobei die entsprechenden Pixelzahlen mittlerweile über 107 liegen. Gleichzeitig haben hochintensive Strahlquellen wie Laser, Synchrotronquellen der vierten Generation, Neutronenspallationsquellen, aberrationskorrigierte Elektronenmikroskope und Metallstrahl-Röntgenquellen eine weite Verbreitung gefunden verfügbar. Die Kombination hochintensiver Strahlen mit schnellen großflächigen Detektoren ermöglicht nun In-situ- und Operando-Experimente zur Aufklärung schneller und komplexer Strukturänderungen und ermöglicht so wichtige Einblicke in die strukturelle Entwicklung, Funktion und Leistung von Materialien. Zu den häufig untersuchten Materialien und Geräten gehören Hochleistungsmetalllegierungen, Fasern, Batterien, Brennstoffzellen und Solarzellen, Nanomaterialien, Verbundwerkstoffe, Polymere, Kolloide, Membranen sowie Implantate, Formulierungen zur Arzneimittelabgabe und biologisches Gewebe.

Diese Entwicklung hat zu einem beispiellosen Anstieg der Erfassungsrate und des Volumens von 1D- und 2D-Streuungsdaten geführt, sodass die für die Datenanalyse benötigte Zeit zu einem großen Engpass im Prozess zur Gewinnung von Erkenntnissen über Materialien geworden ist. Daher wird die Software zur Streuungsdatenreduzierung und -analyse durch die Einführung effizienterer Datenanalyse-Pipelines3, durch GPU-Beschleunigung4 und den Einsatz von Algorithmen für maschinelles Lernen5 kontinuierlich verbessert. Dennoch hat sich die Rechengeschwindigkeit für die Datenanalyse nicht in einem Ausmaß erhöht, das mit dem Anstieg der aktuellen Datenerfassungsraten vergleichbar wäre.

Die Analyse von Streudaten von Materialien auf mehreren Längenskalen erfolgt im Allgemeinen durch die Modellierung von Unterstrukturen mit geometrischen Objekten, die verknüpft und zu zusammengesetzten Objekten zusammengesetzt werden, die räumlich mit einem gewissen Grad an Positions- und Orientierungsordnung verteilt sind. Zu den üblichen geometrischen Objekten gehören Kugeln, Ellipsoide, Parallelepipede, Zylinder, Scheiben, Polyeder oder flexible Röhren oder Membranen, deren Oberflächen mathematisch in geschlossenen analytischen Formen beschrieben werden können. Dieser geometrische Ansatz zur Modellierung komplexer Strukturen wird auch häufig in Computersimulationen und in Raytracing-Grafikalgorithmen verwendet.

Die Berechnung von Streumustern umfasst die Berechnung der Fourier-Transformation der zusammengesetzten Objektstruktur und die anschließende Mittelung über Größen-, Orientierungs- und Positionsverteilungen der Objekte, die das untersuchte reale Material charakterisieren6. Die Berechnung erfordert mehrere numerische Integrationen, um die Fourier-Transformationen zu berechnen und über die Verteilungsfunktionen zu mitteln. Diese Berechnung ist zeitaufwändig und stellt den Engpass im Datenanalyseschritt dar. Daher gibt es eine lange Geschichte neuer wichtiger mathematischer Methoden zur effizienten Berechnung und Analyse von Streufunktionen7,8,9,10,11.

Um die Rechenzeit zu verkürzen, werden 2D-Datensätze, wann immer möglich, azimutal gemittelt, um 1D-Datensätze zu erhalten, wobei die Anzahl \(N\) der Datenpunkte auf \(\sqrt{N}\) reduziert wird. Für die Analyse großer Datensätze oder die Generierung synthetischer Datensätze zum Trainieren neuronaler Netze sind aktuelle Algorithmen jedoch unerschwinglich langsam12. Darüber hinaus ist die Analyse des vollständigen 2D-Streumusters für eine große Klasse synthetischer und biologischer Materialien erforderlich, die aus anisotropen Strukturen oder dünnen Filmen bestehen. Die schnelle Berechnung von Streudaten für all diese Fälle liegt außerhalb des Rahmens aktueller Algorithmen und Softwarepakete.

Hier stellen wir einen Algorithmus vor, der auf der Verwendung hypergeometrischer Funktionen zur schnellen Berechnung von 1D- und 2D-Streudaten basiert. Hypergeometrische Funktionen ermöglichen eine einfache mathematische Beschreibung geometrischer Objekte, verfügen über analytische Fourier-Transformationen und können über Reihen und asymptotische Entwicklungen mit rekursiven Koeffizienten schnell berechnet werden. Im Vergleich zu numerischen Integrationsschemata beobachten wir einen Anstieg der Rechengeschwindigkeit von > 105. Der Algorithmus kann effizient parallelisiert und zur weiteren Beschleunigung in GPUs implementiert werden. Dies ermöglicht die Berechnung von 2D-Streumustern mit > 1 fps selbst für aktuelle 4k-Pixeldetektoren.

Die Berechnung von Streumustern auf Pixeldetektoren erfordert die Berechnung der Streuintensität \(I({{\varvec{q}}}_{{\varvec{i}}{\varvec{j}}})\) für jedes Pixel. Moderne 4K-Detektoren verfügen über mehr als 16 Millionen Pixel. Abbildung 1 zeigt schematisch ein Array von Pixeln \((i,j)\), für die jeweils die Streuintensität berechnet werden muss. Mathematisch entspricht die Position \(({x}_{ij},{y}_{ij})\) jedes Pixels bestimmten Komponenten des Streuvektors \({{\varvec{q}}}_{{ \varvec{i}}{\varvec{j}}}\), die mit experimentellen Parametern zusammenhängt, einschließlich der Wellenlänge \(\lambda\) des einfallenden Strahls, dem Abstand zwischen Probe und Detektor \({d}_{det }\) und dem Winkel \({\vartheta }_{ij}\), den der gestreute Strahl und der einfallende Strahl einschließen. Der Streuvektor \({{\varvec{q}}}_{{\varvec{i}}{\varvec{j}}}\) ist gegeben durch

Pixelarray mit Zeilen i und Spalten j und der Streuintensität \(I({{\varvec{q}}}_{{\varvec{i}}{\varvec{j}}})\). Moderne 4-k-Pixeldetektoren verfügen über mehr als 16 Millionen Pixel, für die Streuintensitäten berechnet und mit experimentellen Daten verglichen werden müssen. Dies stellt eine erhebliche Rechenherausforderung für aktuelle numerische Integrationsalgorithmen dar.

Die Näherung auf der rechten Seite ist die Grundlage für Kleinwinkelstreuexperimente.

Für Materialien, die aus Anordnungen geometrischer Objekte bestehen oder mit solchen modelliert sind, erfolgt die Berechnung der Streuintensität \(I({{\varvec{q}}}_{{\varvec{i}}{\varvec{j}}})\ ) erfolgt über die Berechnung ihrer Fourier-Transformation oder Streuamplitude \(F({{\varvec{q}}}_{{\varvec{i}}{\varvec{j}}})\), dem Formfaktor \( P({{\varvec{q}}}_{{\varvec{i}}{\varvec{j}}})\) und der Gitterfaktor \(Z({{\varvec{q}}}_ {{\varvec{i}}{\varvec{j}}})\), die ihre räumliche Anordnung beschreiben. \(F({{\varvec{q}}}_{{\varvec{i}}{\varvec{j}}})\) wird durch Integration der Dichte des Objekts \(\rho \left( {\varvec{r}}\right)\), multipliziert mit dem Phasenfaktor \({e}^{i{{\varvec{q}}}_{{\varvec{i}}{\varvec{j} }}{\varvec{r}}}\) über dem Volumen V des Objekts

Anschließend erhält man den Formfaktor \(P({{\varvec{q}}}_{{\varvec{i}}{\varvec{j}}})\) als absolutes Quadrat der Streuamplitude \(F ({{\varvec{q}}}_{{\varvec{i}}{\varvec{j}}})\). In einem dritten Schritt wird der Formfaktor über die Größenverteilung \(h(R)\) und die Orientierungsverteilung \(h(\vartheta ,\varphi )\) des Ensembles von Objekten gemittelt

Wenn die Objekte durch mehr als eine charakteristische Dimension gekennzeichnet sind, z. B. bei anisometrischen Objekten wie Ellipsoiden, Zylindern oder Parallelepipeden, muss die Größenverteilung für jede zusätzliche Dimension berücksichtigt werden. Für gängige Partikelformen die Anzahl der erforderlichen numerischen Integrationen zur Berechnung von \(\langle P({{\varvec{q}}}_{{\varvec{i}}{\varvec{j}}})\rangle\) Zunahmen aus Kugeln (1), zweiachsigen Ellipsoiden (3), Würfeln (3), Zylindern (3), Scheiben (3), Superellipsoiden (4), dreiachsigen Ellipsoiden (5), Parallelepipeden (5), Oktaedern (5) zu Superbällen (5–7). Dies macht die Berechnung von Streumustern für moderne großflächige Pixeldetektoren unerschwinglich langsam. Darüber hinaus benötigt die dreidimensionale Anordnung dieser Objekte den Gitterfaktor \(Z({{\varvec{q}}}_{{\varvec{i}}{\varvec{j}}})\). berücksichtigt werden, zumindest auf der Ebene der Entkopplungsnäherung13,14.

Dabei ist \(\Delta b\) ein probenspezifischer Kontrastfaktor, \({\rho }_{N}\) die Teilchenzahldichte und \(G(q)\) der Debye-Waller-Faktor, der die Berechnung erfordert einer großen Anzahl von Bragg-Peak-Positionen.

Die größten Herausforderungen bei der Berechnung und Analyse großer 2D-Streumuster und abgeleiteter 1D-Datensätze sind daher (i) die große Anzahl numerischer Integrationen zur Berechnung von \(\langle P({{\varvec{q}}}_{{ \varvec{i}}{\varvec{j}}})\rangle\) und (ii) der große Rechenaufwand zur Berechnung von \(\langle Z({{\varvec{q}}}_{{\varvec {i}}{\varvec{j}}})\rangle\). Das Ziel des vorgestellten Algorithmus ist.

eine Methode zu entwickeln, um möglichst viele Integrationen analytisch zu lösen, um die Berechnung von \(I({{\varvec{q}}}_{{\varvec{i}}{\varvec{j}}})\) durchzuführen auf einfache Funktionen und

um \(\langle P({{\varvec{q}}}_{{\varvec{i}}{\varvec{j}}})\rangle\) und \(\langle Z({{\varvec {q}}}_{{\varvec{i}}{\varvec{j}}})\rangle\) in q-unabhängige Teile mit Koeffizienten \({c}_{n}\), die für gleich sind jedes Pixel und ein verbleibender q-abhängiger Teil \({f}_{n}(q)\), der einfach ist und durch Multiplikation mit der vorberechneten Menge \({c}_{ n}\), wodurch zusätzlich eine effiziente Implementierung in parallelen Rechenalgorithmen und GPUs ermöglicht wird.

Wir zeigen, dass die Verwendung hypergeometrischer Funktionen die erforderliche Methodik bereitstellt. Hypergeometrische Funktionen werden normalerweise zur Berechnung spezieller Funktionen verwendet und wurden bisher nur für die Berechnung der Fourier-Transformation spezifischer Polymerkern-/Schale-Strukturen berücksichtigt, da sie eine geschlossene analytische Lösung für Schalen mit algebraischen Dichteprofilen lieferten15. Der Nutzen der Berechnung und Verwendung ihrer q-unabhängigen Reihenkoeffizienten für die schnelle Berechnung von Streumustern wurde noch nicht berücksichtigt.

Der entsprechende Algorithmus ist in Abb. 2 dargestellt. Mit den Eingabeparametern, die die Objekte und ihre räumliche Anordnung beschreiben, werden die benötigten Koeffizienten für die reziproken Raumvektoren \({{\varvec{q}}}_{hkl}^{*} \) zusammen mit den q-unabhängigen Koeffizienten \({c}_{n}\) berechnet. Die Pixelintensitäten \(I({{\varvec{q}}}_{{\varvec{i}}{\varvec{j}}})\) werden innerhalb der (i,j)-Schleife über alle Detektoren berechnet Pixelzeilen und -spalten wie in Abb. 1. Für 1D-Daten wird die i-Schleife zur Berechnung von \(I({q}_{i})\) in j Blöcke unterteilt.

Algorithmus zur Berechnung von 2D-Streumustern. Mithilfe der bereitgestellten Eingabeparameter berechnet der Algorithmus vorab die Koeffizienten für die reziproken Raumvektoren \({{\varvec{q}}}_{hkl}^{*}\) und die Koeffizienten \({c}_{n }\). Innerhalb der \((i,j)\)-Schleife ist für alle Pixel der Streuvektor \({{\varvec{q}}}_{ij}\) und daraus die Streuamplitude \(F({{\ varvec{q}}}_{ij})\) und der Formfaktor \(P({{\varvec{q}}}_{ij})\) werden unter Verwendung der vorberechneten Koeffizienten \({c}_ {N}\). Anschließend werden die vorberechneten Koeffizienten für die reziproken Raumvektoren verwendet, um den Gitterfaktor \(Z({{\varvec{q}}}_{ij})\) zu berechnen, um schließlich die Streuintensität \(I({ {\varvec{q}}}_{ij})\). Da die Berechnungen in der \((i,j)\)-Schleife voneinander unabhängig sind, können sie mithilfe von GPUs effizient parallelisiert werden. Das resultierende Streumuster kann mit der Strahl- oder Punktspreizfunktion (PSF) gefaltet werden, um \(J({{\varvec{q}}}_{ij})\) für den direkten Vergleich mit Experimenten zu erhalten. Für 1D-Daten wird die i-Schleife zur Berechnung von \(I({q}_{i})\) in j Blöcke unterteilt.

Der Algorithmus erfordert die Vorabberechnung der Koeffizienten \({c}_{n}\) der Reihe und der asymptotischen Entwicklungen, was für numerische Integrationsschemata nicht notwendig ist. Wir halten den Rechenaufwand für die Vorberechnungen für sehr gering. Es wird mit einem Beschleunigungsfaktor von bis zu 5,105 überkompensiert, um das Streumuster in der nachfolgenden (i,j)-Schleife zu berechnen.

Hypergeometrische Funktionen haben Eigenschaften, die für den erforderlichen Algorithmus ideal sind. Das Integral für die Berechnung der Fourier-Transformation (Gl. (2)) kann durch die hypergeometrische Funktion \({}_{0}{F}_{1}\left(z\right)\) as15 ausgedrückt werden

mit dem Volumen \(V={\int }_{0}^{R}\frac{2{\pi }^\frac{d}{2}{r}^{2}}{\Gamma \left[ \frac{d}{2}\right]}{r}^{d-1}dr\). R ist die Größe, r der radiale Abstand und d die Dimensionalität des Objekts. Gleichung (5) gilt für Objekte, die in drei Dimensionen (\(d=3\), Kugeln), in zwei Dimensionen (\(d=2\), Zylinder) und formal in einer Dimension (\(d=) rotationssymmetrisch sind 1\), Blutplättchen, Lamellen). Durch Neuskalierung können diese Fälle auf zwei- und dreiachsige Ellipsoide, Oktaeder und Superbälle (\(d=3)\), Superellipsoide, Hanteln und Linsen (\(d=2)\), Würfel und Parallelepipede (\(d) erweitert werden =\mathrm{1,2},3)\) sowie Polymerketten und flexible Schläuche (\(d=1-2)\). Somit ist Gl. (5) gilt für eine große Klasse von Objekten, die für die Modellierung von Materialstrukturen relevant sind. Das Integral kann über das Volumen zusammengesetzter Objekte erweitert werden, sodass eine große Klasse weiterer, komplexerer Objektstrukturen analytisch beschrieben werden kann.

Hypergeometrische Funktionen können über Reihen- und asymptotische Entwicklungen berechnet werden16,17. Eine detaillierte Ableitung der Streuamplituden und Formfaktoren ist in den Hintergrundinformationen (SI Abschnitt 1) ​​beschrieben. Hier stellen wir die beiden Hauptergebnisse vor:

Für kleine Argumente z können die hypergeometrischen Funktionen über eine Reihenentwicklung berechnet werden, die für den Fall von \({}_{0}{F}_{1}\left(z\right)\) gegeben ist durch

wobei \({\left(u\right)}_{n}=\frac{\Gamma \left[u+n\right]}{\Gamma \left[i\right]}\) die Pochhammer-Fakultät ist.

Für große Argumente \(z\) können die hypergeometrischen Funktionen über eine asymptotische Entwicklung berechnet werden

mit \(\nu =-\frac{d+2}{2}+\frac{1}{2}\). Für die erforderliche numerische Genauigkeit reicht es aus, nur die ersten beiden Terme der Entwicklung (7) zu verwenden. Bei der Auswahl allgemeiner logarithmischer Normalverteilungen werden die Mittelwerte über die Terme der Reihenentwicklungen \(\langle {z}^{2n}\rangle\) (Gl. 6) und der asymptotischen Entwicklungen \(\langle \frac{\mathrm{ cos}(z)}{{z}^{k}}\rangle\) (Gl. 7) sind einfache lineare und trigonometrische Funktionen. Diese sind in den Hintergrundinformationen (SI Abschnitt 2) zusammengefasst. Die Reihenentwicklung Gl. (6) und die asymptotische Entwicklung Gl. (7) überlappen und sind die Grundlage für die Berechnung der q-unabhängigen Koeffizienten \({c}_{n}\).

Wir veranschaulichen hier die Ableitung der Koeffizienten \({c}_{n}\) am einfachen Beispiel eines kugelförmigen Objekts. In den Hintergrundinformationen stellen wir die Koeffizienten für eine umfassende Sammlung geometrischer Objekte bereit, darunter zweiachsige Ellipsoide, dreiachsige Ellipsoide, Zylinder mit kreisförmigen und elliptischen Querschnitten, Scheiben, Würfel, Parallelepipede, Superbälle, Superellipsoide, Hanteln, Linsen und Polymere mit ausgeschlossenem Volumen Ketten (SI Abschnitt 4) für ein breites Anwendungsspektrum.

Für Kugeln (\(d=3\)) ergibt sich der Formfaktor aus \(P(q)={F}^{2}(q)\) als

In den Hintergrundinformationen (Gl. S.1.3.2) zeigen wir, dass für alle Dimensionen d die Doppelsumme in eine einzige Summe umgeformt werden kann, was die Berechnung erheblich beschleunigt

Der Durchschnitt über die Größenverteilung, charakterisiert durch einen Polydispersitätsparameter z, ergibt die Reihe

Die Koeffizienten \({c}_{n}\) können effizient über Rekursionsrelationen für die Potenzen, Fakultäten, Gammafunktionen, Pochhammer-Fakultäten und Binomialkoeffizienten berechnet werden, wie in den Hintergrundinformationen (SI Abschnitt 10) zusammengefasst. Aufgrund der Rekursionsbeziehungen ist die Berechnung der Koeffizienten schnell, kann mit wenigen Zeilen Quellcode codiert werden und erfordert keine Berechnung spezieller Funktionen wie Bessel- und Gammafunktionen oder Pochhammer-Fakultäten.

Die Reihenentwicklung (Gl. (6)) konvergiert für Werte von \(qR<1-10\) (Regime I), abhängig von der Polydispersität z. Für \(qR>1\) (Regime II) verwenden wir die asymptotische Entwicklung (Gl. (7)) für Kugeln (\(d=3\)), die ist

Die Mittelwerte der trigonometrischen Funktionen werden als einfache Kosinus- und Arkustanfunktionen angegeben und sind alle in den Hintergrundinformationen (SI Abschnitt 2) zusammengefasst.

Für \(qR\gg 1\) (Regime III) müssen wir nur den führenden Kosinusterm der asymptotischen Entwicklung verwenden, um den nicht oszillierenden Teil der Asymptote abzuleiten, der mit dem Porod-\({q}^ identisch ist {-4}\)-Asymptote

Diese drei Regime sind auch in der schematischen Algorithmusbeschreibung (RI, RII, RIII) in Abb. 2 angegeben.

Die Berücksichtigung von Größenverteilungen hat zwei Vorteile: (i) Sie liefert eine realistische Beschreibung von Materialstrukturen und (ii) führt gleichzeitig mathematisch zu nicht oszillierenden Einzelterm-Asymptoten des Formfaktors \(P\left(q\ rechts)\) im Hiqh-Q-Bereich (Regime-III-Regime), der einen erheblichen Teil der von großflächigen Detektoren aufgezeichneten Streumuster darstellen kann. Die Berechnung der Porod-Asymptoten anisometrischer Objekte18,19,20 wurde in der Literatur selten berücksichtigt, ist aber für den Algorithmus wichtig und wird daher in den Hintergrundinformationen (SI Abschnitt 5) dargelegt.

Die berechneten Streumuster in Abb. 3 zeigen die nahtlose Überlappung der Reihenentwicklungen (Regime I), der asymptotischen Entwicklungen (Regime II) und des Porod-Regimes (Regime III), sodass die Formfaktoren schnell über den gesamten q-Bereich berechnet werden können . Die q-Werte für die I-II- und II-III-Übergänge können bei der Berechnung der Reihenkoeffizienten \({c}_{n}\) vorberechnet werden (siehe Hintergrundinformationen (SI Abschnitt 3).

Diagramme der berechneten Formfaktoren polydisperser geometrischer Objekte, um die nahtlose Überlappung für die Berechnungen in den drei Regimen I, II, III für Kugeln ((A) R = 3 nm) und triaxiale Ellipsoide ((B) a = 2 nm, b =) zu zeigen 4 nm, c = 6 nm) und direkte Überlappung der Regime I und III für Superellipsoide ((C) R = 3 nm, L = 5 nm, k = 3,4) und Superballs ((D) a = 2 nm, b = 2,5 nm, c = 3 nm, k = 5,5). Die beiden letztgenannten wurden ausgewählt, um die schnelle Berechnung des Formfaktors komplex geformter Objekte zu demonstrieren. Die relative Standardabweichung der Partikelgrößen beträgt in allen Fällen σ = 0,08. Die CPU-Zeiten sind in Abb. 6 angegeben und verglichen.

Ein weiterer Vorteil der schnellen Berechnungen unter Verwendung von Reihen und asymptotischen Entwicklungen liegt in ihrer Anwendung zur Berechnung der Streumuster orientierter Anordnungen isometrischer und anisometrischer Objekte. Dies erfordert eine Orientierungsmittelung, die normalerweise durch zwei zusätzliche numerische Integrationen durchgeführt wird, was sehr zeitaufwändig ist und daher selten durchgeführt wird.

Für den orientierten Fall müssen wir die Hauptachse L des Objekts in Bezug auf einen Direktor D angeben. Die Partikel können einen Abweichungswinkel \(\delta\) in Bezug auf den Direktor D haben, mit einer Verteilungsfunktion \(h( \delta )\). Wir erhalten einfache Ausdrücke für die Phasen qL, die für schnelle Berechnungen direkt in die abgeleiteten Reihen und asymptotischen Entwicklungen implementiert werden können. Alle Details zur Ableitung finden Sie in den Hintergrundinformationen (SI Abschnitt 7).

Zur Veranschaulichung betrachten wir den Fall eines Ensembles zylindrischer Objekte, die entlang der x-Achse mit einem Abweichungswinkel \(\delta\) ausgerichtet sind. Für die Phase \({\varvec{q}}{\varvec{L}}\) erhalten wir den Ausdruck

wobei \(\chi\) der Azimutwinkel auf einem Kegel mit Öffnungswinkel \(\delta\) ist. Für die Reihen- und asymptotischen Entwicklungen benötigen wir den gemittelten Phasenterm, der erhalten wird als

mit

Die Integrale \({H}_{2l,2n-2l}\) müssen numerisch über die Orientierungsverteilungsfunktion \(h\left(\delta \right)\) integriert werden, sind aber q-unabhängig und daher Teil von die Koeffizienten \({c}_{n}\). Das Integral über \(\frac{3{\mathrm{cos}}^{2}\left(\delta \right)-1}{2}\) liefert direkt den Orientierungsordnungsparameter S.

Der Phasenterm kann in die Zylinderformfaktor-Reihenentwicklung eingefügt werden als

Für schnelle Berechnungen werden die q-unabhängigen Koeffizienten \({a}_{n}\) und \({b}_{l,n}\) vorberechnet, sodass die Reihe schnell für jedes Pixel ausgewertet werden kann ( \({q}_{x},{q}_{y})\)

Ebenso kann der Phasenterm \(\langle {\left({\varvec{q}}{\varvec{L}}\right)}^{2n}\rangle\) in die asymptotischen Entwicklungen in Regime II und eingesetzt werden III (SI Abschnitt 7). Das Beispiel in Abb. 4 zeigt die nahtlose Überlappung der Reihen und asymptotischen Entwicklungen im zweidimensionalen anisotropen Fall für Zylinder mit hoher (A) bis niedriger (F) Orientierungsordnung.

Berechnete 2D-Streumuster orientierter polydisperser Zylinder, die parallel zur x-Achse ausgerichtet sind, mit einer Orientierungsverteilung, die zwischen gleichmäßiger Ausrichtung mit Ordnungsparametern S = 1,0 (A), S = 0,96 (B), S = 0,83 (C), S = variiert 0,58 (D), S = 0,15 (E) zu einer isotropen Orientierungsverteilung mit S = 0 (F) unter Verwendung der Gleichungen. (14–16).

Ähnliche Ausdrücke können für einachsige Orientierungsverteilungen für Scheiben, Parallelepipede, zweiachsige und dreiachsige Ellipsoide abgeleitet werden und sind in den Hintergrundinformationen (SI Abschnitt 7) enthalten.

Die meisten synthetischen und biologischen Materialien bestehen aus Partikeln oder Objekten, die in unterschiedlichem Ordnungsgrad zusammengesetzt sind. Daher ist es wichtig, kristallographische Berechnungen in den Algorithmus einzubeziehen. Wir werden zeigen, dass auch diese Beiträge in einen q-unabhängigen Teil faktorisiert werden können, der vorberechnet und der (i,j)-Schleife bereitgestellt werden kann, wo er mit einem q-abhängigen Teil multipliziert wird. Für 1D-, 2D- und 3D-Baugruppen erfordern die Berechnungen die Auswertung von Einzel-, Doppel- oder Dreifachsummen über alle Miller-Indizes ungleich Null (hkl), sodass Vorberechnungsschemata sehr effektiv sind.

Für die Berechnungen müssen wir die (uvw)-Richtung innerhalb der Elementarzelle angeben, die parallel zur Richtung des Sondenstrahls ist, also\({{\varvec{r}}}_{{\varvec{u}}{ \varvec{v}}{\varvec{w}}}\boldsymbol{ }||\boldsymbol{ }{\varvec{n}}\). Die Elementarzelle wird durch die drei Kantenlängen und die eingeschlossenen Winkel (a,b,c; α, β, γ) definiert. Dann ist der Richtungsvektor gegeben als \({{\varvec{r}}}_{{\varvec{u}}{\varvec{v}}{\varvec{w}}}=u{{\varvec{a }}}_{{\varvec{A}}}+v{{\varvec{b}}}_{{\varvec{A}}}+w{{\varvec{c}}}_{{\varvec {A}}}\) im Elementarzellenkoordinatensystem \({\varvec{A}}\)21. Wir müssen die Basisvektoren der Elementarzellen transformieren \({({\varvec{a}}}_{{\varvec{A}}},{{\varvec{b}}}_{{\varvec{A}} },{{\varvec{c}}}_{{\varvec{A}}})\) in das orthonormale karthesische Laborbasiskoordinatensystem \({\varvec{E}}\), um die Basismenge zu erhalten Vektoren \({({\varvec{a}}}_{{\varvec{E}}},{{\varvec{b}}}_{{\varvec{E}}},{{\varvec{c }}}_{{\varvec{E}}})\) unter Verwendung einer Transformationsmatrix E. Diese Basisvektoren werden dann gedreht, um sie an der (uvw)-Richtung parallel zum Sondenstrahl auszurichten, d. h. \({{\varvec {r}}}_{{\varvec{u}}{\varvec{v}}{\varvec{w}}}\boldsymbol{ }||\boldsymbol{ }{\varvec{n}}\), unter Verwendung eine Rotationsmatrix \({\varvec{R}}\), um die gedrehten Basisvektoren \({({\varvec{a}}}_{{\varvec{E}}{\varvec{r}}} zu erhalten, {{\varvec{b}}}_{{\varvec{E}}{\varvec{r}}},{{\varvec{c}}}_{{\varvec{E}}{\varvec{r }}})\). Diese Vektoren werden anschließend in die reziproken Raumvektoren \(({{\varvec{a}}}^{*},{{\varvec{b}}}^{*},{{\varvec{c}}} transformiert. ^{*})\) unter Verwendung der metrischen Matrix \({\varvec{G}}\). Diese drei Transformationen können kompakt ausgedrückt werden als:

so dass in der (i,j)-Schleife und den (h,k,l)-Summen die jeweiligen reziproken Raumvektoren \({{\varvec{q}}}_{hkl}^{*}\) sein können berechnet aus den vorberechneten reziproken Raumvektoren als \({{\varvec{q}}}_{hkl}^{*}=h{{\varvec{a}}}^{\boldsymbol{*}}+k{{ \varvec{b}}}^{\boldsymbol{*}}+l{{\varvec{c}}}^{\boldsymbol{*}}\).

Die Matrizen \({\varvec{M}},\boldsymbol{ }{\varvec{R}},\boldsymbol{ }{\varvec{G}}\) werden abgeleitet und in den Hintergrundinformationen (SI Abschnitt 8) bereitgestellt ). Mit dem Vektor \({{\varvec{q}}}_{hkl}^{*}\) und vordefinierten Peakformparametern ergibt sich die Peakformfunktion \(L\left({\varvec{q}},{{ \varvec{q}}}_{hkl}^{*}\right)\) berechnet werden. Dann ist der Gitterfaktor von Gl. (4) kann durch Summieren über alle (hkl) Sätze von Miller-Indizes berechnet werden, wobei \({f}_{hkl}\ne 0\)

Für makroskopisch isotrope Materialien, in denen Debye-Scherrer-Ringe beobachtet werden (Abb. 5c), kann der azimutale Durchschnitt von \(Z\left({\varvec{q}}\right)\) in geschlossener analytischer Form mit q erhalten werden -unabhängige Koeffizienten, die wie in Abb. 2 gezeigt vorberechnet und für die schnelle Berechnung von 1D-Daten22 verwendet werden können.

(A–C) Berechnete 2D-Streumuster mit 4,106 Pixeln (2k × 2k) für Kugeln (R = 14 nm, σ = 0,08), geordnet in einem FCC-Gitter (a = 35 nm) mit hoher Orientierungsordnung (A), mit mittlerer Orientierungsordnung (B) und mit isotroper Orientierungsverteilung mit Debye-Scherrer-Peaks (C). Die Berechnungszeit für ein Streumuster beträgt 480 ms unter Verwendung einer Standard-Consumer-Grafikkarte (SI, Abschn. 10.2). (D) Berechnetes GISAS-Muster für Kugeln (R = 10, σ = 0,08), geordnet in einem BCC-Gitter (a = 22 nm). Die Peaks werden unter der Annahme berechnet, dass die Strahlrichtung parallel zur (001)-Richtung verläuft, was zu einem (hk0)-Fasermuster des BCC-Gitters führt, das typischerweise für Nanopartikelanordnungen beobachtet wird25.

Kleinwinkelstreuung und -beugung mit streifendem Einfall (GISAS, GIXD) sind Streutechniken, die Röntgenstrahlen oder Neutronen verwenden, um nanostrukturierte Oberflächen und dünne Filme zu untersuchen23,24. Um den Algorithmus auf diese wichtige Klasse von Streuexperimenten auszudehnen, müssen die Fresnel-Koeffizienten der Transmission und Reflexion von der Filmoberfläche und den Grenzflächen einbezogen werden.

Als Beispiel betrachten wir einen dünnen Film, der eine Ansammlung von Objekten enthält, deren Streuintensität \(I({{\varvec{q}}}_{ij})\) durch Gl. (4). Die in einem GISAS-Experiment aufgezeichnete Streuintensität kann im Rahmen der Distorted Wave Born Approximation (DWBA)23 berechnet werden. Daher wird die GISAS-Streuintensität als Summe über die vier DWBA-Terme berechnet, die die Streu-/Reflexionsereignisse der Objektanordnung und der Film/Substrat-Grenzfläche darstellen

wobei \({{\varvec{q}}}_{n,ij}\) die Streuvektoren der vier Streuungs-/Reflexionsereignisse sind und die \({T}_{i,f}\) und \ ({R}_{i,f}\) sind die Fresnel-Transmissions- bzw. Reflexionskoeffizienten. In den Hintergrundinformationen (SI Abschnitt 9) erweitern wir die Berechnung um die spiegelnde und diffuse Streuung der einfallenden Ebene. Tatsächlich multiplizieren wir die bereits berechnete Streuintensität \(I\left({{\varvec{q}}}_{ij}\right)\) mit den Fresnel-Transmissions- und Reflexionskoeffizienten, von denen \({T}_ {i}\) und \({R}_{i}\) sind q-unabhängig und können zusammen mit den anderen Koeffizienten vorberechnet werden.

Um das Potenzial der Methode zu demonstrieren, zeigen wir in Abb. 5D das berechnete GISAS-Muster polydisperser Kugeln, die in einem BCC-Gitter innerhalb eines dünnen Films auf einem Substrat angeordnet sind. Als typische Merkmale beobachten wir den Yoneda-Peak beim kritischen Streuvektor \({q}_{z,c}=0,23\) nm−1 und die diffuse und spiegelnde Reflexion der Einfallsebene. Die Peaks werden unter der Annahme berechnet, dass die Strahlrichtung parallel zur (001)-Richtung verläuft, was zu einem (hk0)-Fasermuster des BCC-Gitters führt, das typischerweise beispielsweise bei Nanopartikelanordnungen beobachtet wird25.

Zum Benchmarking vergleichen wir die CPU-Rechenzeiten zwischen dem Reihenalgorithmus und herkömmlichen numerischen Integrationsschemata. Wir haben Streumuster für die häufigsten geometrischen Partikelformen berechnet, die zur Modellierung von Materialstrukturen verwendet werden: Kugeln, zweiachsige Ellipsoide, dreiachsige Ellipsoide, Zylinder, Scheiben und Würfel. Für alle Berechnungen wurde ein typischer q-Bereich gewählt, der das Guinier-Regime mit niedrigem q und das Porod-Regime mit hohem q umfasst. Für einen fairen Vergleich der Methoden wurden moderate Achsenverhältnisse von 3 bis 8 für anisometrische Partikel und moderate Polydispersitäten von σ = 0,1 gewählt. Wann immer möglich, wurden trigonometrische Funktionen in den Integranden der numerischen Integrationen durch nichtoszillierende lineare Funktionen ersetzt, um die Rechengeschwindigkeit zu erhöhen. Alle Details der Berechnungen sind in den Hintergrundinformationen (SI Abschnitt 11.1) zusammengefasst. Die Berechnungen wurden für einen Datenpunktbereich von 50–105 durchgeführt. Die kleineren Zahlen sind typisch für die Analyse von 1D-Datensätzen, die größeren Zahlen typisch für 2D-Datensätze für Pixeldetektoren. Die Berechnungen wurden auf einem einzelnen CPU-Kern durchgeführt.

Abbildung 6 zeigt die CPU-Zeiten als Funktion der Anzahl der Datenpunkte für verschiedene geometrische Objekte und die beiden Berechnungsschemata. Wir stellen fest, dass selbst im Fall einfacher kugelförmiger Partikel für eine kleine Anzahl von Datenpunkten die Reihenentwicklungen um den Faktor 4 schneller sind und daher bereits einen Rechenvorteil haben. Für eine große Anzahl von Datenpunkten, z. B. für \(N=\) \({10}^{5}\) im asymptotischen \(t\sim {N}^{1}\)-Bereich, erfolgt die Reihenentwicklung denn Kugeln sind um den Faktor 40 schneller (siehe SI Abschn. 11). Bei anisometrischen Objekten ist der Reihenerweiterungsalgorithmus um den Faktor bis zu 7,101 für zweiachsige Ellipsoide, 3,102 für dreiachsige Ellipsoide, 2,105 für Zylinder und 5,105 für Scheiben und Würfel schneller. Für die meisten gängigen Objekte ermöglicht der Serienalgorithmus die Berechnung von 106 Datenpunkten in < 500 ms auf einer Single-Core-CPU. Nur für monodisperse Kugeln mit einem einfachen analytischen Ausdruck des Formfaktors ist der Reihenalgorithmus etwas langsamer, um ca. 20 % (SI Abschn. 11.3). Die Erweiterungen und numerischen Integrationen werden mit einer relativen Genauigkeit von 10−4 durchgeführt. In den Hintergrundinformationen (SI Abschnitt 11.2) zeigen wir, dass die Erweiterungen schnell konvergieren, sodass das Erreichen höherer Präzisionen im Vergleich zu numerischen Integrationen viel geringere Steigerungen der CPU-Zeit erfordert.

CPU-Zeit zur Berechnung eines N-Datenpunkt-Streumusters durch numerische Integration (offene Symbole) und Verwendung des Reihenalgorithmus (vollständige Symbole). Wir haben die Fälle von polydispersen Kugeln (gefüllter Kreis, offener Kreis), zweiachsigen Ellipsoiden (gefülltes Dreieck auf der rechten Seite, offenes Dreieck auf der rechten Seite), dreiachsigen Ellipsoiden (gefülltes Dreieck, offenes Dreieck) und Zylindern (gefülltes Dreieck auf der unteren Seite, offenes Dreieck auf der unteren Seite) betrachtet ), Scheiben (gefüllte Raute, offene Raute), Würfel (gefülltes Quadrat, offenes Quadrat) und Superellipsoide (offenes Sechseck, gefülltes Sechseck). Zum Vergleich werden auch die CPU-Zeiten für die einfachen Analysefälle monodisperser Kugeln (gefüllter Stern, offener Stern) angegeben. Bei den Reihenentwicklungen beobachten wir aufgrund der Vorberechnungszeit für die q-unabhängigen Koeffizienten ein niedriges N-Plateau. Dieser Rechenaufwand wird durch die anschließende wesentlich schnellere Berechnung der Streumuster überkompensiert. Bei einer großen Anzahl von Datenpunkten beobachten wir einen Zuwachs von bis zu 5,105. Für die gängigsten geometrischen Objekte ist die Berechnung von einer Million Datenpunkten in < 500 ms auf nur einer Single-Core-CPU möglich.

Wir haben auch den schwierigsten Fall polydisperser Superbälle betrachtet. Für Superbälle mit gleich langen Kanten (\(a=b=c\)), bei denen fünf numerische Integrationen notwendig sind, ergeben sich CPU-Zeiten von ca. 5 Minuten. für 400 Datenpunkte wurden mit optimierten numerischen Integrationsroutinen berichtet26. Wir haben den allgemeineren Fall von Superbällen mit ungleichen Kanten (\(a\ne b\ne c\)) betrachtet, wie in Abb. 6 dargestellt. Hier ist die Vorberechnung der Koeffizienten der geschwindigkeitsbegrenzende Schritt, der 2,5 s erfordert. was im Vergleich zur numerischen Integration bereits > 100-mal schneller ist. Wenn wir die gemeldete CPU-Zeit auf 105 Datenpunkte extrapolieren, beträgt der Gewinn an Rechengeschwindigkeit > 107.

Die Verwendung der Zentrosymmetrie von \(I({{\varvec{q}}}_{ij})\) (Friedelsches Gesetz) und weiterer Symmetrien von Teilchen und Gittern führt zu einer weiteren mindestens zweifachen Reduzierung der CPU -Zeit, die bereits die Berechnung von 16 Millionen Datenpunkt-4K-Pixel-Detektorstreumustern mit einer Single-Core-CPU mit > 1 fps ermöglicht, wie im Einführungsabschnitt erläutert.

Der Algorithmus kann effizient in GPUs implementiert werden, da die Berechnungen der Pixelstreuintensitäten \(I({{\varvec{q}}}_{ij})\) voneinander unabhängig sind. Wir zeigen, dass bereits einfache Consumer-Grafikkarten den Algorithmus um einen weiteren Faktor von > 50 beschleunigen können, was eine 1D- und 2D-Anpassung sehr großer Detektorarray-Daten in Sekundenbruchteilen ermöglicht, wie in den Hintergrundinformationen (SI Abschnitt 12) gezeigt. Als Anwendungen demonstrieren wir in den Hintergrundinformationen die Simulation großer 2D-Kleinwinkel-Röntgenstrahlen (SAXS), Kleinwinkel-Neutronen (SANS) und Kleinwinkel-Lichtstreumuster sowie ausgewählter Flächenelektronenbeugungsmuster (SAED) mit 2k- oder 4k-Detektoren (SI Abschnitt 12). Darüber hinaus zeigen wir GPU-beschleunigtes 2D-Fitting und Beispiele simulierter Datensätze für das Training neuronaler Netze.

Wir haben einen Algorithmus demonstriert, der auf der Verwendung hypergeometrischer Funktionen basiert und 1D-Streudaten und 2D-Streumuster von Anordnungen geometrischer Objekte bis zu einem Faktor von > 105 schneller berechnet als herkömmliche numerische Integrationsschemata. Diese Beschleunigung ist möglich, weil hypergeometrische Funktionen effizient über Reihen- und asymptotische Entwicklungen berechnet werden können, die Entwicklungskoeffizienten über Rekursionsrelationen schnell berechnet werden können und q-unabhängig sind. Sie sind daher für jedes Pixel gleich und können vorberechnet und der (i,j)-Pixel-Berechnungsschleife bereitgestellt werden, wie im Algorithmus in Abb. 2 beschrieben. Über große q-Bereiche sind nur ein oder zwei Terme der Erweiterung sind notwendig, um die Streuintensitäten mit ausreichender Genauigkeit zu berechnen. Der Algorithmus ermöglicht die schnelle Berechnung von Streumustern einfacher und komplexer Objekte mit definierten räumlichen und Orientierungsverteilungen. Da die Berechnungen der Pixelstreuintensitäten voneinander unabhängig sind, kann die Berechnung für eine weitere signifikante Beschleunigung effizient in parallele Algorithmen für GPUs implementiert werden. Der Algorithmus ermöglicht die schnelle Berechnung großflächiger 2D-Streumuster und 1D-Streuungsdaten und ermöglicht eine Hochdurchsatzanpassung großer 1D- und 2D-Datensätze, eine spontane Datenanalyse zur Steuerung von Streuexperimenten und ein schnelles Training neuronaler Netze . Dadurch trägt es dazu bei, den Engpass bei der Datenanalyse für eine breite Anwendung bei der Strukturanalyse synthetischer und biologischer Materialien mithilfe von Röntgen-, Neutronen-, Licht- und Elektronenstreuungs- und -beugungsexperimenten zu beseitigen. Durch die deutliche Rechenzeitersparnis der Faktoren 105–107 wird darüber hinaus der für Green IT relevante Computer-Energieverbrauch deutlich reduziert.

Alle mathematischen und rechnerischen Methoden sind in den Hintergrundinformationen beschrieben. Wir stellen Mathematica- und C++-Quellcode zur Verifizierung und Beschreibung der Methoden zur Verfügung. Darüber hinaus stellen wir den vollständigen C++-Quellcode und eine kompilierte ausführbare Standalone-Software zur Verfügung. Unter https://github.com/neutron-simlab/CrystalScatter.

Der gesamte in diesem Artikel vorgestellte Code und die Ergebnisse sind Open Source und Open Access im zugehörigen GitHub-Repository unter https://github.com/neutron-simlab/CrystalScatter verfügbar.

Hamley, IW Kleinwinkelstreuung: Theorie, Instrumentierung, Daten und Anwendungen (Wiley, 2021).

Buchen Sie Google Scholar

Jeffries, M. et al. Kleinwinkel-Röntgen- und Neutronenstreuung. Nat. Rev. Methoden Prim. https://doi.org/10.1038/s43586-021-00064-9 (2021).

Artikel Google Scholar

Hura, GL et al. Robuste Lösungsstrukturanalysen mit hohem Durchsatz mittels Kleinwinkel-Röntgenstreuung (SAXS). Nat. Methoden 6, 606 (2009).

Artikel CAS Google Scholar

SasView-Software-Webseite: http://www.sasview.org/.

Do, C., Chen, W.-R. & Lee, S. Kleinwinkelstreuungsdatenanalyse unterstützt durch Methoden des maschinellen Lernens. Frau Adv. https://doi.org/10.1557/adv.2020.130 (2020).

Artikel Google Scholar

Feigin, LA & Svergun, DI Strukturanalyse durch Kleinwinkel-Röntgenstrahlung und Neutronenstreuung (Plenum Press, 1987).

Buchen Sie Google Scholar

Glatter, O. Eine neue Methode zur Auswertung von Kleinwinkelstreudaten. J. Appl. Kristall. 10, 415–421 (1977).

Artikel Google Scholar

Ruland, W. Die Auswertung der Kleinwinkelstreuung anisotroper lamellarer Zweiphasensysteme mittels Grenzflächenverteilungsfunktionen. Kolloidpolym. Wissenschaft. 256, 932–936 (1978).

Artikel Google Scholar

Jemian, PR & Allen, AJ Die Auswirkung der Formfunktion auf die Kleinwinkelstreuungsanalyse mit der Maximum-Entropie-Methode. J. Appl. Kristall. 27, 693–702 (1994).

Artikel CAS Google Scholar

Pedersen, JS Analyse von Kleinwinkelstreudaten aus Kolloiden und Polymerlösungen: Modellierung und Anpassung der kleinsten Quadrate. Adv. Kolloidschnittstellenwissenschaft. 70, 171–210 (1997).

Artikel CAS Google Scholar

Li, T., Senesi, AJ & Lee, B. Kleinwinkel-Röntgenstreuung für die Nanopartikelforschung. Chem. Rev. 116, 11128–11180 (2016).

Artikel CAS Google Scholar

Archibald, RK et al. Klassifizieren und Analysieren von Kleinwinkelstreuungsdaten mithilfe gewichteter k-nächster Nachbarn-Techniken des maschinellen Lernens. J. Appl. Kristall. 53, 326–334 (2020).

Artikel CAS Google Scholar

Kotlarchyk, M. & Chen, S.-H. Analyse von Kleinwinkel-Neutronenstreuspektren von polydispers wechselwirkenden Kolloiden. J. Chem. Physik. 79, 2461–2469 (1983).

Artikel ADS CAS Google Scholar

Förster, S. et al. Streukurven geordneter mesoskopischer Materialien. J. Phys. Chem. B 109, 1347–1360 (2005).

Artikel Google Scholar

Förster, S. & Burger, C. Streufunktionen polymerer Kern-Schale-Strukturen und ausgeschlossener Volumenketten. Macromolecules 31, 879–891 (1998).

Artikel ADS Google Scholar

Braaksma, BLJ Asymptotische Entwicklungen und analytische Fortsetzungen für eine Klasse von Barnes-Integralen. Kompositionen. Mathematik. 15, 239–341 (1962).

MATH Google Scholar

NIST Digitale Bibliothek mathematischer Funktionen: https://dlmf.nist.gov/15

Porod, G. Die Röntgenkleinwinkelstreuung von dichtgepackten kolloiden Systemen. Kolloid Z. 124, 83–114 (1951).

Artikel CAS Google Scholar

Bose, S. & Bragg, RH Kleinwinkel-Röntgenstreuung an orientierten ellipsoiden Hohlräumen in pyrolytischem Graphit. J. Appl. Physik. 49, 2816 (1978).

Artikel Google Scholar

Hamzeh, FM & Bragg, RH Kleinwinkelstreuung von Röntgenstrahlen aus Gruppen nicht zufällig orientierter Rotationsellipsoide geringer Konzentration. J. Appl. Physik. 45, 3189 (1974).

Artikel ADS Google Scholar

Giacovazzo, C. Grundlagen der Kristallographie (IUCr, 2011).

Buchen Sie Google Scholar

Förster, S. et al. Berechnung von Streumustern geordneter nano- und mesoskaliger Materialien. Adv. Kolloidschnittstellenwissenschaft. 163, 53–83 (2011).

Artikel Google Scholar

Sinha, SK, Sirota, EB, Garoff, S. & Stanley, HB Röntgen- und Neutronenstreuung von rauen Oberflächen. Physik. Rev. B 38, 2297 (1988).

Artikel ADS CAS Google Scholar

Hexemer, A. & Müller-Buschbaum, P. Fortgeschrittene Techniken des streifenden Einfalls für die moderne Materialanalyse weicher Materie. IUCrJ 2, 106–125 (2015).

Artikel CAS Google Scholar

Weidman, MC, Smilgies, D.-M. & Tisdale, WA Kinetik der Selbstorganisation nanokristalliner Übergitter, gemessen durch In-situ-Röntgenstreuung. Nat. Mater. 15, 775 (2016).

Artikel ADS CAS Google Scholar

Dresen, D. et al. Weder Kugel noch Würfel – Analyse der Partikelform mithilfe der Kleinwinkelstreuung und des Superball-Modells. J. Phys. Chem. C 125, 23356–23363 (2021).

Artikel CAS Google Scholar

Referenzen herunterladen

Wir danken für die Verwendung experimenteller Datensätze, die von Baohu Wu, Sascha Ehlert, Artem Feoktystov, Lisa Fruhner, Artur Feld, Agnes Weimer, Stephan Hauschild und Jörg Stellbrink zur Verfügung gestellt wurden.

Open-Access-Förderung ermöglicht und organisiert durch Projekt DEAL.

Jülich Centre for Neutron Science (JCNS-1/IBI-8), Forschungszentrum Jülich, 52425, Jülich, Germany

Michael Wagener & Stephan Förster

Institut für Physikalische Chemie, RWTH Aachen, 52074, Aachen, Deutschland

Stephan Förster

Sie können diesen Autor auch in PubMed Google Scholar suchen

Sie können diesen Autor auch in PubMed Google Scholar suchen

SF leitete das mathematische Konzept ab, entwickelte den Algorithmus und schrieb das Manuskript. MW hat den Algorithmus für CPUs und GPUs codiert.

Korrespondenz mit Stephan Förster.

Die Autoren geben an, dass keine Interessenkonflikte bestehen.

Springer Nature bleibt neutral hinsichtlich der Zuständigkeitsansprüche in veröffentlichten Karten und institutionellen Zugehörigkeiten.

Zusatzvideo 1.

Open Access Dieser Artikel ist unter einer Creative Commons Attribution 4.0 International License lizenziert, die die Nutzung, Weitergabe, Anpassung, Verbreitung und Reproduktion in jedem Medium oder Format erlaubt, sofern Sie den/die ursprünglichen Autor(en) und die Quelle angemessen angeben. Geben Sie einen Link zur Creative Commons-Lizenz an und geben Sie an, ob Änderungen vorgenommen wurden. Die Bilder oder anderes Material Dritter in diesem Artikel sind in der Creative-Commons-Lizenz des Artikels enthalten, sofern in der Quellenangabe für das Material nichts anderes angegeben ist. Wenn Material nicht in der Creative-Commons-Lizenz des Artikels enthalten ist und Ihre beabsichtigte Nutzung nicht gesetzlich zulässig ist oder über die zulässige Nutzung hinausgeht, müssen Sie die Genehmigung direkt vom Urheberrechtsinhaber einholen. Um eine Kopie dieser Lizenz anzuzeigen, besuchen Sie http://creativecommons.org/licenses/by/4.0/.

Nachdrucke und Genehmigungen

Wagener, M., Förster, S. Schnelle Berechnung von Streumustern mithilfe hypergeometrischer Funktionsalgorithmen. Sci Rep 13, 780 (2023). https://doi.org/10.1038/s41598-023-27558-8

Zitat herunterladen

Eingegangen: 22. Juni 2022

Angenommen: 04. Januar 2023

Veröffentlicht: 15. Januar 2023

DOI: https://doi.org/10.1038/s41598-023-27558-8

Jeder, mit dem Sie den folgenden Link teilen, kann diesen Inhalt lesen:

Leider ist für diesen Artikel derzeit kein Link zum Teilen verfügbar.

Bereitgestellt von der Content-Sharing-Initiative Springer Nature SharedIt

Durch das Absenden eines Kommentars erklären Sie sich damit einverstanden, unsere Nutzungsbedingungen und Community-Richtlinien einzuhalten. Wenn Sie etwas als missbräuchlich empfinden oder etwas nicht unseren Bedingungen oder Richtlinien entspricht, kennzeichnen Sie es bitte als unangemessen.