From 53b07f39f8c7b0ab2975b1d978b1be07c4ac4edc Mon Sep 17 00:00:00 2001 From: Celine Durniak <c.durniak@fz-juelich.de> Date: Thu, 10 Apr 2014 15:57:36 +0200 Subject: [PATCH] Documentation: Doxygen page about interference functions (text and figures), UserManual (modifications of ff.tex and interferences.tex) --- Core/Algorithms/inc/SimulationParameters.h | 1 + Doc/Doxygen/Figures/2Dlattice.png | Bin 0 -> 14420 bytes Doc/Doxygen/Figures/grating3D.png | Bin 0 -> 126532 bytes Doc/Doxygen/defgroups.doc | 101 ++++ Doc/UserManual/ff.tex | 642 +++++++-------------- Doc/UserManual/interferences.tex | 324 +++-------- 6 files changed, 402 insertions(+), 666 deletions(-) create mode 100644 Doc/Doxygen/Figures/2Dlattice.png create mode 100644 Doc/Doxygen/Figures/grating3D.png diff --git a/Core/Algorithms/inc/SimulationParameters.h b/Core/Algorithms/inc/SimulationParameters.h index 94199bce264..f54e4959f44 100644 --- a/Core/Algorithms/inc/SimulationParameters.h +++ b/Core/Algorithms/inc/SimulationParameters.h @@ -21,6 +21,7 @@ //! @class Simulation //! @ingroup simulation //! @brief Collect the different options for simulation +//! @ref SimulationParameters class BA_CORE_API_ SimulationParameters { diff --git a/Doc/Doxygen/Figures/2Dlattice.png b/Doc/Doxygen/Figures/2Dlattice.png new file mode 100644 index 0000000000000000000000000000000000000000..5d6627c44f668d93fb5c7cd052602d9db101fa0b GIT binary patch literal 14420 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 literal 0 HcmV?d00001 diff --git a/Doc/Doxygen/Figures/grating3D.png b/Doc/Doxygen/Figures/grating3D.png new file mode 100644 index 0000000000000000000000000000000000000000..87c3dc703685ace85c78d991a0c8e2710ecea24b GIT binary patch literal 126532 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 JPDHLkV1hM32?hWF literal 0 HcmV?d00001 diff --git a/Doc/Doxygen/defgroups.doc b/Doc/Doxygen/defgroups.doc index 134973e722b..718b84ca150 100644 --- a/Doc/Doxygen/defgroups.doc +++ b/Doc/Doxygen/defgroups.doc @@ -16,6 +16,107 @@ \defgroup interference Interference functions @brief Available interference functions. +Position of the problem +---------------------------------------------------------- +\note For collections of particles, the scattered intensity contains contributions from neighboring particles. This additional pattern can be called the structure factor, the interference function or even in crystallography, the lattice factor. In this manual, we use the term "interference function" or interferences. + +Interferences are closely related to the way the sample is described. For example, how are the particles distributed? Are they clustered by shapes and / or sizes? Or is the layout completely disordered? What is the distance between the particles? +Taking this kind of questions into account requires several features implemented in BornAgain. + +First we need some hypotheses in order to estimate the scattered intensity from the contributions of the form factors, the interferences and some possible correlations. Several options are available to determine the level of "coupling" between these terms: Decoupling approximation (DA), Local monodisperse approximation (LMA) or Size spacing correlation approximation (SSCA). \see SimulationParameters for a description. + +Let's now focus on the interference functions. + + +Interferences +---------------------------------------------------------- +\warning In BornAgain the particles are positioned in the same vertical layer. + + +The interference function is specified when building the sample. It is linked with the particles (shapes, materials). + +\b Syntax: + +\b particle\_layout.addInterferenceFunction(interference\_function), + + where \b particle\_layout holds the information about the different shapes and their proportions for a given layer of particles and \b interference\_function is one of the following expressions: + + + + +InterferenceFunctionNone() + +For very diluted distributions of particles, the particles are too far apart from each other to lead to any interference between the waves scattered by each of them. In this case the interference function is equal to 1. The scattered intensity is then entirely determined by the form factors of the particles distributed in the sample. + + + + +InterferenceFunction1DLattice (lattice\_length, \f$\xi\f$) + +where lattice\_length is the lattice constant and \f$\xi\f$ the angle between the lattice unit vector and the \b x axis of the GISAS setup. + +\warning InterferenceFunction1DLattice can only be used for particles which are infinitely long in one of sample surface's directions like, for example, a rectangular grating as illustrated in the figure below. + +@image html Figures/grating3D.png "Schematic 3D representation of a 1D lattice." + +\warning By default the long axis of the particles in this 1D lattice is along the beam axis: \f$\xi = 90^{\circ}\f$. + +A probability distribution function (pdf) is required in order to apply some modifications to the scattering peaks. This function is implemented using \b setProbabilityDistributions(pdf) (see end of this page for a short description). + + + + +InterferenceFunction1DParaCrystal (peak\_distance, width, corr\_length) + +where peak\_distance, width, corr\_length are the parameters characterizing the probability distribution function. + +\warning For this particular interference function, the implemented probability distribution function is Gaussian. + +\note A paracrystal allows fluctuations of the lengths and orientations of lattice vectors. Paracrystals can be defined as distorted crystals in which the crystalline order has not disappeared and for which the behavior of the interference functions at small angles is coherent. It is a transition between the regular lattice and the disordered state. + + + + + +InterferenceFunction2DLattice (L\_1, L\_2, \f$\alpha\f$, \f$\xi\f$) + +where +- L\_1, L\_2 the lengths of the lattice cell, +- \f$\alpha\f$ the angle between the lattice basis vectors \b a, \b b in direct space, +- \f$\xi\f$ is the angle defining the lattice orientation (set to 0 by default); it is taken as the angle between the \b a vector of the lattice basis and the \b x axis of the GISAS setup referential. (see an illustration in the figure below) + +@image html Figures/2Dlattice.png "Schematic representation of a 2D lattice (top view)." + +A probability distribution function (pdf) has to be defined. This function is implemented using \b setProbabilityDistributions(pdf). + + + + + +InterferenceFunction2DParaCrystal(L\_1, L\_2, lattice\_angle, \f$\xi\f$, correlation\_length) +where +- L\_1, L\_2 are the lengths of the lattice cell, +- lattice\_angle the angle between the lattice basis vectors \b a, \b b in direct space, +- \f$\xi\f$ is the angle defining the lattice orientation (set to 0 by default). + + +Two predefined interference functions for specific layouts of particles can be used: +- \b createSquare (peak\_distance, correlation\_length, domain\_size\_1, domain\_size\_2) +where the angle between the base vectors of the lattice is set to \f$\pi\f$/2. It creates a squared lattice +- \b createHexagonal (peak\_distance, correlation_length, domain\_size\_1, domain\_size\_2) +where the angle between the base vectors of the lattice is set to 2\f$\pi\f$/3, domain\_size1 and domain\_size2 are the dimensions of the paracrystal along the main axes, peak\_distance and correlation\_length are related to the probability distribution functions and are the same in both directions and \b a \f$\equiv\f$ \b x . + +Probability distribution functions have to be defined. As the two-dimensional paracrystal is defined from two independent 1D paracrystals, we need two of these functions, using \b setProbabilityDistributions(pdf\_1, pdf\_2) + + + +\note \b Probability \b distribution \b functions +\note The scattering by an ordered lattice gives rise to a series of Bragg peaks situated at the nodes of the reciprocal lattice. Any divergence from the ideal crystalline case modifies the output spectrum by, for example, widening or attenuating the Bragg peaks. The influence of these "defects" can be accounted for +\note - in direct space using correlation functions or by truncating the lattice or, +\note - in reciprocal space with structure factors or interference functions by convoluting the scattered pics with a function which could reproduce the experimental shapes. +\note The last option has been chosen in BornAgain. These functions can be used with all interference functions except the case without any interference and the one dimensional paracrystal, for which only the Gaussian case has already been implemented. + + \defgroup algorithms Algorithms @brief Additional routines. diff --git a/Doc/UserManual/ff.tex b/Doc/UserManual/ff.tex index 0691122f9bd..b7c7d1332a0 100644 --- a/Doc/UserManual/ff.tex +++ b/Doc/UserManual/ff.tex @@ -1,60 +1,7 @@ +%\newpage +%\chapter{Form factors} \SecLabel{appendixff} \chapter{Form factors} \label{appendixff} -Table~\ref{tab:formfactors} lists the particles shapes whose form -factors have been implemented in \BornAgain. - -\begin{table}[H] -\caption{Table of form factors implemented in \BornAgain.} \label{tab:formfactors} - \begin{tabulary} {0.95\textwidth}{Lc Lc L} -\hline -Shape & & Shape& & Shape \\ -\hline -Box,\SecRef{Box} & & Prism3, \SecRef{Prism3} & & Tetrahedron, \SecRef{Tetrahedron} \\ -\includegraphics[width=1in]{Figures/Box3d} & - & \includegraphics[width=1in]{Figures/Prism33d} & & -\includegraphics[width=1in]{Figures/Tetrahedron3d} -\\ -\hline -Prism6, \SecRef{Prism6} & & Cone6, \SecRef{Cone6} & & Pyramid, \SecRef{Pyramid} \\ -\includegraphics[width=1in]{Figures/Prism63d} & & - \includegraphics[width=1in]{Figures/Cone63d} & & -\includegraphics[width=1in]{Figures/Pyramid3d} -\\ -\hline - Anisotropic pyramid, \SecRef{AnisoPyramid} & & Cuboctahedron, - \SecRef{Cuboctahedron} & & Cylinder, \SecRef{Cylinder} \\ -\includegraphics[width=1in]{Figures/AnistropicPyramid3d} & - & \includegraphics[width=1in]{Figures/Cuboctahedron3d} & & -\includegraphics[width=1in]{Figures/Cylinder3d}\\ -\hline -\end{tabulary} -\end{table} - - -\begin{table}[H] - \begin{tabulary} {0.95\textwidth}{Lc Lc L} -\hline -Shape & & Shape & & Shape \\ -\hline -Ellipsoidal cylinder, \SecRef{EllipsoidalCylinder} & & Cone, -\SecRef{Cone} & & Full Sphere, \SecRef{FullSphere} \\ -\includegraphics[width=1in]{Figures/EllipsoidalCylinder3d} & -& \includegraphics[width=1in]{Figures/Cone3d} -& & \includegraphics[width=1in]{Figures/FullSphere3d} \\ -\hline -Truncated Sphere, \SecRef{Sphere} & & Full Spheroid, -\SecRef{FullSpheroid} & & Truncated Spheroid, \SecRef{Spheroid} \\ -\includegraphics[width=1in]{Figures/Sphere3d} & & -\includegraphics[width=1in]{Figures/FullSpheroid3d} & & -\includegraphics[width=1in]{Figures/Spheroid3d} \\ -\hline - Hemi Ellipsoid, \SecRef{HemiEllipsoid} & & Ripple1, \SecRef{Ripple1} & & Ripple2, \SecRef{Ripple2} \\ -\includegraphics[width=1in]{Figures/HemiEllipsoid3d} & & -\includegraphics[width=1in]{Figures/Ripple13d} & -& \includegraphics[width=1in]{Figures/Ripple23d} \\ -\hline -\end{tabulary} -\end{table} In \BornAgain\ the form factor is defined as \begin{equation} @@ -80,8 +27,8 @@ The particles can be rotated in a different direction by using one of the following transformations: \Code{CreateRotateX($\theta$), CreateRotateY($\theta$), CreateRotateZ($\theta$)}, where capital X, Y, Z mark rotations around the associated axis and $\theta$ is the -angle of rotation from this axis. For example, in order to rotate a pyramid by $45^{\circ}$ around -$z$-axis, the user could use the following \Code{Python}\ script:\\ +angle of rotation from this axis. For example, the following \Code{Python}\ script shows how to rotate a pyramid by $45^{\circ}$ around +the $z$-axis:\\ \begin{lstlisting}[language=python, style=eclipseboxed,numbers=none,nolol] pyramid_ff = FormFactorPyramid(10*nanometer, 5*nanometer, deg2rad(54.73 ) ) @@ -92,73 +39,56 @@ $z$-axis, the user could use the following \Code{Python}\ script:\\ particle_layout.addParticle(pyramid, transform) \end{lstlisting} -\newpage -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%\section{Parallelepiped} \SecLabel{Parallelepiped} - -%\subsection{Real-space geometry} -%This shape is a square cuboid (see fig.~\ref{fig:parallelepiped}). - -%\begin{figure}[ht] -%\hfill -%\subfigure[Side view]{\includegraphics[width=5cm]{Figures/Parallelepiped2dxz}} -%\hfill -%\subfigure[Top view]{\includegraphics[width=5cm]{Figures/Parallelepiped2dxy}} -%\hfill -%\caption{Sketch of a Parallelepiped.} -%\label{fig:parallelepiped} -%\end{figure} - -%\FloatBarrier - -%\paragraph{Parameters:} -%\begin{itemize} -%\item length of one side of the square base $L$, -%\item height $H$. -%\end{itemize} - -%\paragraph{Properties:} -%\begin{itemize} -%\item volume $V= L^2 H$, -%\item particle surface seen from above $S =L^2$. -%\end{itemize} - -%\subsection{Expression of the form factor} -%\begin{equation*} -%F_{\rm{Parallelepiped}}(\mathbf{q},L, H) = L^2 H\exp\left(i q_z \frac{H}{2}\right) \sinc\left(q_x\frac{L}{2}\right) -%\sinc\left(q_y\frac{L}{2}\right)\sinc\left(q_z \frac{H}{2}\right), -%\end{equation*} -%where $\sinc(x)=\sin(x)/x$ is the cardinal sine. - -%\paragraph{Syntax:} \Code{FormFactorParallelepiped(length, height)} - -%\newpage - -%\subsection{Examples} - -%Figure~\ref{fig:FFparallelEx} shows the normalized intensity -%$|F|^2/V^2$, computed with $L=7$~nm and \mbox{$H=15$~nm.} - -%\begin{figure}[h] -%\begin{center} -%\includegraphics[width=\textwidth]{Figures/figffparallel} -%\end{center} -%\caption{Normalized intensity for the form factor of a Parallelepiped -% $|F|^2/V^2$, plotted against ($q_z$, $q_y$) and ($q_x$, $q_y$) and computed with $L=7$~nm and $H=15$~nm.} -%\label{fig:FFparallelEx} -%\end{figure} +Table~\ref{tab:formfactors} lists the particles shapes whose form +factors have been implemented in \BornAgain. -%\FloatBarrier +\begin{table}[H] +\caption{Table of form factors implemented in \BornAgain.} \label{tab:formfactors} + \begin{tabulary} {\textwidth}{Lc Lc L c L} +%\hline +%Shape & & Shape& & Shape \\ +\hline +Box,\phantom{-} \SecRef{Box} & & Prism3, \SecRef{Prism3} & & Tetrahedron, \SecRef{Tetrahedron} & & Prism6, \SecRef{Prism6}\\ +\includegraphics[width=1in]{Figures/Box3d} & & +\includegraphics[width=1in]{Figures/Prism33d} & & +\includegraphics[width=1in]{Figures/Tetrahedron3d} & & +\includegraphics[width=1in]{Figures/Prism63d} +\\ +\hline +Cone6, \SecRef{Cone6} & & Pyramid, \SecRef{Pyramid} & & Anisotropic pyramid, \SecRef{AnisoPyramid} & & {Cuboctahedron}, \SecRef{Cuboctahedron}\\ +\includegraphics[width=1in]{Figures/Cone63d} & & +\includegraphics[width=1in]{Figures/Pyramid3d} & & +\includegraphics[width=1in]{Figures/AnistropicPyramid3d} & & +\includegraphics[width=1in]{Figures/Cuboctahedron3d} +\\ +\hline +Cylinder, \SecRef{Cylinder} & & Ellipsoidal cylinder, \SecRef{EllipsoidalCylinder} & & Cone,\phantom{--} \SecRef{Cone} & & Full Sphere, \SecRef{FullSphere} \\ +\includegraphics[width=1in]{Figures/Cylinder3d} & & +\includegraphics[width=1in]{Figures/EllipsoidalCylinder3d} & & +\includegraphics[width=1in]{Figures/Cone3d} & & +\includegraphics[width=1in]{Figures/FullSphere3d} \\ +\hline +Truncated Sphere, \SecRef{Sphere} & & Full Spheroid, \SecRef{FullSpheroid} & & Truncated Spheroid, \SecRef{Spheroid} & & Hemi Ellipsoid, \SecRef{HemiEllipsoid}\\ +\includegraphics[width=1in]{Figures/Sphere3d} & & +\includegraphics[width=1in]{Figures/FullSpheroid3d} & & +\includegraphics[width=1in]{Figures/Spheroid3d} & & +\includegraphics[width=1in]{Figures/HemiEllipsoid3d}\\ +\hline +Ripple1, \SecRef{Ripple1} & & Ripple2, \SecRef{Ripple2}& & & & \\ +\includegraphics[width=1in]{Figures/Ripple13d} & & +\includegraphics[width=1in]{Figures/Ripple23d} & & & & \\ +\hline +\end{tabulary} +\end{table} -%\newpage{\cleardoublepage} +\newpage{\cleardoublepage} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Box} \SecLabel{Box} -\subsection{Real-space geometry} +\paragraph{Real-space geometry}\mbox{}\\ This shape is a rectangular cuboid as shown in fig.~\ref{fig:box}. - \begin{figure}[ht] \hfill \subfigure[Side view]{\includegraphics[width=5cm]{Figures/Box2dxz}} @@ -171,7 +101,6 @@ shown in fig.~\ref{fig:box}. \FloatBarrier - \paragraph{Parameters:} \begin{itemize} \item length of the base $L$, @@ -186,44 +115,39 @@ shown in fig.~\ref{fig:box}. %\item radius of gyration \end{itemize} -\subsection{Expression of the form factor} - +\paragraph{Expression of the form factor} \begin{equation*} -F_{\rm{Box}}(\mathbf{q},L,W,H)= L W H\exp\left(i q_z \frac{H}{2}\right) \sinc\left(q_x \frac{L}{2}\right) +F(\mathbf{q},L,W,H)= L W H\exp\left(i q_z \frac{H}{2}\right) \sinc\left(q_x \frac{L}{2}\right) \sinc\left(q_y \frac{W}{2}\right) \sinc\left(q_z \frac{H}{2}\right), \end{equation*} - + where $\sinc(x)=\sin(x)/x$ is the cardinal sine. \paragraph{Syntax:} \Code{FormFactorBox(length, width, height)} \newpage -\subsection{Examples} +\paragraph{Example}\mbox{}\\ Figure~\ref{fig:FFBoxEx} shows the normalized intensity -$|F|^2/V^2$, computed with $L=20$~nm, $W=16$~nm, $H=13$~nm, and -$\alpha=60^{\circ}$: +$|F|^2/V^2$, computed with $L=20$~nm, $W=16$~nm, and $H=13$~nm: \begin{figure}[h] \begin{center} \includegraphics[width=\textwidth]{Figures/figffbox} \end{center} -\caption{Normalized intensity for the form factor of a Box - $|F|^2/V^2$, plotted against ($q_z$, $q_y$) and ($q_x$, $q_y$) and computed with $L=20$~nm, $W=16$~nm, and $H=13$~nm.} +\caption{Normalized intensity for the form factor of a Box plotted against ($q_y$, $q_z$) and ($q_x$, $q_y$) and computed with \Code{FormFactorBox(20.*nanometer, 16.*nanometer, 13.*nanometer)}.} \label{fig:FFBoxEx} \end{figure} \FloatBarrier - %\subsection{References} %\BornAgain\ uses a different convention for the parameters in comparison with \Code{IsGISAXS}, where the half length %values are used (see fig.~\ref{box}). - \newpage{\cleardoublepage} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Prism3} \SecLabel{Prism3} - -\subsection{Real-space geometry} + +\paragraph{Real-space geometry}\mbox{}\\ This shape is a triangular prism, whose base is an equilateral triangle as shown in fig.~\ref{fig:prism3}. @@ -249,21 +173,20 @@ triangle as shown in fig.~\ref{fig:prism3}. \begin{itemize} \item volume $V= \dfrac{\sqrt{3}}{4} H L^2$, \item particle surface seen from above $S =\dfrac{\sqrt{3}}{4}L^2$. -%\item radius of gyration. + \end{itemize} -\subsection{Expression of the form factor} +\paragraph{Expression of the form factor} \begin{align*} -F_{\rm{Prism3}}(\mathbf{q},L, H) &= \frac{2 \sqrt{3}}{q_x^2-3q_y^2} \exp\left(-i q_y\frac{L}{2\sqrt{3}}\right)\left[\exp\left(i \sqrt{3} q_y \frac{L}{2} \right)-\cos\left(q_x \frac{L}{2}\right)-i \sqrt{3} q_y \frac{L}{2} \sinc\left(q_x \frac{L}{2}\right) \right] \\ +F(\mathbf{q},L, H) &= \frac{2 \sqrt{3}}{q_x^2-3q_y^2} \exp\left(-i q_y\frac{L}{2\sqrt{3}}\right)\left[\exp\left(i \sqrt{3} q_y \frac{L}{2} \right)-\cos\left(q_x \frac{L}{2}\right)-i \sqrt{3} q_y \frac{L}{2} \sinc\left(q_x \frac{L}{2}\right) \right] \\ & \times H \sinc\left(q_z \frac{H}{2} \right) \exp\left(i q_z \frac{H}{2}\right), \end{align*} where $\sinc(x)=\sin(x)/x$ is the cardinal sine. +\paragraph{Syntax:} \Code{FormFactorPrism3(length, height)} -\paragraph{Syntax:} \Code{FormFactorPrism3(length, height)} - -\subsection{Examples} +\paragraph{Example}\mbox{}\\ Figure~\ref{fig:FFprism3Ex} shows the normalized intensity $|F|^2/V^2$, computed with $L=10$~nm and \mbox{$H=13$~nm.} \begin{figure}[h] @@ -271,8 +194,8 @@ $|F|^2/V^2$, computed with $L=10$~nm and \mbox{$H=13$~nm.} \includegraphics[width=\textwidth]{Figures/figffprism3} \end{center} \caption{Normalized intensity for the form factor of a Prism3 - $|F|^2/V^2$, plotted against ($q_z$, $q_y$) and ($q_x$, $q_y$) and - computed with $L=10$~nm and $H=13$~nm.} + plotted against ($q_y$, $q_z$) and ($q_x$, $q_y$) and + computed with \Code{FormFactorPrism3(10.*nanometer, 13.*nanometer)}.} \label{fig:FFprism3Ex} \end{figure} @@ -280,12 +203,11 @@ $|F|^2/V^2$, computed with $L=10$~nm and \mbox{$H=13$~nm.} %In the $x,y$ plane , we use the full side length of the triangular %base instead of half as implemented in \Code{IsGISAXS}: $L= 2 %R_{\rm{\Code{IsGISAXS}}}$. - \newpage{\cleardoublepage} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Tetrahedron} \SecLabel{Tetrahedron} -\subsection{Real-space geometry} +\paragraph{Real-space geometry}\mbox{}\\ This shape is a truncated tetrahedron as shown in fig.~\ref{fig:tetrahedron}. \begin{figure}[ht] @@ -311,21 +233,21 @@ This shape is a truncated tetrahedron as shown in fig.~\ref{fig:tetrahedron}. side faces, taken in the middle of the base lines. \end{itemize} -\paragraph{Restrictions on the parameters:} $\dfrac{H}{L}< \dfrac{\tan{\alpha}}{2\sqrt{3}}$. +\paragraph{Restrictions on the parameters:} +$\dfrac{H}{L}< \dfrac{\tan{\alpha}}{2\sqrt{3}}$. \paragraph{Properties:} \begin{itemize} -\item volume $V= \dfrac{\tan(\alpha)}{24} L^3\Big[1- (1 - - \sqrt{3}\dfrac{2H}{L \tan(\alpha)} )^3\Big]$, +\item volume $V= \dfrac{\tan(\alpha) L^3}{24} \left[1- \left(1 - + \dfrac{2\sqrt{3} H}{L \tan(\alpha)} \right)^3\right]$, \item particle surface seen from above $S =\dfrac{\sqrt{3}}{4}L^2$. -%\item radius of gyration \end{itemize} -\subsection{Expression of the form factor} +\paragraph{Expression of the form factor} \begin{align*} -&F_{\rm{Tetrahedron}} (\mathbf{q}, L, H, \alpha)=\frac{\sqrt{3}H}{q_x (q_x^2-3q_y^2)} -\exp\left(iq_z \frac{L}{2\tan (\alpha)\sqrt{3}}\right) \times \\ +&F(\mathbf{q}, L, H, \alpha)=\frac{\sqrt{3}H}{q_x (q_x^2-3q_y^2)} +\exp\left(i\frac{q_z L}{2\tan (\alpha)\sqrt{3}}\right) \times \\ &\Big\{2q_x \exp(iq_3 D)\sinc(q_3 H) - (q_x +\sqrt{3}q_y) \exp(iq_1 D)\sinc(q_1 D) -(q_x-\sqrt{3}q_y)\exp(-iq_2 D)\sinc(q_2 H) \Big\}, @@ -340,7 +262,7 @@ q_3 = \frac{q_y}{\tan \alpha} -\frac{q_z}{2}, \quad D = \frac{L \tan \alpha}{\sq \paragraph{Syntax:} \Code{FormFactorTetrahedron(length, height, alpha)} -\subsection{Examples} +\paragraph{Example}\mbox{}\\ Figure~\ref{fig:FFtetrahEx} shows the normalized intensity $|F|^2/V^2$, computed with $L=15$~nm, $H=6$~nm and $\alpha =60 ^{\circ}$. @@ -350,26 +272,17 @@ $|F|^2/V^2$, computed with $L=15$~nm, $H=6$~nm and $\alpha =60 \includegraphics[width=\textwidth]{Figures/figfftetrahedron} \end{center} \caption{Normalized intensity for the form factor of a Tetrahedron - $|F|^2/V^2$, plotted against ($q_z$, $q_y$) and ($q_x$, $q_y$) and - computed with $L=15$~nm, $H=6$~nm and $\alpha=60^{\circ}$.} + plotted against ($q_y$, $q_z$) and ($q_x$, $q_y$) and + computed with \Code{FormFactorTetrahedron(15.*nanometer, 6.*nanometer, 60.*degree)}.} \label{fig:FFtetrahEx} \end{figure} \FloatBarrier - -%\subsection{References} -%In \Code{IsGISAXS}, factor 1/sqrt(3) instead of sqrt(3) in the -%expression of the form factor. When running the software, there is -%also a problem with this form factor. -%In the $x,y$ plane , we use the full side length of the triangular -%base instead of half as implemented in \Code{IsGISAXS}: $L= 2 -%R_{\rm{\Code{IsGISAXS}}}$. - \newpage{\cleardoublepage} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Prism6} \SecLabel{Prism6} -\subsection{Real-space geometry} +\paragraph{Real-space geometry}\mbox{}\\ This shape is an hexagonal prism (see fig.~\ref{fig:prism6}). \begin{figure}[ht] @@ -394,12 +307,11 @@ This shape is an hexagonal prism (see fig.~\ref{fig:prism6}). \begin{itemize} \item volume $V = \dfrac{3\sqrt{3}}{2}H R^2$, \item particle surface seen from above $S =\dfrac{3\sqrt{3}R^2}{2}$. -%\item radius of gyration. \end{itemize} -\subsection{Expression of the form factor} +\paragraph{Expression of the form factor} \begin{align*} -F_{\rm{Prism6}}(\mathbf{q}, R, H) &= \frac{4H\sqrt{3}}{3q_y^2 - q_x^2} +F(\mathbf{q}, R, H) &= \frac{4H\sqrt{3}}{3q_y^2 - q_x^2} \sinc\left(q_z\frac{H}{2}\right) \exp\left(-i q_z\frac{ H}{2}\right)\times\\ &\left\{\frac{3q_y^2R^2}{4} \sinc\left(\frac{q_x R}{2}\right)\sinc\left(\frac{\sqrt{3}q_yR }{2}\right)+ \cos(q_x R)-\cos\left(q_y @@ -409,7 +321,9 @@ with $\sinc(x)=\sin(x)/x$. \paragraph{Syntax:} \Code{FormFactorPrism6(radius, height)} -\subsection{Examples} +\newpage + +\paragraph{Example}\mbox{}\\ Figure~\ref{fig:FFprism6Ex} shows the normalized intensity $|F|^2/V^2$, computed with $R=5$~nm and \mbox{$H=11$~nm.} @@ -417,8 +331,7 @@ $|F|^2/V^2$, computed with $R=5$~nm and \mbox{$H=11$~nm.} \begin{center} \includegraphics[width=\textwidth]{Figures/figffprism6} \end{center} -\caption{Normalized intensity for the form factor of a Prism6 - $|F|^2/V^2$, plotted against ($q_z$, $q_y$) and ($q_x$, $q_y$) and computed with $R=5$~nm and $H=11$~nm.} +\caption{Normalized intensity for the form factor of a Prism6 plotted against ($q_y$, $q_z$) and ($q_x$, $q_y$) and computed with \Code{FormFactorPrism6(5.*nanometer, 11.*nanometer)}.} \label{fig:FFprism6Ex} \end{figure} @@ -429,12 +342,11 @@ $|F|^2/V^2$, computed with $R=5$~nm and \mbox{$H=11$~nm.} %\Code{IsGISXAXS}. In \BornAgain\, we use $R = 2/\sqrt{3}R_{\text{\Code{IsGiSaXs}}}$. %A factor $H$ is missing in the expression of the form factor given in %\Code{IsGISAXS}'s manual. - \newpage{\cleardoublepage} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Cone6} \SecLabel{Cone6} -\subsection{Real-space geometry} +\paragraph{Real-space geometry}\mbox{}\\ It is a truncated hexagonal pyramid (see fig.~\ref{fig:cone6}). \begin{figure}[ht] @@ -452,7 +364,6 @@ It is a truncated hexagonal pyramid (see fig.~\ref{fig:cone6}). \FloatBarrier - \paragraph{Parameters:} \begin{itemize} \item radius of the regular hexagonal base $R$, @@ -461,24 +372,24 @@ It is a truncated hexagonal pyramid (see fig.~\ref{fig:cone6}). the middle of a base length. \end{itemize} -\paragraph{Restrictions on the parameters:} $\dfrac{2H}{\sqrt{3}R}< \tan{\alpha}$. +\paragraph{Restrictions on the parameters:} +$\dfrac{2H}{\sqrt{3}R}< \tan{\alpha}$. \paragraph{Properties:} \begin{itemize} -\item volume $V = \dfrac{3}{4} \tan(\alpha) R^3 \Big[ - 1 - \big(1- \dfrac{2H}{ \tan(\alpha) R\sqrt{3}}\big)^3 - \Big]$, +\item volume $V = \dfrac{3}{4} \tan(\alpha) R^3 \left[ + 1 - \left(1- \dfrac{2H}{ \tan(\alpha) R\sqrt{3}}\right)^3 + \right]$, \item particle surface seen from above $S =\dfrac{3\sqrt{3}R^2}{2}$. -%\item radius of gyration \end{itemize} -\subsection{Expression of the form factor} +\paragraph{Expression of the form factor}\mbox{}\\ The calculation can be derived from ``Prism6'' (\SecRef{Prism6}) by considering a side length varying with the vertical position: \begin{align*} -F_{\rm{Cone6}}(\mathbf{q}, R, H, \alpha) &= \frac{4\sqrt{3}}{3q_y ^2 - q_x^2}\int_0 ^H \exp(iq_z z) +F(\mathbf{q}, R, H, \alpha) = \frac{4\sqrt{3}}{3q_y ^2 - q_x^2}\int_0 ^H &\exp(iq_z z) \Big[\frac{3}{4}R_z^2q_y^2 \sinc\left(\frac{q_xR_z}{2}\right)\sinc\left(\frac{\sqrt{3}q_y R_z}{2}\right)\\ &+\cos(q_xR_z)-\cos\left(\frac{\sqrt{3}q_y R_z}{2}\right)\cos\left(\frac{q_xR_z}{2}\right) \Big]dz @@ -487,7 +398,7 @@ with $R_z=R-\dfrac{2z}{\sqrt{3}\tan(\alpha)}$ and $\sinc(x)=\sin(x)/x$. \paragraph{Syntax:} \Code{FormFactorCone6(radius,height, alpha)} -\subsection{Examples} +\paragraph{Example}\mbox{}\\ Figure~\ref{fig:FFCone6Ex} shows the normalized intensity $|F|^2/V^2$, computed with $R=10$~nm, $H=13$~nm, and $\alpha=60^{\circ}$. @@ -496,23 +407,17 @@ $\alpha=60^{\circ}$. \begin{center} \includegraphics[width=\textwidth]{Figures/figffcone6} \end{center} -\caption{Normalized intensity for the form factor of a Cone6 $|F|^2/V^2$, plotted against ($q_z$, $q_y$) and ($q_x$, $q_y$) and computed with $R=10$~nm, $H=13$~nm, and $\alpha=60^{\circ}$.} +\caption{Normalized intensity for the form factor of a Cone6 plotted against ($q_y$, $q_z$) and ($q_x$, $q_y$) and computed with \Code{FormFactorCone6(10.*nanometer,13.*nanometer, 60.*degree)}.} \label{fig:FFCone6Ex} \end{figure} - \FloatBarrier -%\subsection{References} -%The convention of the base length is different -%from the one implemented in \Code{IsGISAXS}: $R = -%2/\sqrt{3}R_{\text{\Code{IsGiSAXS}}}$. - \newpage{\cleardoublepage} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Pyramid}\SecLabel{Pyramid} -\subsection{Real-space geometry} +\paragraph{Real-space geometry}\mbox{}\\ This shape is a truncated pyramid with a square base as shown in fig.~\ref{fig:pyramid}. \begin{figure}[ht] @@ -527,7 +432,6 @@ This shape is a truncated pyramid with a square base as shown in fig.~\ref{fig: \FloatBarrier -%\par \paragraph{Parameters:} \begin{itemize} \item length of one side of the square base $L$, @@ -536,19 +440,18 @@ This shape is a truncated pyramid with a square base as shown in fig.~\ref{fig: side faces, taken in the middle of the base lines. \end{itemize} -\paragraph{Restrictions on the parameters:} $\dfrac{2H}{L} < \tan(\alpha)$. +\paragraph{Restrictions on the parameters:} $\dfrac{2H}{L} < \tan(\alpha)$. \paragraph{Properties:} \begin{itemize} -\item volume $V = \dfrac{1}{6} \tan(\alpha) L^3\Big[ 1 - - \big(1 - \dfrac{2H}{\tan(\alpha)L}\big)^3 \Big],$ +\item volume $V = \dfrac{1}{6} \tan(\alpha) L^3\left[ 1 + - \left(1 - \dfrac{2H}{\tan(\alpha)L}\right)^3 \right],$ \item particle surface seen from above $S = L^2$. -%\item gyration radius along $z$ axis $R_g = \sqrt{2}R$ \end{itemize} -\subsection{Expression of the form factor} +\paragraph{Expression of the form factor} \begin{align*} -&F_{\rm{Pyramid}}(\mathbf{q},L, H, \alpha) = +&F(\mathbf{q},L, H, \alpha) = \frac{H}{q_x q_y} \times \nonumber \\ &\left\{ K_1 \cos\left[ (q_x-q_y)\frac{L}{2} \right] + K_2 \sin\left[ (q_x-q_y)\frac{L}{2} \right] - K_3 \cos\left[ (q_x+q_y) \frac{L}{2} \right] - K_4 \sin\left[ (q_x+q_y)\frac{L}{2} \right]\right\}, @@ -565,7 +468,7 @@ with $\sinc(x)=\sin(x)/x$, \paragraph{Syntax:} \Code{FormFactorPyramid(length, height, alpha)} -\subsection{Examples} +\paragraph{Examples} Figure~\ref{fig:FFPyramidEx} shows the normalized intensity $|F|^2/V^2$, computed with $L=18$~nm, $H=13$~nm and $\alpha=60^{\circ}$. @@ -575,26 +478,23 @@ $\alpha=60^{\circ}$. \includegraphics[width=\textwidth]{Figures/figffpyramid} \end{center} \caption{Normalized intensity for the form factor of a - pyramid $|F|^2/V^2$, plotted against ($q_z$, $q_y$) and - ($q_x$, $q_y$) and computed with $L=18$~nm and $H=13$~nm, and $\alpha=60^{\circ}$.} + pyramid plotted against ($q_y$, $q_z$) and + ($q_x$, $q_y$) and computed with \Code{FormFactorPyramid(18.*nanometer, 13.*nanometer, 60.*degree)}.} \label{fig:FFPyramidEx} \end{figure} \FloatBarrier - %\subsection{References} %The output of equation~(\ref{eq:ffpyramid}) agrees with the \lq\lq %pyramid\rq\rq ~form factor of \IsGISAXS~\cite{Laz02}. - %In \BornAgain\, the base of the pyramid is characterized by the full %length of one of its side and not by half this value: $L=2R_{\rm{\Code{IsGISXAXS}}}$. %Pyramid: problem with signs of K2 and K4 - \newpage{\cleardoublepage} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Anisotropic pyramid} \SecLabel{AnisoPyramid} -\subsection{Real-space geometry} +\paragraph{Real-space geometry}\mbox{}\\ This shape is a truncated right pyramid with a rectangular base as shown in fig.~\ref{fig:anisopyramid}. @@ -604,7 +504,7 @@ shown in fig.~\ref{fig:anisopyramid}. \hfill \subfigure[Top view]{\includegraphics[width=5cm]{Figures/AnisoPyramid2dxy.eps}} \hfill -\caption{Sketch of an Anisotropic Pyramid. } +\caption{Sketch of an Anisotropic Pyramid.} \label{fig:anisopyramid} \end{figure} @@ -626,12 +526,11 @@ shown in fig.~\ref{fig:anisopyramid}. \item volume $V= H \Big[LW - \dfrac{(L + W)H}{\tan(\alpha)} + \dfrac{4}{3} \dfrac{H^2}{\tan^2(\alpha)}\Big]$, \item particle surface seen from above $S = LW$. -%\item radius of gyration \end{itemize} -\subsection{Expression of the form factor} +\paragraph{Expression of the form factor} \begin{align*} -&F_{\rm{AnisoPyramid}}(\mathbf{q}, L, W, H, \alpha)= +&F(\mathbf{q}, L, W, H, \alpha)= \frac{H}{q_xq_y} \times \\ &\Big\{ K_1\cos\Big(q_x \frac{L}{2} -q_y \frac{W}{2}\Big)+ K_2 \sin \Big (q_x @@ -651,7 +550,7 @@ q_3 &= \frac{1}{2}\left[\frac{q_x +q_y}{\tan \alpha} +q_z \right] , \quad q_4 = \paragraph{Syntax:} \Code{FormFactorAnisoPyramid(length, width, height, alpha)} -\subsection{Examples} +\paragraph{Example}\mbox{}\\ Figure~\ref{fig:FFAnisoPyramidEx} shows the normalized intensity $|F|^2/V^2$, computed with $L=20$~nm, $W=16$~nm, $H=13$~nm, and $\alpha=60^{\circ}$. @@ -661,8 +560,7 @@ $\alpha=60^{\circ}$. \includegraphics[width=\textwidth]{Figures/figffanisopyramid} \end{center} \caption{Normalized intensity for the form factor of an anisotropic - pyramid $|F|^2/V^2$, plotted against ($q_z$, $q_y$) and ($q_x$, $q_y$) and computed with $L=20$~nm, $W=16$~nm, $H=13$~nm, - and $\alpha=60^{\circ}$.} + pyramid $|F|^2/V^2$, plotted against ($q_y$, $q_z$) and ($q_x$, $q_y$) and computed with \Code{FormFactorAnisoPyramid(20.*nanometer, 16.*nanometer, 60.*degree)}.} \label{fig:FFAnisoPyramidEx} \end{figure} @@ -674,16 +572,17 @@ $\alpha=60^{\circ}$. %But \BornAgain\ uses a different convention of the parameters relative %to the base. We input the full length and width instead of half values. %Condition on the parameters: -%Should not it be: H/R < tan(alpha) and H/W < tan(alpha) instead of H/R < tan(alpha) and W/R < tan(alpha) where H is the height and R, W the side-lengths of the rectangular base? +%Should not it be: H/R < tan(alpha) and H/W < tan(alpha) instead of H/R < tan(alpha) and +%W/R < tan(alpha) where H is the height and R, W the side-lengths of the rectangular base? \newpage{\cleardoublepage} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Cuboctahedron} \SecLabel{Cuboctahedron} -\subsection{Real-space geometry} +\paragraph{Real-space geometry}\mbox{}\\ It is a combination of two pyramids with square bases, as shown in fig.~\ref{fig:cuboctahedron}: the bottom one is upside down with an height $H$ and the top one has the opposite -orientation (the standard one) and an height $r_H H$. +orientation (the standard one) and an height $r_H \times H$. \begin{figure}[ht] \hfill @@ -716,12 +615,11 @@ orientation (the standard one) and an height $r_H H$. - \Big(1 - \dfrac{2 r_H H}{L\tan(\alpha) }\Big)^3\Big]$, \item particle surface seen from above $S =L^2$. -%\item radius of gyration \end{itemize} -\subsection{Expression of the form factor} +\paragraph{Expression of the form factor} \begin{equation*} -F_{\rm{Cuboctahedron}}(\mathbf{q}, L, H, r_H, \alpha)=\exp(iq_z +F(\mathbf{q}, L, H, r_H, \alpha)=\exp(iq_z H)\Big[F_{\rm{Pyramid}}(q_x,q_y, q_z, L, r_H H, \alpha)+F_{\rm{Pyramid}}(q_x, q_y, -q_z, L, H, \alpha))\Big] \end{equation*} @@ -729,14 +627,13 @@ H)\Big[F_{\rm{Pyramid}}(q_x,q_y, q_z, L, r_H H, \paragraph{Syntax:} \Code{FormFactorCuboctahedron(length, height, height\_ratio, alpha)} -\subsection{Examples} +\paragraph{Example}\mbox{}\\ Figure~\ref{fig:FFcuboctahEx} shows the normalized intensity $|F|^2/V^2$, computed with $L=20$~nm, $H=13$~nm, $r_H=0.7$, and $\alpha=60^{\circ}$. \begin{figure}[h] \begin{center} \includegraphics[width=\textwidth]{Figures/figffcuboctah} \end{center} -\caption{Normalized intensity for the form factor of a cuboctahedron $|F|^2/V^2$, plotted against ($q_z$, $q_y$) and ($q_x$, $q_y$) and computed with $L=20$~nm, $H=13$~nm, - $r_H=0.7$, and $\alpha=60^{\circ}$.} +\caption{Normalized intensity for the form factor of a cuboctahedron plotted against ($q_y$, $q_z$) and ($q_x$, $q_y$) and computed with \Code{FormFactorCuboctahedron(20.*nanometer, 13.*nanometer, 0.7, 60.*degree)}.} \label{fig:FFcuboctahEx} \end{figure} @@ -751,7 +648,7 @@ Figure~\ref{fig:FFcuboctahEx} shows the normalized intensity $|F|^2/V^2$, comput %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Cylinder} \SecLabel{Cylinder} -\subsection{Real-space geometry} +\paragraph{Real-space geometry}\mbox{}\\ This shape is a right circular cylinder (see fig.~\ref{fig:cylinder}). \begin{figure}[ht] @@ -766,7 +663,7 @@ This shape is a right circular cylinder (see fig.~\ref{fig:cylinder}). \paragraph{Parameters:} \begin{itemize} -\item radius of the circular base $R$. +\item radius of the circular base $R$, \item height $H$. \end{itemize} @@ -774,12 +671,12 @@ This shape is a right circular cylinder (see fig.~\ref{fig:cylinder}). \begin{itemize} \item volume $V = \pi R^2 H$, \item particle surface seen from above $S=\pi R^2$. -%\item radius of gyration + \end{itemize} -\subsection{Expression of the form factor} +\paragraph{Expression of the form factor} \begin{equation*} -F_{\rm{Cylinder}}(\mathbf{q},R, H)= 2\pi +F(\mathbf{q},R, H)= 2\pi R^2 H \sinc\left(q_ z \frac{H}{2}\right) \exp\left(i q_ z \frac{H}{2}\right) \frac{J_1(q_{\parallel} R )}{q_{\parallel} R }, \end{equation*} with $q_{\parallel}=\sqrt{q_x^2+q_y^2}$ and $J_1(x)$ is the first order @@ -789,27 +686,25 @@ Bessel function of the first kind \cite{AbSt64}. \newpage -\subsection{Examples} +\paragraph{Example}\mbox{}\\ Figure~\ref{fig:FFcylinderEx} shows the normalized intensity $|F|^2/V^2$, computed with $R=8$~nm and \mbox{$H=16$~nm.} \begin{figure}[h] \begin{center} \includegraphics[width=\textwidth]{Figures/figffcylinder} \end{center} -\caption{Normalized intensity for the form factor of a cylinder -$|F|^2/V^2$, plotted against ($q_z$, $q_y$) and ($q_x$, $q_y$.) It -has been computed with $R=8$~nm and $H=16$~nm.} +\caption{Normalized intensity for the form factor of a cylinder plotted against ($q_y$, $q_z$) and ($q_x$, $q_y$.) It +has been computed with \Code{FormFactorCylinder(8.*nanometer, 16.*nanometer)}.} \label{fig:FFcylinderEx} \end{figure} \FloatBarrier -%\subsection{References} \newpage{\cleardoublepage} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Ellipsoidal cylinder} \SecLabel{EllipsoidalCylinder} -\subsection{Real-space geometry} +\paragraph{Real-space geometry}\mbox{}\\ This is a cylinder whose cross section is an ellipse. \begin{figure}[ht] @@ -833,13 +728,12 @@ This is a cylinder whose cross section is an ellipse. \begin{itemize} \item volume $V = \pi r_a r_bH$, \item particle surface seen from above $S = r_a r_b$. -%\item radius of gyration \end{itemize} -\subsection{Expression of the form factor} +\paragraph{Expression of the form factor} The total form factor is given by \begin{equation*} -F_{\rm{EllipsoidalCylinder}}(\mathbf{q},R,W,H) = 2\pi r_a r_b H \exp\left(i\frac{q_z +F(\mathbf{q},R,W,H) = 2\pi r_a r_b H \exp\left(i\frac{q_z H}{2}\right)\sinc\left(\frac{q_z H}{2}\right) \frac{J_1(\gamma)}{\gamma}, \end{equation*} with $\gamma=\sqrt{(q_x r_a)^2+(q_y r_b)^2}$ and $J_1(x)$ is the first order @@ -850,7 +744,7 @@ Bessel function of the first kind \cite{AbSt64}. \newpage -\subsection{Examples} +\paragraph{Example}\mbox{}\\ Figure~\ref{fig:FFellipscylinderEx} shows the normalized intensity $|F|^2/V^2$, computed with $r_a=13$~nm, $r_b=8$~nm, and $H=16$~nm. \begin{figure}[h] @@ -858,12 +752,11 @@ $|F|^2/V^2$, computed with $r_a=13$~nm, $r_b=8$~nm, and $H=16$~nm. \includegraphics[width=\textwidth]{Figures/figffellipscylinder} \end{center} \caption{Normalized intensity for the form factor of an ellipsoidal - cylinder $|F|^2/V^2$, plotted against ($q_z$, $q_y$) and ($q_x$, - $q_y$) and computed with $r_a=8$~nm, $r_b=13$~nm, and $H=16$~nm.} + cylinder plotted against ($q_y$, $q_z$) and ($q_x$, + $q_y$) and computed with \Code{FormFactorEllipsoidalCylinder(8.*nanometer, 13.*nanometer, 16*nanometer)}.} \label{fig:FFellipscylinderEx} \end{figure} - %\subsection{References} %This form factor is referred to as "Ellipsoid'' in \Code{ISGISAXS}. @@ -871,7 +764,7 @@ $|F|^2/V^2$, computed with $r_a=13$~nm, $r_b=8$~nm, and $H=16$~nm. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Cone} \SecLabel{Cone} -\subsection{Real-space geometry} +\paragraph{Real-space geometry} This shape is a truncated cone as shown in fig.~\ref{fig:cone}. \begin{figure}[ht] @@ -895,45 +788,39 @@ This shape is a truncated cone as shown in fig.~\ref{fig:cone}. \paragraph{Properties:} \begin{itemize} -\item volume $V = \dfrac{\pi}{3} \tan(\alpha) R^3 \Big[ - 1 - (1- \dfrac{H}{\tan(\alpha)R})^3\Big]$, +\item volume $V = \dfrac{\pi}{3} \tan(\alpha) R^3 \left[ + 1 - \left(1- \dfrac{H}{\tan(\alpha)R}\right)^3\right]$, \item particle surface seen from above $S=\pi R^2$. -%\item radius of gyration \end{itemize} -\subsection{Expression of the form factor} +\paragraph{Expression of the form factor} \begin{equation*} -F_{\rm{Cone}}(\mathbf{q}, R, H, \alpha) = \int_0 ^H 2\pi R_z^2 +F(\mathbf{q}, R, H, \alpha) = \int_0 ^H 2\pi R_z^2 \frac{J_1(q_{\parallel}R_z)}{q_{\parallel} R_z}\exp(iq_z z)dz, \end{equation*} -with $R_z =R-\frac{z}{\tan \alpha}$, $\mathbf{q}_{\parallel}=\sqrt{q_x^2+ q_y^2}$ and $J_1(x)$ is the first order +with $R_z =R-\dfrac{z}{\tan \alpha}$, $\mathbf{q}_{\parallel}=\sqrt{q_x^2+ q_y^2}$ and $J_1(x)$ is the first order Bessel function of the first kind \cite{AbSt64}. \paragraph{Syntax:} \Code{FormFactorCone(radius, height, alpha)}. -\subsection{Examples} +\paragraph{Example}\mbox{}\\ Figure~\ref{fig:FFConeEx} shows the normalized intensity $|F|^2/V^2$, computed with $R=10$~nm, $H=13$~nm, and $\alpha=60^{\circ}$. \begin{figure}[h] \begin{center} \includegraphics[width=\textwidth]{Figures/figffcone} \end{center} -\caption{Normalized intensity for the form factor of a Cone - $|F|^2/V^2$, plotted against ($q_z$, $q_y$) and ($q_x$, $q_y$.) It - has been computed with $R=10$~nm, $H=13$~nm, - and $\alpha=60^{\circ}$.} +\caption{Normalized intensity for the form factor of a Cone plotted against ($q_y$, $q_z$) and ($q_x$, $q_y$.) It + has been computed with \Code{FormFactorCone(10.*nanometer,13.*nanometer, 60.*degree)}.} \label{fig:FFConeEx} \end{figure} - %\subsection{References} - - \newpage{\cleardoublepage} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Full Sphere} \SecLabel{FullSphere} -\subsection{Real-space geometry} +\paragraph{Real-space geometry}\mbox{}\\ The full sphere is parametrized by its radius $R$. @@ -958,35 +845,34 @@ The full sphere is parametrized by its radius $R$. %\item radius of gyration \end{itemize} -\subsection{Expression of the form factor} -\begin{equation} -F_{\rm{FullSphere}}(\mathbf{q},R) = 4\pi R^3 \exp(iq_z R)\frac{\sin(q R) - q R \cos(q R)}{(qR)^3}, -\end{equation} +\paragraph{Expression of the form factor} +\begin{equation*} +F(\mathbf{q},R) = 4\pi R^3 \exp(iq_z R)\frac{\sin(q R) - q R \cos(q R)}{(qR)^3}, +\end{equation*} where $q=\sqrt{q_x^2 + q_y^2 + q_z^2}$. \paragraph{Syntax:} \Code{FormFactorFullSphere(radius)} \newpage -\subsection{Examples} +\paragraph{Example}\mbox{}\\ Figure~\ref{fig:FFfSphereEx} shows the normalized intensity $|F|^2/V^2$, computed with $R=8$~nm. \begin{figure}[h] \begin{center} \includegraphics[width=\textwidth]{Figures/figfffsphere} \end{center} \caption{Normalized intensity for the - form factor of a Full Sphere - $|F|^2/V^2$, plotted against ($q_z$, $q_y$) and ($q_x$, $q_y$) and computed with $R=8$~nm.} + form factor of a Full Sphere plotted against ($q_y$, $q_z$) and ($q_x$, $q_y$) and computed with \Code{FormFactorFullSphere(8.*nanometer)}.} \label{fig:FFfSphereEx} \end{figure} \FloatBarrier -%\subsection{References} + \newpage{\cleardoublepage} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Truncated Sphere}\SecLabel{Sphere} -\subsection{Real-space geometry} +\paragraph{Real-space geometry}\mbox{}\\ This shape is a spherical dome, \textit{i.e.} a portion of a sphere cut off by a plane (perpendicular to $z$-axis) as shown in fig.~\ref{fig:sphere}. @@ -1018,9 +904,9 @@ to $z$-axis) as shown in fig.~\ref{fig:sphere}. %R, & H > R \\ \sqrt{2RH-H^2}, & H < R \end{array}\right. .$ \end{itemize} -\subsection{Expression of the form factor} +\paragraph{Expression of the form factor} \begin{equation*} -F_{\text{TruncatedSphere}}(\mathbf{q},R, H)= 2\pi \exp[i q_z (H-R)]\int_{R-H} ^{R} R_z^2 \frac{J_1(q_{\parallel} R_z) }{q_{\parallel} R_z} \exp(i q_z z) dz, +F(\mathbf{q},R, H)= 2\pi \exp[i q_z (H-R)]\int_{R-H} ^{R} R_z^2 \frac{J_1(q_{\parallel} R_z) }{q_{\parallel} R_z} \exp(i q_z z) dz, \end{equation*} with $J_1(x)$ the first order Bessel function of the first kind \cite{AbSt64}, $q_{\parallel} = @@ -1028,15 +914,14 @@ Bessel function of the first kind \cite{AbSt64}, $q_{\parallel} = \paragraph{Syntax:} \Code{FormFactorTruncatedSphere(radius, height)} -\subsection{Examples} +\paragraph{Example}\mbox{}\\ Figure~\ref{fig:SphereEx} shows the normalized intensity $|F|^2/V^2$, computed with $R=5$~nm and $H=7$~nm: \begin{figure}[h] \begin{center} \includegraphics[width=\textwidth]{Figures/figffsphere} \end{center} -\caption{Normalized intensity for the form factor of a Truncated Sphere - $|F|^2/V^2$, plotted against ($q_z$, $q_y$) and ($q_x$, $q_y$) and - computed with $R=5$~nm and $H=7$~nm.} +\caption{Normalized intensity for the form factor of a Truncated Sphere plotted against ($q_y$, $q_z$) and ($q_x$, $q_y$) and + computed with \Code{FormFactorTruncatedSphere(5.*nanometer, 7.*nanometer)}.} \label{fig:SphereEx} \end{figure} @@ -1050,7 +935,7 @@ Figure~\ref{fig:SphereEx} shows the normalized intensity $|F|^2/V^2$, computed w %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Full Spheroid} \SecLabel{FullSpheroid} -\subsection{Real-space geometry} +\paragraph{Real-space geometry}\mbox{}\\ A full spheroid is generated by rotating an ellipse around the vertical axis (see fig.~\ref{fig:fullspheroid}). @@ -1076,14 +961,12 @@ axis (see fig.~\ref{fig:fullspheroid}). \begin{itemize} \item volume $V =\dfrac{2}{3}R^2H$, \item particle surface seen from above $S =\pi R^2$. -%\item radius of gyration \end{itemize} -\subsection{Expression of the form factor} +\paragraph{Expression of the form factor} \begin{equation*} -F_{\rm{FullSpheroid}}(\mathbf{q}, R, H) = 4\pi \exp(i q_z H/2) \int_0 ^{H/2}R_z ^2 +F(\mathbf{q}, R, H) = 4\pi \exp(i q_z H/2) \int_0 ^{H/2}R_z ^2 \frac{J_1(q_{\parallel}R_z)}{q_{\parallel}R_z} \cos(q_z z) dz, -with \end{equation*} with $J_1(x)$ the first order Bessel function of the first kind \cite{AbSt64}, @@ -1091,17 +974,17 @@ $R_z = R\sqrt{1-\frac{4z^2}{H^2}}$, $\gamma_z = \sqrt{(q_x R_z)^2+(q_y R_z)^2}$. \paragraph{Syntax:} \Code{FormFactorFullSpheroid(radius,height)} +\newpage -\subsection{Examples} +\paragraph{Example}\mbox{}\\ Figure~\ref{fig:FFfspheroidEx} shows the normalized intensity $|F|^2/V^2$, computed with $R=10$~nm, and $H=13$~nm. \begin{figure}[h] \begin{center} \includegraphics[width=\textwidth]{Figures/figfffspheroid} \end{center} -\caption{Normalized intensity for the form factor of a full spheroid - $|F|^2/V^2$, plotted against ($q_z$, $q_y$) and ($q_x$, $q_y$) and - computed with $R=10$~nm and $H=13$~nm.} +\caption{Normalized intensity for the form factor of a full spheroid plotted against ($q_y$, $q_z$) and ($q_x$, $q_y$) and + computed with \Code{FormFactorFullSpheroid(10.*nanometer, 13.*nanometer)}.} \label{fig:FFfspheroidEx} \end{figure} @@ -1119,7 +1002,7 @@ $|F|^2/V^2$, computed with $R=10$~nm, and $H=13$~nm. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Truncated Spheroid} \SecLabel{Spheroid} -\subsection{Real-space geometry} +\paragraph{Real-space geometry}\mbox{}\\ This shape is a spheroidal dome: a portion of a full spheroid cut off by a plane perpendicular to the $z$-axis. @@ -1147,12 +1030,11 @@ by a plane perpendicular to the $z$-axis. \item volume $V = \dfrac{\pi R H^2}{f_p} \Big(1-\dfrac{H}{3f_p R}\Big)$, \item particle surface seen from above $S = \left\{\begin{array}{ll} \pi R^2, & H \geq f_pR \\ \pi\left(\dfrac{2RH}{f_p}-\dfrac{H^2}{f_p^2}\right), & H < R \end{array}\right.$. -%\item radius of gyration \end{itemize} -\subsection{Expression of the form factor} +\paragraph{Expression of the form factor} \begin{equation*} -F_{\rm{TruncatedSpheroid}}(\mathbf{q},R, H,f_p) = 2\pi \exp[iq_z(H-f_pR)] \int_{f_p R-H} ^{f_p R} R_z +F(\mathbf{q},R, H,f_p) = 2\pi \exp[iq_z(H-f_pR)] \int_{f_p R-H} ^{f_p R} R_z ^2\frac{J_1(q_{\parallel}R_z)}{q_{\parallel}R_z} \exp(i q_z z) dz \end{equation*} with $J_1(x)$ the first order @@ -1160,7 +1042,7 @@ Bessel function of the first kind \cite{AbSt64}, $q_{\parallel}=\sqrt{q_x^2+q_y^ \paragraph{Syntax:} \Code{FormFactorTruncatedSpheroid(radius, height, height\_flattening)} -\subsection{Examples} +\paragraph{Example}\mbox{}\\ Figure~\ref{fig:FFspheroidEx} shows the normalized intensity $|F|^2/V^2$, computed with $R=7.5$~nm, $H=9$~nm and $f_p=1.2$. @@ -1168,9 +1050,8 @@ $|F|^2/V^2$, computed with $R=7.5$~nm, $H=9$~nm and $f_p=1.2$. \begin{center} \includegraphics[width=\textwidth]{Figures/figffspheroid} \end{center} -\caption{Normalized intensity for the form factor of a Truncated Spheroid - $|F|^2/V^2$, plotted against ($q_z$, $q_y$) and ($q_x$, $q_y$) and - computed with $R=7.5$~nm, $H=9$~nm, and $f_p=1.2$.} +\caption{Normalized intensity for the form factor of a Truncated Spheroid plotted against ($q_z$, $q_y$) and ($q_x$, $q_y$) and + computed with \Code{FormFactorTruncatedSpheroid(7.5*nanometer, 9.*nanometer, 1.2)}.} \label{fig:FFspheroidEx} \end{figure} @@ -1184,7 +1065,7 @@ $|F|^2/V^2$, computed with $R=7.5$~nm, $H=9$~nm and $f_p=1.2$. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Hemi ellipsoid} \SecLabel{HemiEllipsoid} -\subsection{Real-space geometry} +\paragraph{Real-space geometry}\mbox{}\\ This shape is a truncated ellipsoid as shown in fig.~\ref{fig:hemiellipsoid}. \begin{figure}[ht] @@ -1208,12 +1089,11 @@ This shape is a truncated ellipsoid as shown in fig.~\ref{fig:hemiellipsoid}. \begin{itemize} \item volume $V = \dfrac{2}{3}\pi r_a r_bH$, \item particle surface seen from above $S =\pi r_a r_b$. -%\item radius of gyration \end{itemize} -\subsection{Expression of the form factor} +\paragraph{Expression of the form factor} \begin{equation*} -F_{\rm{hemi-ellipsoid}}(\mathbf{q},r_a,r_b,H) = 2\pi \int_0 ^{H} r_{a,z} r_{b,z} +F(\mathbf{q},r_a,r_b,H) = 2\pi \int_0 ^{H} r_{a,z} r_{b,z} \frac{J_1(\gamma_z)}{\gamma_z}\exp(iq_z z)dz, \end{equation*} with $J_1(x)$ the first order @@ -1224,7 +1104,7 @@ Bessel function of the first kind \cite{AbSt64}, $r_{a,z} = r_a \sqrt{1-\left(\d \newpage -\subsection{Examples} +\paragraph{Example} \mbox{}\\ Figure~\ref{fig:FFhemiellipsEx} shows the normalized intensity $|F|^2/V^2$, computed with $r_a=10$~nm, $r_b=6$~nm and $H=8$~nm. @@ -1232,9 +1112,8 @@ $|F|^2/V^2$, computed with $r_a=10$~nm, $r_b=6$~nm and $H=8$~nm. \begin{center} \includegraphics[width=\textwidth]{Figures/figffhemiellips} \end{center} -\caption{Normalized intensity for the form factor of an Hemi-Ellipsoid - $|F|^2/V^2$, plotted against ($q_z$, $q_y$) and ($q_x$, $q_y$) - computed with $r_a=10$~nm, $r_b=6$~nm, and $H=8$~nm.} +\caption{Normalized intensity for the form factor of an Hemi-Ellipsoid plotted against ($q_y$, $q_z$) and ($q_x$, $q_y$) + computed with \Code{FormFactorHemiEllipsoid(10.*nanometer, 6.*nanometer, 8.*nanometer)}.} \label{fig:FFhemiellipsEx} \end{figure} \FloatBarrier @@ -1244,12 +1123,11 @@ $|F|^2/V^2$, computed with $r_a=10$~nm, $r_b=6$~nm and $H=8$~nm. %Problem when running \Code{ISGISAXS}. %In \Code{IsGISAXS} manual, where does the minus sign in exp(-iq\_z z) %come from? - \newpage{\cleardoublepage} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Ripple1} \SecLabel{Ripple1} -\subsection{Real-space geometry} +\paragraph{Real-space geometry}\mbox{}\\ This shape has a sinusoidal profile (see fig.~\ref{fig:ripple1}). \begin{figure}[ht] @@ -1275,16 +1153,16 @@ This shape has a sinusoidal profile (see fig.~\ref{fig:ripple1}). \item particle surface seen from above $S = L W$. \end{itemize} -\subsection{Expression of the form factor} +\paragraph{Expression of the form factor} \begin{align*} -F_{\rm{ripple1}}(\mathbf{q},L,W,H) &=L \cdot \frac{W}{\pi}\cdot \sinc\left(\frac{q_xL}{2}\right)\times \\ &\int_0^H{dz \arccos\left(\frac{2z}{H}-1\right)\sinc\left[\frac{q_yW}{2\pi}\arccos\left(\frac{2z}{H} - 1\right)\right]\exp\left(iq_zz\right)}, +F(\mathbf{q},L,W,H) &=L \cdot \frac{W}{\pi}\cdot \sinc\left(\frac{q_xL}{2}\right)\times \\ &\int_0^H{dz \arccos\left(\frac{2z}{H}-1\right)\sinc\left[\frac{q_yW}{2\pi}\arccos\left(\frac{2z}{H} - 1\right)\right]\exp\left(iq_zz\right)}, \end{align*} where $\arccos$ is the arc cosine (\textit{i.e.} the inverse operation of cosine). \paragraph{Syntax:} \Code{FormFactorRipple1(length, width, height)} -\subsection{Examples} +\paragraph{Example}\mbox{}\\ Figure~\ref{fig:FFripple1Ex} shows the normalized intensity $|F|^2/V^2$, computed with $L=27$~nm, $W=20$~nm and $H=14$~nm. @@ -1293,20 +1171,17 @@ $|F|^2/V^2$, computed with $L=27$~nm, $W=20$~nm and $H=14$~nm. \includegraphics[width=\textwidth]{Figures/figffripple1} \end{center} \caption{Normalized intensity for the form factor of a ripple1 - $|F|^2/V^2$, plotted against ($q_z$, $q_y$) and ($q_x$, $q_y$) - computed with $L=27$~nm, $W=20$~nm, and $H=14$~nm.} + $|F|^2/V^2$, plotted against ($q_y$, $q_z$) and ($q_x$, $q_y$) + computed with \Code{FormFactorRipple1(27.*nanometer, 20.*nanometer, 14.*nanometer)}.} \label{fig:FFripple1Ex} \end{figure} \FloatBarrier -%\subsection{References} - - \newpage{\cleardoublepage} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Ripple2} \SecLabel{Ripple2} -\subsection{Real-space geometry} +\paragraph{Real-space geometry}\mbox{}\\ This shape has an asymmetric sawtooth profile. \begin{figure}[ht] @@ -1337,9 +1212,9 @@ This shape has an asymmetric sawtooth profile. \item particle surface seen from above $S = L W$. \end{itemize} -\subsection{Expression of the form factor} +\paragraph{Expression of the form factor} \begin{align*} -F_{\rm{ripple2}}(\mathbf{q},L,W,H,d) &=L W +F(\mathbf{q},L,W,H,d) &=L W \sinc\left(\frac{q_xL}{2}\right)\times \\ & \int_0^H \left(1-\frac{z}{H}\right) @@ -1352,29 +1227,27 @@ dz \paragraph{Syntax:} \Code{FormFactorRipple2(length, width, height, asymmetry)} -\subsection{Examples} +\paragraph{Examples} Figure~\ref{fig:FFripple2Ex} shows the normalized intensity -$|F|^2/V^2$, computed with $L=36$~nm, $W=25$~nm, $H=14$~nm, and $d=3$~mm. +$|F|^2/V^2$, computed with $L=36$~nm, $W=25$~nm, $H=14$~nm, and $d=3$~nm. \begin{figure}[h] \begin{center} \includegraphics[width=\textwidth]{Figures/figffripple2} \end{center} -\caption{Normalized intensity for the form factor of a ripple2 - $|F|^2/V^2$, plotted against ($q_z$, $q_y$) and ($q_x$, $q_y$) - computed with $L=36$~nm, $W=25$~nm, $H=14$~nm, and $d=3$~mm.} +\caption{Normalized intensity for the form factor of a ripple2 plotted against ($q_y$, $q_z$) and ($q_x$, $q_y$) + computed with \Code{FormFactorRipple2(36.*nanometer, 25.*nanometer, 14.*nanometer, 3.*nanometer)}.} \label{fig:FFripple2Ex} \end{figure} \FloatBarrier - \newpage{\cleardoublepage} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Distorted Wave Born Approximation} The previous sections of this appendix on form factors have dealt with the Born approximation. In this case the form factor is given by a single integral over the particle shape (see equation~\ref{ffformulaBA}). But this approximation fails when multiple reflections and refractions have to be taken into account at interfaces because of the presence of underlying layers of materials and the closeness of the incident angle $\alpha_i$ to the critical angle of total external reflection $\alpha_c$. The first order correction to the scattering theory is the Distorted Wave Born Approximation (DWBA), whereas the Born approximation is the zeroth order. \\ -The collective effects between the particles are not considered in this section. They will be dealt with in... We also do not take any polarization effects into account.\\ +The collective effects between the particles are not considered in this section. They will be dealt with in Section~\ref{appendixinterf}. We also do not take any polarization effects into account. They will be described in...\\ In the DWBA, the form factor of a particle in a multilayer system is given by @@ -1383,7 +1256,7 @@ F_{\rm{DWBA}} (\vect{k}_i,\vect{k}_f, r_z) & = T_i T_f F_{\rm{BA}} (\vect{k}_i-\ \nonumber \\ &+ T_i R_f F_{\rm{BA}}(\vect{k}_i-\vect{\widetilde{k}}_f)e^{i(k_{i,z}+k_{f,z})r_z} + R_iR_fF_{\rm{BA}} (\vect{\widetilde{k}}_i-\vect{\widetilde{k}}_f)e^{i(-k_{i,z}+k_{f,z})r_z} \; , \label{eq:dwbageneral} \end{align} -where $F_{\rm{BA}}$ is the expression of the form factor in the Born approximation, $r_z$ is the $z$-coordinate of the particle's position, $\vect{k}_i=(k_{i,x}, k_{i,y}, k_{i,z})$ $\vect{k}_f=(k_{f,x}, k_{f,y}, k_{f,z})$ are the incident and scattered wave vectors in air, respectively. With a tilde (\~{}), these wavevectors components are evaluated in the multilayer system (the refractive indices of the different constituting materials have to be taken into account). +where $F_{\rm{BA}}$ is the expression of the form factor in the Born approximation, $r_z$ is the $z$-coordinate of the particle's position (measured from the bottom of the particle), $\vect{k}_i=(k_{i,x}, k_{i,y}, k_{i,z})$ $\vect{k}_f=(k_{f,x}, k_{f,y}, k_{f,z})$ are the incident and scattered wave vectors in air, respectively \cite{Raus95}. With a tilde (\~{}), these wavevectors components are evaluated in the multilayer system (the refractive indices of the different constituting materials have to be taken into account). $T_i$, $T_f$, $R_i$, $R_f$ are the transmission and reflection coefficients for the incident wave (index $i$) or the scattered one (index $f$). These coefficients can be calculated using the Parratt formalism \cite{Parr54} or the matrix method \cite{BoWo99}. $\vect{k}_i-\vect{k}_f$ is equal to the scattering vector $\vect{q}$ and the $z$-axis is pointing upwards.\\ @@ -1396,6 +1269,9 @@ In the followings, the DWBA will be illustrated for two different layouts of par \item particles deposited on a substrate, \item particles buried in a layer on a substrate. \end{itemize} + +\ImportantPoint{Remark:}{In \BornAgain\ There is no limitation to the number of layers composing the sample.} + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Particles deposited on a substrate} %Substrate modified Born approximation @@ -1404,13 +1280,13 @@ In this configuration, the particles are sitting on top of a substrate layer, in F_{\rm{DWBA}}(q_{\parallel}, k_{i,z}, k_{f,z}) &= F_{\rm{BA}}(q_{\parallel}, k_{i,z}-k_{f,z})+ R_i F_{\rm{BA}}(q_{\parallel}, -k_{i,z}-k_{f,z}) \nonumber \\ &+ R_f F_{\rm{BA}}(q_{\parallel}, k_{i,z}+k_{f,z}) + R_i R_f F_{\rm{BA}}(q_{\parallel},-k_{i,z}+k_{f,z}), \label{eq:dwbaair} \end{align} -where $q_{\parallel}$ is the component of the scattering beam in the plane of the interface ($\vect{q}=\vect{k}_i-\vect{k}_f$), $k_{i,z}$ and $k_{f,z}$ are the z-component of the incident and scattered beam, respectively. $R_i$, $R_f$ are the reflection coefficients in incidence and reflection. They are defined as $R=\dfrac{k_z+\sqrt{n_s^2k_0^2-|k_{\parallel}|^2}}{k_z-\sqrt{n_s^2 k_0^2-|k_{\parallel}|^2}}$, where $n_s=1-\delta_s -i \beta_s$ is the refractive index of the substrate, $k_0$ is the wavelength in vacuum ($2\pi /\lambda$), $k_z$ and $k_{\parallel}$ are the $z$-component and the in-plane component of $\vect{k}_i$ or $\vect{k}_f$. \\ +where $q_{\parallel}$ is the component of the scattering beam in the plane of the interface ($\vect{q}=\vect{k}_i-\vect{k}_f$), $k_{i,z}$ and $k_{f,z}$ are the z-component of the incident and scattered beam, respectively. $R_i$, $R_f$ are the reflection coefficients in incidence and reflection. They are defined as\\ $R=\dfrac{k_z+\sqrt{n_s^2k_0^2-|k_{\parallel}|^2}}{k_z-\sqrt{n_s^2 k_0^2-|k_{\parallel}|^2}}$, where $n_s=1-\delta_s -i \beta_s$ is the refractive index of the substrate, $k_0$ is the wavelength in vacuum ($2\pi /\lambda$), $k_z$ and $k_{\parallel}$ are the $z$-component and the in-plane component of $\vect{k}_i$ or $\vect{k}_f$. \\ \ImportantPoint{Remark:}{If the particles are sitting on a multilayered system, the expression of the form factor in the DWBA is obtained by replacing the Fresnel coefficient by the corresponding coefficients of the underlying layers \cite{Parr54,BoWo99}.} \vspace{18pt} -Figure~\ref{fig:SchemDWBA} illustrates the four scattering processes for a supported particle, taken into account in the DWBA. The first term of eq.~\ref{eq:dwbaair} corresponds to the Born approximation. Each term is weighted by a Fresnel coefficient. +Figure~\ref{fig:SchemDWBA} illustrates the four scattering processes for a supported particle, taken into account in the DWBA. The first term of eq.~\ref{eq:dwbaair} corresponds to the Born approximation. Each term of $F_{\rm{DWBA}}$ is weighted by a Fresnel coefficient. \begin{figure}[h] \begin{center} @@ -1421,7 +1297,7 @@ Figure~\ref{fig:SchemDWBA} illustrates the four scattering processes for a suppo \end{figure} -Script~\ref{lst:badwba} illustrates the difference between BA and DWBA in \BornAgain and figure~\ref{fig:spheroidbadwba} shows the intensity contourplot generated using this script with (full) spheroids as particles. This script considers the simple case of: +Script~\ref{lst:badwba} illustrates the difference between BA and DWBA in \BornAgain\ when generating the sample. We consider the simple case of: \begin{itemize} \item one kind of particles' shape, \item no interference between the particles, @@ -1429,16 +1305,16 @@ Script~\ref{lst:badwba} illustrates the difference between BA and DWBA in \BornA \item in the BA, a sample composed of the particles in air. \end{itemize} +Figure~\ref{fig:spheroidbadwba} shows the intensity contourplot generated using this script with truncated spheroids as particles. Note that the full \Python\ script UMFormFactorBA\_DWBA.py is available in folder Examples/Python/UserManual/. -\begin{lstlisting}[language=python, style=eclipseboxed,numbers=none,nolol,caption={\Code{Python} script to generate figure~\ref{fig:spheroidbadwba}. The difference between BA and DWBA in this simple case is the absence or presence of a substrate layer in the sample.},label={lst:badwba}] -import numpy -import matplotlib -import pylab -from libBornAgainCore import * +\newpage + +\begin{lstlisting}[language=python, style=eclipseboxed,numbers=none,nolol,caption={\Code{Python} script to generate a sample using Born or Distorted Wave Born Approximation. The difference between BA and DWBA in this simple case is the absence or presence of a substrate layer in the sample.},label={lst:badwba}] def get_sample(): """ - Build and return the sample to calculate formfactor in Born or Distorted Wave Born Approximation. + Build and return the sample to calculate form factor of + truncated spheroid in Born or Distorted Wave Born Approximation. """ # defining materials m_ambience = HomogeneousMaterial("Air", 0.0, 0.0) @@ -1446,47 +1322,25 @@ def get_sample(): m_particle = HomogeneousMaterial("Particle", 6e-4, 2e-8) # collection of particles - ff= FormFactorSpheroid(7.5*nanometer, 9.0*nanometer, 1.2) + ff= FormFactorTruncatedSpheroid(7.5*nanometer, 9.0*nanometer, 1.2) particleshape = Particle(m_particle, ff) particle_layout = ParticleLayout() particle_layout.addParticle(particleshape, 0.0, 1.0) + + # interferences interference = InterferenceFunctionNone() particle_layout.addInterferenceFunction(interference) + + # assembling the sample air_layer = Layer(m_ambience) air_layer.setLayout(particle_layout) substrate_layer = Layer(m_substrate, 0) - # Sample = particles in air for BA or particles in air and sitting on a substrate for DWBA multi_layer = MultiLayer() multi_layer.addLayer(air_layer) - # Add substrate layer for DWBA - # Comment the following line out for BA + # Comment the following line out for Born Approximation multi_layer.addLayer(substrate_layer) return multi_layer - -def get_simulation(): - """ - Create and return GISAXS simulation with beam and detector defined - """ - simulation = Simulation() - simulation.setDetectorParameters(200, 0.0*degree, 2.0*degree, 200, 0.0*degree, 2.0*degree, True) - simulation.setBeamParameters(1.0*angstrom, 0.5*degree, 0.0*degree) - return simulation - -def run_simulation(): - """ - Run simulation and plot results - """ - sample = get_sample() - simulation = get_simulation() - simulation.setSample(sample) - simulation.runSimulation() - pylab.imshow(numpy.rot90(result, 1), norm=matplotlib.colors.LogNorm(), extent=[0.0, 2.0, 0, 2.0]) - pylab.show() - - -if __name__ == '__main__': - run_simulation() \end{lstlisting} @@ -1496,25 +1350,15 @@ if __name__ == '__main__': \hfill \subfigure[DWB Approximation]{\includegraphics[width=6cm]{Figures/ffspheroidDWBA}} \hfill -\caption{Intensity map of Spheroid form factor in BA and DWBA computing using script~\ref{lst:badwba} and \Code{FormFactorSpheroid(7.5*nanometer, 9.0*nanometer, 1.2)}.} +\caption{Intensity map of TruncatedSpheroid form factor in BA and DWBA computing using script~\ref{lst:badwba} for the sample.} \label{fig:spheroidbadwba} \end{figure} -%\begin{figure}[ht] -%\hfill -%\subfigure[Born Approximation]{\includegraphics[width=5cm]{Figures/ffcubocBA}} -%\hfill -%\subfigure[DWB Approximation]{\includegraphics[width=5cm]{Figures/ffcubocDWBA}} -%\hfill -%\caption{Intensity map of Cuboctahedron form factor in BA and DWBA computing using script~\ref{lst:badwba} and \Code{FormFactorCuboctahedron(20.0*nanometer, 13.0*nanometer, 0.7, 60*degree)}.} -%\label{fig:cuboctbadwba} -%\end{figure} - \FloatBarrier - \ImportantPoint{Remark:}{In \BornAgain, the DWBA is implemented automatically when assembling the sample with more than the air layer.} + \subsection{Buried particles} The system considered in this section consists of particles encapsulated in a layer, which is sitting on a substrate (see fig.~\ref{fig:SchemDWBAburied}). In this case the form factor in the DWBA is given by @@ -1525,13 +1369,13 @@ F_{\rm{DWBA}}(q_{\parallel}, k_{i,z}, k_{f,z}) &= T_i T_f F_{\rm{BA}}(q_{\parall \end{align} \begin{equation*} -R_j =\frac{t^{j}_{0,1}r^{j}_{1,2}\exp(2ik_{j,z})t}{1+r^{j}_{0,1}r^{j}_{1,2}\exp(2ik_{j,z}t)}, \quad T_j=\frac{t^{j}_{0,1}}{1+r^{j}_{0,1}r^{j}_{1,2}\exp(2ik_{j,z}t)}, j=i,f +R_j =\frac{t^{j}_{0,1}r^{j}_{1,2}\exp(2ik_{j,z}t)}{1+r^{j}_{0,1}r^{j}_{1,2}\exp(2ik_{j,z}t)}, \quad T_j=\frac{t^{j}_{0,1}}{1+r^{j}_{0,1}r^{j}_{1,2}\exp(2ik_{j,z}t)}, j=i,f \end{equation*} where $q_{\parallel}$ is the component of the scattering beam in the plane of the interface, $k_{i,z}$ and $k_{f,z}$ are the z-component of the incident and scattered beams, respectively. $d$ is the depth at which the particles are sitting in the layer. Note that this value is given relative to the top of this layer and it is not the coordinate in the absolute referential (linked with the full sample) and it is measured up to the bottom of the particle. $t$ is the thickness of the intermediate layer containing the particles. $R_{i,f}$ and $T_{i,f}$ are the reflection and transmission coefficients in incidence and reflection (they can be calculated using Parratt or matrix formalism). $r^j_{0,1}$, $r^j_{1,2}$ $t^j_{0,1}$ are the reflection and transmission coefficients between layers; the indices are related to different boundaries with 0: air, 1: intermediate layer and 2: substrate layer and the superscript $j$ is associated with the incident or scattered beams: \begin{equation*} r^j_{n,n+1}=\frac{k_{j,z,n}-k_{j,z,n+1}}{k_{j,z,n}-k_{j,z,n+1}}, \qquad t^j_{n,n+1}= \frac{2k_{j,z,n}}{k_{j,z,n}-k_{j,z,n+1}}, \quad n=0,1, \quad j=i,f, \end{equation*} -where $n$ is related to the layers, $z$ to the vertical component, and $j$ to the beams. +where index $n$ is related to the layers, $z$ to the vertical component, and $j$ to the beams (incident and outgoing). \begin{figure}[h] \begin{center} @@ -1547,18 +1391,12 @@ where $n$ is related to the layers, $z$ to the vertical component, and $j$ to th %&+ R_f T_i F_{\rm{BA}}(q_{\parallel}, k_{i,z}+k_{f,z}) + R_f R_iF_{\rm{BA}}(q_{\parallel},-k_{i,z}+k_{f,z}) %\end{align*} -Figure~\ref{fig:dwbaburied} shows a typical example of the output intensity scattered from a sample made of 3 layers: air, substrate, and in between, spherical particles embedded in the middle of a 30~nm-thick layer. This figure had been generated using listing~\ref{lst:dwbaburied}. - -\begin{lstlisting}[language=python, style=eclipseboxed,numbers=none,nolol,caption={\Code{Python} script to generate fig.\ref{fig:dwbaburied}. Spherical particles are embedded in the middle of a layer on a substrate.},label={lst:dwbaburied}] -import numpy -import matplotlib -import pylab -from libBornAgainCore import * - +Figure~\ref{fig:dwbaburied} shows a typical example of the output intensity scattered from a sample made of 3 layers: air, substrate, and in between, spherical particles embedded in the middle of a 30~nm-thick layer. This figure had been generated using listing~\ref{lst:dwbaburied} (The full script UMFormFactor\_Buried\_DWBA.py can be found in /Examples/Python/UserManual. +\begin{lstlisting}[language=python, style=eclipseboxed,numbers=none,nolol,caption={\Code{Python} script to generate a sample where spherical particles are embedded in the middle of a layer on a substrate.},label={lst:dwbaburied}] def get_sample(): """ - Build and return the sample in Distorted Wave Born Approximation. + Build and return the sample with buried spheres in DWBA. """ # defining materials m_ambience = HomogeneousMaterial("Air", 0.0, 0.0) @@ -1571,8 +1409,12 @@ def get_sample(): particleshape = Particle(m_particle, ff) particle_layout = ParticleLayout() particle_layout.addParticle(particleshape,20.1,1.0) + + # interferences interference = InterferenceFunctionNone() particle_layout.addInterferenceFunction(interference) + + # assembling the sample air_layer = Layer(m_ambience) intermediate_layer = Layer(m_interm_layer, 30.*nanometer) intermediate_layer.setLayout(particle_layout) @@ -1583,43 +1425,18 @@ def get_sample(): multi_layer.addLayer(intermediate_layer) multi_layer.addLayer(substrate_layer) return multi_layer - - -def get_simulation(): - """ - Create and return GISAXS simulation with beam and detector defined - """ - simulation = Simulation() - simulation.setDetectorParameters(400, 0., 1.*degree, 400, 0., 1.*degree, True) - simulation.setBeamParameters(1.5*angstrom, 0.15*degree, 0.) - return simulation - -def run_simulation(): - """ - Run simulation and plot results - """ - sample = get_sample() - simulation = get_simulation() - simulation.setSample(sample) - simulation.runSimulation() - result = simulation.getIntensityData().getArray() + 1 # for log scale - - pylab.imshow(numpy.rot90(result, 1), norm=matplotlib.colors.LogNorm(), extent=[0.0, 1.0, 0, 1.0]) - pylab.show() - - -if __name__ == '__main__': - run_simulation() \end{lstlisting} \begin{figure}[ht] \centering \includegraphics[width=0.6\textwidth]{Figures/figIntBuriedPart} -\caption{Map of intensity scattered from a sample made of spherical particles embedded in the middle of a 30~nm-thick layer on a substrate (see Script~\ref{lst:dwbaburied} for details).} +\caption{Map of intensity scattered from a sample made of spherical particles embedded in the middle of a 30~nm-thick layer on a substrate (see Script~\ref{lst:dwbaburied} for details about the sample).} \label{fig:dwbaburied} \end{figure} +\newpage + \ImportantPoint{Remark:}{For layers different from the air layer, the top interface is considered as the reference level to position the encapsulated particles. For example, spheres positioned at depth $d$ (positive) are located at a distance $d$ from the top of the layer up to the bottom of these particles. This convention is different for the top air layer, where particles sitting at the interface with an underlying layer (\textit{i.e.} the bottom of the air layer) are located at depth 0 (see fig.~\ref{fig:depthpartBA}).} @@ -1630,14 +1447,15 @@ if __name__ == '__main__': \label{fig:depthpartBA} \end{figure} -\newpage{\cleardoublepage} +\newpage + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Core-shell particles} \BornAgain\ also offers the possibility to simulate more complicated shapes of particles by combining those listed in the previous sections. To generate a core-shell particle, the combination is performed using the following command:\\ \Code{ParticleCoreShell(shell\_particle, core\_particle, relative\_core\_position)},\\ where \Code{shell\_particle} and \Code{core\_particle} are the outer and inner parts of the core-shell particle, respectively. They refer to one of the form factors defined previously and to an associated material. For example, for the outer part,\\ \Code{shell\_particle=Particle(material\_shell, outer\_form\_factor)},\\ where \Code{material\_shell} is the material of the shell and \Code{outer\_form\_factor} is the shape of the outer part (cf. listing~\ref{lst:cshellsample}). \\ \Code{relative\_core\_position} defines the position of the centre of gravity of the inner shape with respect to the outer one. An example in fig.~\ref{fig:coreshell} shows a core shell particle made of a box for the outer part and of a shifted pyramidal shape for the inner one.\\ -Figure~\ref{fig:FFCoreShellBA} displays the output intensity scattered in the Born Approximation using the code listed in~\ref{lst:cshellsample} to generate the sample, and the incident angles $\alpha_i= 0.2^{\circ}$ and $\phi_i=0^{\circ}$. +Figure~\ref{fig:FFCoreShellBA} displays the output intensity scattered in the Born Approximation using the code listed in~\ref{lst:cshellsample} to generate the core-shell particle. The full script can be found at /Examples/python/UserManual/UMFormFactor\_CoreShell.py. \begin{figure}[ht] \hfill @@ -1652,16 +1470,6 @@ Figure~\ref{fig:FFCoreShellBA} displays the output intensity scattered in the Bo \begin{lstlisting}[language=python, style=eclipseboxed,numbers=none,nolol,caption={\Code{Python} script to create a core-shell particle made of a box with a pyramidal shifted inset.},label={lst:cshellsample}] -def get_sample(): - """ - Build and return the sample to calculate core-shell formfactor in Born Approximation. - """ - # defining materials - m_air = HomogeneousMaterial("Air", 0.0, 0.0) - m_shell = HomogeneousMaterial("Shell", 1e-4, 2e-8) - m_core = HomogeneousMaterial("Core", 6e-5, 2e-8) - - # collection of particles outer_ff = FormFactorBox(16.0*nanometer, 16.0*nanometer, 8.0*nanometer) inner_ff = FormFactorPyramid(12.0*nanometer, 7.0*nanometer, 60.0*degree) shell_particle = Particle(m_shell, outer_ff) @@ -1669,25 +1477,13 @@ def get_sample(): core_position = kvector_t(1.5, 0.0, 0.0) particle = ParticleCoreShell(shell_particle, core_particle, core_position) - particle_layout= ParticleLayout() - particle_layout.addParticle(particle) - interference = InterferenceFunctionNone() - particle_layout.addInterferenceFunction(interference) - - air_layer = Layer(m_air) - air_layer.setLayout(particle_layout) - - multi_layer = MultiLayer() - multi_layer.addLayer(air_layer) - - return multi_layer \end{lstlisting} \begin{figure}[h] \begin{center} \includegraphics[width=0.6\textwidth]{Figures/CoreShellParallPyr} \end{center} -\caption{Intensity map of a core-shell form factor in Born Approximation using \Code{FormFactorBox(16*nanometer, 16*nanometer, 8*nanometer)} and \Code{FormFactorPyramid(12*nanometer, 7*nanometer, 60*degree)} for the outer and inner shells, respectively. The core particle is shifted by 1.5~nm in the $x$-direction with respect to the centre of the outer shell. The sample used to generate this figure is listed in~\ref{lst:cshellsample}. There is no substrate and no interference between the particles.} +\caption{Intensity map of a core-shell form factor in Born Approximation using \Code{FormFactorBox(16*nanometer, 16*nanometer, 8*nanometer)} and \Code{FormFactorPyramid(12*nanometer, 7*nanometer, 60*degree)} for the outer and inner shells, respectively. The core particle is shifted by 1.5~nm in the $x$-direction with respect to the centre of the outer shell. The sample used to generate the particle is listed in~\ref{lst:cshellsample}. There is no substrate and no interference between the particles.} \label{fig:FFCoreShellBA} \end{figure} diff --git a/Doc/UserManual/interferences.tex b/Doc/UserManual/interferences.tex index 497f7960b7a..17098730498 100644 --- a/Doc/UserManual/interferences.tex +++ b/Doc/UserManual/interferences.tex @@ -1,8 +1,14 @@ \chapter{Collection of particles} \label{appendixinterf} -In the section we are going to describe how to simulate collections of particles using \BornAgain\ \textit{i.e.} the way their spatial distributions and the distribution of shapes and their correlations can influence the output scattered intensity. The samples generated with \BornAgain\ are made of different material layers characterized by their thicknesses, refractive indices, and possible surface roughnesses. Except for the thickness, the other dimensions of the layers are infinite. Particles can be embedded or deposited on the top of any layers. Those particles are characterized by their shapes, refractive indices, their spatial distribution and concentration in the sample. When the particles are densely packed, the distance relative to each other becomes of the same order as the particles' sizes. The radiation scattered from these various particles are going to interfere together. The influence of the particles' shapes has been described in the previous section about form factors. +In the section we are going to describe how to simulate collections of particles using \BornAgain\ \textit{i.e.} the way their spatial distributions and the distribution of shapes and their correlations can influence the output scattered intensity. The samples generated with \BornAgain\ are made of different material layers characterized by their thicknesses, refractive indices, and possible surface roughnesses. Except for the thickness, the other dimensions of the layers are infinite.\\ Particles can be embedded in or deposited on the top of any layers. Those particles are characterized by their shapes, refractive indices, their spatial distribution and concentration in the sample. When the particles are densely packed, the distance relative to each other becomes of the same order as the particles' sizes. The radiation scattered from these various particles are going to interfere together. The influence of the particles' shapes has been described in the previous section about form factors. -We do not consider any multiple scattering, polarisation (see Section...), nor layers' roughness (see Section...).\\ We are first going to give a short overview of the theory involved, mostly in order to define the terminology. For a more complete theoretical description, the user is referred to, for example, \cite{ReLa09}. Then we are going to describe how the interference features have been implemented in \BornAgain\ and give some detailed examples. +We do not consider any multiple scattering, polarisation (see Section...), nor layers' roughness (see Section...).\\ We are first going to give a short overview of the theory involved, mostly in order to define the terminology. For a more complete theoretical description, the user is referred to, for example, reference~\cite{ReLa09}. Then we are going to describe how the interference features have been implemented in \BornAgain\ and give some detailed examples. + + +\MakeRemark{Terminology}{ +\\ +For collections of particles, the scattered intensity contains contributions from neighboring particles. This additional pattern can be called the structure factor, the interference function or even in crystallography, the lattice factor. In this manual, we use the term "interference function" or interferences. +} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Theory} @@ -12,19 +18,15 @@ Considering a set of $N$ particles labeled with index $i$, located at $\mathbf{R I(\mathbf{q}) = \frac{1}{N}\left\langle \left\lvert \sum_i F_i(q)e^{i \mathbf{q}\cdot \mathbf{R}_i}\right\rvert^{2} \right\rangle =\frac{1}{N}\left\langle \sum_i |F_i(\mathbf{q})|^2+\sum_{i \neq j} F_i(\mathbf{q}) F_j ^*(\mathbf{q})\exp(i\mathbf{q}\cdot (\mathbf{R}_i-\mathbf{R}_j)) \right\rangle, \label{eq:interfintensity} \end{equation} -where $\langle\ldots\rangle$ denotes a spatial and temporal average, $\mathbf{q}$ is the wave vector (reciprocal space) and $F_i$ is the form factor of particle $i$ evaluated using the Distorted Wave Born Approximation. +where $\langle\ldots\rangle$ denotes a spatial and temporal average, $\mathbf{q}$ is the wave vector (in reciprocal space) and $F_i$ is the form factor of particle $i$ evaluated using the Distorted Wave Born Approximation. If only the statistical quantities of the system are known (particles' positions and sizes), the discrete sums in equation~\ref{eq:interfintensity} can be replaced by continuous integrals using some probability densities. For example, in two dimensions (which is the case for particles deposited on a surface), the probability per unit surface to find a particle of class $\alpha$ in $\mathbf{R}_{i}$ knowing that there is a particle of type $\beta$ in $\mathbf{R}_{j}$ can be written as $\rho_S^2 g_{\alpha \beta}(R_{i,\alpha},R_{j,\beta})$ where $\rho_S$ is the number of particles per unit surface and $g_{\alpha \beta}$ is the partial pair correlation function, which tends towards 1 as the distance between the particles increases. -\MakeRemark{Terminology}{ -\\ -For collections of particles, the scattered intensity contains contributions from neighboring particles. This additional pattern can be called the structure factor, the interference function or even in crystallography, the lattice factor. In this manual, we use the term "interference function" or interferences. -} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Size-distribution models} -To proceed further, when the morphology and topology are not exactly known, some hypotheses needs to be made since the correlation between the kinds of scatterers and their relative positions included in $g_{\alpha \beta}$ are difficult to estimate. Several options are available: +To proceed further, when the morphology and topology are not exactly known, some hypotheses need to be made since the correlation between the kinds of scatterers and their relative positions included in $g_{\alpha \beta}$ are difficult to estimate. Several options are available: \paragraph{Decoupling approximation (DA)} neglects all correlations. It supposes that the particles are positioned in a way that is completely independent on their kinds (shapes, sizes). Thus the kind of scattering objects and their positions are not correlated. This leads to the following expression of the scattered intensity: @@ -36,16 +38,18 @@ In concentrated systems, DA breaks down because of correlations. One solution is \paragraph{Local monodisperse approximation (LMA)} partially accounts for some coupling between the positions and the kinds of the particles \cite{Pede94}. - It requires a subdivision of the layers of particles into monodisperse domains. The contributions of these subdomains are then incoherently summed up and weighted by the size-shape probabilities. In this approximation, a particle is supposed to be surrounded by particles of the same size and shape, within the coherence length of the input beam. The scattered intensity is expressed as + It requires a subdivision of the layers of particles into monodisperse domains. The contributions of these subdomains are then incoherently summed up and weighted by the size-shape probabilities.\\ In this approximation, a particle is supposed to be surrounded by particles of the same size and shape, within the coherence length of the input beam. The scattered intensity is expressed as \begin{equation*} I(\mathbf{q})= \langle |F(\mathbf{q})|^2 S(\mathbf{q}) \rangle \end{equation*} -One has to remember that in most cases, this approximation corresponds to an unphysical description of the investigated systems. \\ DA and LMA separate the contributions of the form factors and of the interference function. For disordered systems DA and LMA give the same result as the scattering vector gets larger \textit{i.e.} the scattered intensity is dominated by the contribution of the form factor. +One has to remember that in most cases, this approximation corresponds to an unphysical description of the investigated systems. \\ + +DA and LMA separate the contributions of the form factors and of the interference function. For disordered systems DA and LMA give the same result as the scattering vector gets larger \textit{i.e.} the scattered intensity is dominated by the contribution of the form factor. \paragraph{Size spacing correlation approximation (SSCA)} introduces correlations between polydisperse particles and is derived from the paracrystal model (see description below and \cite{LeLa04}). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\subsection{Layout of particles} +\subsection{Layout of particles}\label{sec:partlayout} \ImportantPoint{Remark:}{ The particles are positioned in the same vertical layer.} @@ -56,26 +60,29 @@ For very diluted distributions of particles, the particles are too far apart fro The particles are positioned at regular intervals generating a layout characterised by its base vectors $\mathbf{a}$ and $\mathbf{b}$ (in direct space) and the angle between these two vectors. This lattice can be two or one-dimensional depending on the characteristics of the particles. For example when they are infinitely long, the implementation can be simplified and reduced to a "pseudo" 1D system. -\subsubsection{The ideal paracrystal} +\subsubsection{The ideal paracrystal} A paracrystal, whose notion was developed by Hosemann\cite{Hos51}, allows fluctuations of the lengths and orientations of lattice vectors. Paracrystals can be defined as distorted crystals in which the crystalline order has not disappeared and for which the behavior of the interference functions at small angles is coherent. It is a transition between the regular lattice and the disordered state.\\ -For example, in one dimension, a paracrystal is generated using the following method:\\ -we place a particle at the origin. The second one is put at a distance $x$ with a density probability $p(x)$ that is peaked at a mean value $D$: $\int_{-\infty} ^{\infty}p(x)dx=1$ and $\int_{-\infty}^{\infty}xp(x)dx=D$. The third one is added at a distance $y$ from the second site using the same rule with a density probability $p_2(y)= \int_{-\infty}^{\infty}p(x)p(y-x)dx=p\otimes p(y)$.\\ With such a method, the pair correlation function $g(x)$ is built step by step. Its expression and the one of its Fourier transform, which is the interference function are + + +For example, in one dimension, a paracrystal is generated using the following method. First we place a particle at the origin. The second particle is put at a distance $x$ with a density probability $p(x)$ that is peaked at a mean value $D$: $\int_{-\infty} ^{\infty}p(x)dx=1$ and $\int_{-\infty}^{\infty}xp(x)dx=D$. The third one is added at a distance $y$ from the second site using the same rule with a density probability $p_2(y)= \int_{-\infty}^{\infty}p(x)p(y-x)dx=p\otimes p(y)$.\\ With such a method, the pair correlation function $g(x)$ is built step by step. Its expression and the one of its Fourier transform, which is the interference function are \begin{equation*} -g(x)=\delta(x)+ p(x)+ p(x)\otimes p(x)+\ldots + p(-x)+\ldots \: \mathrm{and}\: S(q)=\Re\left(\dfrac{1+P(q)}{1-P(q)}\right), +g(x)=\delta(x)+ p(x)+ p(x)\otimes p(x)+\ldots + p(-x)+\ldots \: \mathrm{and}\:\, S(q)=\Re\left(\dfrac{1+P(q)}{1-P(q)}\right), \end{equation*} where $P(q)$ is the Fourier transform of the density probability $p(x)$.\\ + + In two dimensions, the paracrystal is constructed on a pseudo-regular lattice with base vectors $\mathbf{a}$ and $\mathbf{b}$ using the following conditions for the densities of probabilities:\\ $\int p_{\mathbf{a}}(\mathbf{r})d^2\mathbf{r}=\int p_{\mathbf{b}}(\mathbf{r})d^2\mathbf{r}=1$, $\int \mathbf{a} p_{\mathbf{a}}(\mathbf{r})d^2\mathbf{r}=\mathbf{a}$, $\int \mathbf{b} p_{\mathbf{b}}(\mathbf{r})d^2\mathbf{r}=\mathbf{b}$.\\ In the ideal case the two axes are decoupled and each unit cell should retain a parallelogram shape. The interference function is given by $S(q_{\parallel})=\prod_{k=a,b}\Re\left(\dfrac{1+P_k(q_{\parallel})}{1-P_k(q_{\parallel})} \right)$ with $P_k$ the Fourier transform of $p_k$, $k=a, b$. \subsubsection{Probability distributions} \label{baftd} -The scattering by an ordered lattice gives rise to a series of Bragg peaks situated at the nodes of the reciprocal lattice defined. Any divergence from the ideal crystalline case modifies the output spectrum by, for example, widening or attenuating the Bragg peaks. The influence of these "defects" can be accounted for - in direct space using correlation functions or by truncating the lattice or, in reciprocal space with structure factors or interference functions by convoluting the scattered pics with a function which could reproduce the experimental shapes. The later option has been implemented in \BornAgain. The Fourier transforms of the probability distribution functions in 1 and 2D are listed in Table~\ref{table:pdf}. They are used in 1 and 2D lattices, and 2D paracrystals. +The scattering by an ordered lattice gives rise to a series of Bragg peaks situated at the nodes of the reciprocal lattice. Any divergence from the ideal crystalline case modifies the output spectrum by, for example, widening or attenuating the Bragg peaks. The influence of these "defects" can be accounted for + in direct space using correlation functions or by truncating the lattice or, in reciprocal space with structure factors or interference functions by convoluting the scattered pics with a function which could reproduce the experimental shapes.\\ The later option has been implemented in \BornAgain. The Fourier transforms of the probability distribution functions in 1 and 2D are listed in Table~\ref{table:pdf}. \begin{table} \centering \begin{tabular}{ccc} -\hline \hline +\hline Function & One dimension & Two dimensions\\ \hline Cauchy & $(1+q^2\omega^2)^{-3/2}$ & $(1 + q_x^2 cl_x^2 + q_y^2 cl_y^2)^{-3/2}$ \\ @@ -83,7 +90,7 @@ Gauss & $\dfrac{1}{2}\exp(-\dfrac{q^2\omega^2}{4})$ & $\frac{1}{2}\exp\left(-\df Voigt & $\dfrac{\eta}{2} \exp\left(-\dfrac{q^2\omega^2}{4}\right) + \dfrac{1 - \eta}{(1 + q^2\omega^2)^{3/2}}$ & $\dfrac{\eta}{2} \exp\left(-\dfrac{q_x^2 cl_x^2+ q_y^2cl_y^2}{4}\right)+ \dfrac{1 - \eta}{(1 + q_x^2 cl_x^2+ q_y^2cl_y^2)^{3/2}}$ \\ \hline \end{tabular} -\caption{List of probability distribution functions in reciprocal space. $\omega$, $cl$ stand for coherence lengths and $\eta$ is a weighting coefficient.} +\caption{List of probability distribution functions in reciprocal space. $\omega$, $cl$ stand for coherence lengths (the index refers to the axis) and $\eta$ is a weighting coefficient.} \label{table:pdf} \end{table} @@ -93,7 +100,7 @@ The Cauchy distribution corresponds to $\exp(-r)$ in real space and the Voigt on \section{Implementation in \BornAgain} \subsection{Size-distribution models} The decoupled approximation, local monodisperse approximation and size spacing correlation approximation can be used in \BornAgain. -The selection is made using function \Code{SimulationParameters()} when defining the characteristics of the simulation. For example, +The selection is made using \Code{SimulationParameters()} when defining the characteristics of the simulation. For example, \begin{lstlisting}[language=python, style=eclipseboxed,numbers=none,nolol] simulation = Simulation() .... @@ -132,41 +139,47 @@ These functions can be used with all interference functions except the case with The interference function is specified when building the sample. It is linked with the particles (shape, material). Examples of implementation are given at the end of each description. \paragraph{Syntax:} - \Code{particle\_layout.addInterferenceFunction(interference\_function)}, -where \Code{particle\_layout} holds the information about the different shapes and their proportions for a given layer of particles, and \Code{interference\_function} is one of the following expressions: + \Code{particle\_layout.addInterferenceFunction(interference\_function)},\\ where \Code{particle\_layout} holds the information about the different shapes and their proportions for a given layer of particles, and \Code{interference\_function} is one of the following expressions: \begin{itemize} \item \Code{InterferenceFunctionNone()} \item \Code{InterferenceFunction1DLattice(lattice\_parameters)} \item \Code{InterferenceFunction1DParaCrystal(peak\_distance, width,corr\_length)} \item \Code{InterferenceFunction2DLattice(lattice\_parameters)} -\item \Code{InterferenceFunction2DParaCrystal(length\_1, length\_2, $\alpha$\_lattice, $\xi$, corr\_length)} +\item \Code{InterferenceFunction2DParaCrystal(length\_1, length\_2, $\alpha$\_lattice, $\xi$, \\ corr\_length)} \end{itemize} -We are now going to describe these interference functions. +We are now going to describe these interference functions.\\ -\ImportantPoint{Remark:}{\Code{InterferenceFunction1DLattice} can only be used for particles which are infinitely long in one of scattering plane's directions like for example a rectangular grating.} +\ImportantPoint{Remark:}{\Code{InterferenceFunction1DLattice} can only be used for particles which are infinitely long in one direction of the sample's surface like for example a rectangular grating.} -\newpage{\cleardoublepage} +\newpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsubsection{\ding{253} \Code{InterferenceFunctionNone()}} \label{paragraphnointerf} The particles are placed randomly in the dilute limit and are considered as individual, non-interacting scatterers. The scattered intensity is function of the form factors only. -\paragraph{Example} The sample is made of a substrate on which are deposited half-spheres. Script~\ref{lst:nointerf} details the commands necessary to reproduce the output shown in fig.~\ref{fig:nointerf}. +\paragraph{Example} The sample is made of a substrate on which are deposited half-spheres. Script~\ref{lst:nointerf} details the commands necessary to generate it. Figure~\ref{fig:nointerf} shows an example of output intensity: Script~\ref{lst:nointerf} + detector + input beam. The full script UMInterferencesNone.py can be found in /Examples/python/UsrManual. -\begin{lstlisting}[language=python, style=eclipseboxed,numbers=none,nolol,caption={\Code{Python} script to simulate a sample made of half-spheres deposited on a substrate layer without any interference. The part specific to the interferences is marked in red italic font.},label={lst:nointerf}] -import numpy -import matplotlib -import pylab -from libBornAgainCore import * +\begin{figure}[h] +\begin{center} +\includegraphics[width=0.5\textwidth]{Figures/HSphere_NoInterf} +\end{center} +\caption{Output intensity scattered from a sample made of half-spheres with no interference between them.} +\label{fig:nointerf} +\end{figure} + +\FloatBarrier +\newpage + +\begin{lstlisting}[language=python, style=eclipseboxed,numbers=none,nolol,caption={\Code{Python} script to simulate a sample made of half-spheres deposited on a substrate layer without any interference. The part specific to the interferences is marked in red italic font.},label={lst:nointerf}] def get_sample(): """ Build and return the sample representing particles with no interference """ # defining materials - m_ambience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0) - m_substrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8) - m_particle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8) + m_ambience = HomogeneousMaterial("Air", 0.0, 0.0) + m_substrate = HomogeneousMaterial("Substrate", 6e-6, 2e-8) + m_particle = HomogeneousMaterial("Particle", 6e-4, 2e-8) # collection of particles sphere_ff = FormFactorTruncatedSphere(5*nanometer, 5*nanometer) sphere = Particle(m_particle, sphere_ff) @@ -174,7 +187,7 @@ def get_sample(): particle_layout.addParticle(sphere, 0.0, 1.0) |interference = InterferenceFunctionNone()| |particle_layout.addInterferenceFunction(interference)| - + # assembling the sample air_layer = Layer(m_ambience) air_layer.setLayout(particle_layout) substrate_layer = Layer(m_substrate, 0) @@ -183,43 +196,8 @@ def get_sample(): multi_layer.addLayer(air_layer) multi_layer.addLayer(substrate_layer) return multi_layer - -def get_simulation(): - """ - Create and return GISAXS simulation with beam and detector - """ - simulation = Simulation() - simulation.setDetectorParameters(100, 0.0*degree, 2.0*degree, 100, 0.0*degree, 2.0*degree, True) - simulation.setBeamParameters(1.0*angstrom, 0.2*degree, 0.0*degree) - return simulation - -def run_simulation(): - """ - Run simulation and plot results - """ - sample = get_sample() - simulation = get_simulation() - simulation.setSample(sample) - simulation.runSimulation() - result = simulation.getIntensityData().getArray() + 1 # for log scale - pylab.imshow(numpy.rot90(result, 1), norm=matplotlib.colors.LogNorm(), extent=[0.0, 2.0, 0, 2.0]) - pylab.show() - -if __name__ == '__main__': - run_simulation() \end{lstlisting} - -\begin{figure}[h] -\begin{center} -\includegraphics[width=0.5\textwidth]{Figures/HSphere_NoInterf} -\end{center} -\caption{Output intensity scattered from a sample made of half-spheres with \textbf{no interference} between them.} -\label{fig:nointerf} -\end{figure} - -\FloatBarrier - \newpage{\cleardoublepage} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsubsection{\ding{253} \Code{InterferenceFunction1DLattice(lattice\_parameters)}} \label{paragraph1dlatt} @@ -236,26 +214,27 @@ where \Code{lattice\_parameters}=(lattice\_length, $\xi$) with lattice\_length \ImportantPoint{Remark:}{By default the long axis of the particles in this 1D lattice is along the beam axis: $\xi=90^{\circ}$.} \vspace{12pt} -A probability distribution function \Code{pdf} has to be chosen from the list in section~\ref{baftd} in order to apply some modifications to the scattering peaks. This function is implemented using \Code{setProbabilityDistributions(pdf)}. %Once defined, a prefactor is applied to the interference function and is equal to $\pi \omega$, where $\omega$ is related to the width of the probability distribution function. +A probability distribution function \Code{pdf} has to be chosen from the list in section~\ref{baftd} in order to apply some modifications to the scattering peaks. This function is implemented using \Code{setProbabilityDistributions(pdf)}. -\paragraph{Example} Instead of giving a full script, whose output is the scattered intensity, we are focusing on how to build a sample using \Code{InterferenceFunction1DLattice} as the interference function in \BornAgain\. Script~\ref{lst:1dlattinterf} details this procedure in \Code{Python}. As mentioned previously, this interference function can only be used with infinitely wide or long particles. Here the sample is made of infinitely long boxes deposited on a substrate (these particles are characterized by their widths and heights). They are also rotated by $90^{\circ}$ in the scattering plane in order to have their long axis perpendicular to the input beam, which is along the $x$-axis. The lattice parameters (the lattice lengths and angle between the lattice main axis and the $x$-axis) are specified using \Code{Lattice1DIFParameters()} and are then used as input parameters of the interference function. +\paragraph{Example:} Instead of giving a full script to generate the scattered intensity plot, we are focusing on how to build a sample using \Code{InterferenceFunction1DLattice} as the interference function in \BornAgain .\\ Script~\ref{lst:1dlattinterf} details this procedure in \Code{Python}. As mentioned previously, this interference function can only be used with infinitely wide or long particles.\\ Here the sample is made of infinitely long boxes deposited on a substrate (these particles are characterized by their widths and heights). They are also rotated by $90^{\circ}$ in the sample surface in order to have their long axis perpendicular to the input beam, along the $x$-axis.\\ + The lattice parameters (the lattice lengths and angle between the lattice main axis and the $x$-axis) are specified using \Code{Lattice1DIFParameters()} and are then used as input parameters of the interference function. -\begin{lstlisting}[language=python, style=eclipseboxed,numbers=none,nolol,caption={\Code{Python} script to generate a sample made of half-spheres deposited on a substrate layer with the 1DLatticeInterference function. The part specific to the interferences is marked in red italic font.},label={lst:1dlattinterf}] +\newpage +\begin{lstlisting}[language=python, style=eclipseboxed,numbers=none,nolol,caption={\Code{Python} script to generate a sample made of infinitely lonx boxes deposited on a substrate layer with the 1DLatticeInterference function. The part specific to the interferences is marked in red italic font.},label={lst:1dlattinterf}] def get_sample(): """ - Build and return the sample with 1DLatticeInterference function . + Build and return the sample with 1DLatticeInterference function """ # defining materials - m_air = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0) - m_substrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8) - m_particle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8) + m_air = HomogeneousMaterial("Air", 0.0, 0.0) + m_substrate = HomogeneousMaterial("Substrate", 6e-6, 2e-8) + m_particle = HomogeneousMaterial("Particle", 6e-4, 2e-8) # collection of particles ff = FormFactorInfLongBox(10.*nanometer, 15.0*nanometer) box = Particle(m_particle, ff) particle_layout = ParticleLayout() transform = Transform3D.createRotateZ(90.0*degree) - particle_layout.addParticle(box, transform) # lattice parameters @@ -292,7 +271,7 @@ def get_sample(): For this particular interference function, the implemented probability distribution function is Gaussian: \begin{equation*} -p(x)=\frac{1}{\omega \sqrt{2\pi}} \exp\left(\dfrac{(x-D)^2}{\omega^2}\right),\qquad P(q_{\parallel})=\exp\left(-\frac{q_{\parallel}^2 \omega^2}{2}\right)\exp(iq_{\parallel}D) +p(x)=\frac{1}{\omega \sqrt{2\pi}} \exp\left(-\dfrac{(x-D)^2}{\omega^2}\right),\qquad P(q_{\parallel})=\exp\left(-\frac{q_{\parallel}^2 \omega^2}{2}\right)\exp(iq_{\parallel}D) \end{equation*} where $\omega\equiv$\Code{width}, $D\equiv$ \Code{peak\_distance}, and $q_{\parallel}=\sqrt{\Re^2(q_x) + \Re^2(q_y)}$ (see fig.~\ref{fig:1dpara}). @@ -304,6 +283,7 @@ where $\omega\equiv$\Code{width}, $D\equiv$ \Code{peak\_distance}, and $q_{\para \label{fig:1dpara} \end{figure} +Using the procedure described in Section~\ref{sec:partlayout}, the interference function of a one-dimensional paracrystal is given by \begin{align*} S_{\mathrm{1DParaCrystal}}(q_{\parallel}) &=\Re \left(\frac{1+\Phi(q_{\parallel}) }{1 - \Phi(q_{\parallel})} \right), \\ @@ -318,67 +298,18 @@ S_{\mathrm{1DParaCrystal}}(q_{\parallel}) &=\Re \left(\frac{1+\Phi(q_{\parallel} \paragraph{Example} To illustrate the 1D paracrystal interference function, we use the same sample as in the case without interference: half-spheres deposited on a substrate. -\begin{lstlisting}[language=python, style=eclipseboxed,numbers=none,nolol,caption={\Code{Python} script to simulate a sample made of half-spheres deposited on a substrate layer and interfering with the "\textbf{1D paracrystal}" model. The part specific to the interferences is marked in red italic font.},label={lst:1dpara}] -import numpy -import matplotlib -import pylab -from libBornAgainCore import * - -def get_sample(): - """ - Build and return the sample representing particles with 1D paracrystal - """ - # defining materials - m_ambience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0) - m_substrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8) - m_particle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8) - # collection of particles - sphere_ff = FormFactorTruncatedSphere(5*nanometer, 5*nanometer) - sphere = Particle(m_particle, sphere_ff) +\begin{lstlisting}[language=python, style=eclipseboxed,numbers=none,nolol,caption={\Code{Python} script to define the 1D paracrystal interference function between half-spheres, where \Code{trsphere} is of type \Code{Particle}.},label={lst:1dpara}] particle_layout = ParticleLayout() - particle_layout.addParticle(sphere, 0.0, 1.0) - |interference = InterferenceFunction1DParaCrystal(25.0*nanometer, 7*nanometer, 1e3*nanometer)| - |particle_layout.addInterferenceFunction(interference)| - - air_layer = Layer(m_ambience) - air_layer.setLayout(particle_layout) - substrate_layer = Layer(m_substrate, 0) - - multi_layer = MultiLayer() - multi_layer.addLayer(air_layer) - multi_layer.addLayer(substrate_layer) - return multi_layer - -def get_simulation(): - """ - Create and return GISAXS simulation with beam and detector - """ - simulation = Simulation() - simulation.setDetectorParameters(100, 0.0*degree, 2.0*degree, 100, 0.0*degree, 2.0*degree, True) - simulation.setBeamParameters(1.0*angstrom, 0.2*degree, 0.0*degree) - return simulation - -def run_simulation(): - """ - Run simulation and plot results - """ - sample = get_sample() - simulation = get_simulation() - simulation.setSample(sample) - simulation.runSimulation() - result = simulation.getIntensityData().getArray() + 1 # for log scale - pylab.imshow(numpy.rot90(result, 1), norm=matplotlib.colors.LogNorm(), extent=[0.0, 2.0, 0, 2.0]) - pylab.show() - -if __name__ == '__main__': - run_simulation() + particle_layout.addParticle(trsphere, 0.0, 1.0) + interference = InterferenceFunction1DParaCrystal(25.0*nanometer, 7*nanometer, 1e3*nanometer) + particle_layout.addInterferenceFunction(interference) \end{lstlisting} \begin{figure}[h] \begin{center} \includegraphics[width=0.5\textwidth]{Figures/HSphere_1DDL} \end{center} -\caption{Output intensity scattered from a sample made of half-spheres with "\textbf{1Dparacrystal}" interference between them. This figure has been generated using Script~\ref{lst:1dpara}.} +\caption{Output intensity scattered from a sample made of half-spheres with 1Dparacrystal interference between them. This figure has been generated using Script~\ref{lst:1dpara} for the interference function. The full script UMInterferences1DParaCrystal.py can be found at /Examples/python/UserManual.} \label{fig:1ddl} \end{figure} @@ -406,21 +337,7 @@ Like for the one-dimensional case, a probability distribution function \Code{pdf \paragraph{Example} The sample used to run the simulation is made of half-spheres deposited on a substrate. The interference function is "2Dlattice" and the particles are located at the nodes of a square lattice with $L_1=L_2=20$~nm, $\mathbf{a}\equiv \mathbf{b}$ and the probability distribution function is Gaussian. We also use the Local Monodisperse Approximation. -\begin{lstlisting}[language=python, style=eclipseboxed,numbers=none,nolol,caption={\Code{Python} script to simulate a sample made of half-spheres deposited on a substrate layer with "2DLattice" interference function. The part specific to the interferences is marked in red italic font.},label={lst:2dlatticeinterf}] -import numpy -import matplotlib -import pylab -from libBornAgainCore import * - -def get_sample(): - """ - Build and return the sample representing particles with 2D lattice interference - """ - # defining materials - m_ambience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0) - m_substrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8) - m_particle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8) - +\begin{lstlisting}[language=python, style=eclipseboxed,numbers=none,nolol,caption={\Code{Python} script to define a 2DLattice interference function between hemi-spherical particles as well as the Local Monodisperse Approximation in \Code{getSimulation()}. The part specific to the interferences is marked in red italic font.},label={lst:2dlatticeinterf}] # lattice parameters |lattice_params = Lattice2DIFParameters()| |lattice_params.m_length_1 = 20.0*nanometer| @@ -431,23 +348,15 @@ def get_sample(): #collection of particles sphere_ff = FormFactorTruncatedSphere(5*nanometer, 5*nanometer) sphere = Particle(m_particle, sphere_ff) - |interference = InterferenceFunction2DLattice(lattice_params)| |pdf = FTDistribution2DGauss(200.0*nanometer/2.0/M_PI, 75.0*nanometer/2.0/M_PI)| |interference.setProbabilityDistribution(pdf)| particle_layout = ParticleLayout() particle_layout.addParticle(sphere, 0.0, 1.0) |particle_layout.addInterferenceFunction(interference)| - - air_layer = Layer(m_ambience) - air_layer.setLayout(particle_layout) - substrate_layer = Layer(m_substrate, 0) - multi_layer = MultiLayer() - multi_layer.addLayer(air_layer) - multi_layer.addLayer(substrate_layer) - return multi_layer - - +\end{lstlisting} + +\begin{lstlisting}[language=python, style=eclipseboxed,numbers=none,nolol] def get_simulation(): """ Create and return GISAXS simulation with beam and detector @@ -459,22 +368,6 @@ def get_simulation(): |sim_params.me_if_approx = SimulationParameters.LMA| |simulation.setSimulationParameters(sim_params)| return simulation - - -def run_simulation(): - """ - Run simulation and plot results - """ - sample = get_sample() - simulation = get_simulation() - simulation.setSample(sample) - simulation.runSimulation() - result = simulation.getIntensityData().getArray() + 1 # for log scale - pylab.imshow(numpy.rot90(result, 1), norm=matplotlib.colors.LogNorm(), extent=[0.0, 2.0, 0, 2.0]) - pylab.show() - -if __name__ == '__main__': - run_simulation() \end{lstlisting} @@ -482,8 +375,8 @@ if __name__ == '__main__': \begin{center} \includegraphics[width=0.5\textwidth]{Figures/HSphere_2Dlattice} \end{center} -\caption{Output intensity scattered from a sample made of half-spheres with \textbf{2DLattice} interference function.} -\label{fig:2dlattice} +\caption{Output intensity scattered from a sample made of half-spheres with 2DLattice interference function. \Python\ script available at {/Examples/python/UserManual/UMInterferences2DLattice.py}.} +\label{fig:2dlatticeintensity} \end{figure} \FloatBarrier @@ -496,89 +389,35 @@ if __name__ == '__main__': \item[] lattice\_angle the angle between the lattice basis vectors $\mathbf{a}, \mathbf{b}$ in direct space, \item[] $\xi$ is the angle defining the lattice orientation (set to $0$ by default). \end{itemize} -Two special configurations have also been implemented: +Two predefined interference functions can be used: \begin{itemize} \item \Code{createSquare(peak\_distance, corr\_length, domain\_size\_1, domain\_size\_2)}\\ where the angle between the base vectors of the lattice is set to $\pi/2$, +it creates a squared lattice, \item \Code{createHexagonal(peak\_distance, corr\_length, domain\_size\_1, domain\_size\_2)}\\ where the angle between the base vectors of the lattice is set to $2\pi/3$ , \end{itemize} where \Code{domain\_size1, 2} are the dimensions of the paracrystal along the main axes,\\ \Code{peak\_distance} is the same in both directions and $\mathbf{a}\equiv \mathbf{x}$.\\ + Probability distribution functions have to be defined. As the two-dimensional paracrystal is defined from two independent 1D paracrystals, we need two of these functions, using\\ \Code{setProbabilityDistributions(pdf\_1, pdf\_2)}, with \Code{pdf\_{1,2}} are related to each main axis of the paracrystal. %If we use a correlation length, a prefactor of $\exp(-(L_{1,2}/corr\_length)$ is applied to the respective probability distribution. -\paragraph{Example} The particles deposited on a substrate are half-spheres. They interference via the 2DParacrystal distribution function. The paracrystal is based on a 2D hexagonal lattice with a Gaussian probability distribution function in reciprocal space. - -\begin{lstlisting}[language=python, style=eclipseboxed,numbers=none,nolol,caption={\Code{Python} script to simulate a sample made of half-spheres deposited on a substrate layer with "2DParacrystal" interference function. The part specific to the interferences is marked in red italic font.},label={lst:2dlatticeinterf}] -import numpy -import matplotlib -import pylab -from libBornAgainCore import * - -def get_sample(): - """ - Build and return the sample representing 2D paracrystal - """ - m_ambience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0) - m_substrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8) - m_particle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8) - - # collection of particles - sphere_ff = FormFactorTruncatedSphere(5*nanometer, 5*nanometer) - sphere = Particle(m_particle, sphere_ff) - particle_decoration = ParticleDecoration() - particle_decoration.addParticle(sphere, 0.0, 1.0) - - |interference = InterferenceFunction2DParaCrystal.createHexagonal(30.0*nanometer,0.0, 40.0*micrometer, 40.0*micrometer)| - |pdf = FTDistribution2DCauchy(1.0*nanometer, 1.0*nanometer)| - |interference.setProbabilityDistributions(pdf, pdf)| - |particle_decoration.addInterferenceFunction(interference)| +\paragraph{Example} The particles deposited on a substrate are half-spheres. They interference via the 2DParacrystal distribution function. The paracrystal is based on a 2D hexagonal lattice with a Gaussian probability distribution function in reciprocal space. Script~\ref{lst:2dlatticeinterf} shows the implementation of the interference function and fig.~\ref{fig:2ddl} an example of output intensity using hemi-spherical particles The full script, UMInterferences2DParacrystal.py is available in /Examples/python/UserManual. - air_layer = Layer(m_ambience) - air_layer.setDecoration(particle_decoration) - - substrate_layer = Layer(m_substrate, 0) - - multi_layer = MultiLayer() - multi_layer.addLayer(air_layer) - multi_layer.addLayer(substrate_layer) - return multi_layer - - -def get_simulation(): - """ - Create and return GISAXS simulation with beam and detector defined - """ - simulation = Simulation() - simulation.setDetectorParameters(100, 0.0*degree, 2.0*degree, 100, 0.0*degree, 2.0*degree, True) - simulation.setBeamParameters(1.*angstrom, 0.2*degree, 0.0*degree) - return simulation - - -def run_simulation(): - """ - Run simulation and plot results - """ - sample = get_sample() - simulation = get_simulation() - simulation.setSample(sample) - simulation.runSimulation() - result = simulation.getIntensityData().getArray() + 1 - pylab.imshow(numpy.rot90(result, 1), norm=matplotlib.colors.LogNorm(), extent=[0.0, 2.0, 0, 2.0]) - pylab.show() - -if __name__ == '__main__': - run_simulation() +\begin{lstlisting}[language=python, style=eclipseboxed,numbers=none,nolol,caption={\Code{Python} script to define a "2DParacrystal" interference function between particles forming an hexagonal monolayer. },label={lst:2dlatticeinterf}] + interference = InterferenceFunction2DParaCrystal.createHexagonal(30.0*nanometer,0.0, 40.0*micrometer, 40.0*micrometer)| + pdf = FTDistribution2DCauchy(1.0*nanometer, 1.0*nanometer) + interference.setProbabilityDistributions(pdf, pdf) + particle_decoration.addInterferenceFunction(interference) \end{lstlisting} - \begin{figure}[h] \begin{center} \includegraphics[width=0.5\textwidth]{Figures/HSphere_2DDL} \end{center} -\caption{Output intensity scattered from a sample made of half-spheres with \textbf{2DParacrystal} interference function.} +\caption{Output intensity scattered from a sample made of half-spheres with 2DParacrystal interference function.} \label{fig:2ddl} \end{figure} @@ -591,7 +430,6 @@ if __name__ == '__main__': \begin{table} \begin{tabular}{lll} \hline -\hline Function & Parameters & Comments\\ \hline \Code{InterferenceFunctionNone} \ref{paragraphnointerf} & None & disordered distribution \\ -- GitLab